hexagonal architecture example python