They can still import those from `network.algorithms.coloring.greedy_coloring`. Without underscore prefixes, they are still public names. Maybe you can reduce the verbosity by pulling them up one level into `networkx.algorithms.coloring` but not further up (keep `__all__` here unchanged but set `__all__ = ['greedy_color']` in `__init__.py`).