hexagonal architecture python example