Hello all! I want to ask you a question regarding something I want to do with my app. The reason I'm asking here is because I understand that Distribute somehow installs itself as "setuptools". (I've never looked into the details of it.) And I want something similar, so maybe you can advise me how to do it. I'm developing a package called `garlicsim`. The package is intended for Python 2.X, but I am also offerring Python 3 support on a different fork called `garlicsim_py3`.(1) So both of these packages live side by side on PyPI, and Python 3 users install `garlicsim_py3`, and Python 2 users install `garlicsim`. The problem is: When third party modules want to use garlicsim, they should have one package name to refer to, not two. Sure, they can do something like this: try: import garlicsim except ImportError: import garlicsim_py3 as garlicsim But I would prefer not to make the developers of these modules do this. Is there a way that `garlicsim_py3` will install itself under the alias `garlicsim`? What I want is for a Python 3 user to be able to `import garlicsim` and refer to the module all the time as `garlicsim`, but that it will really be `garlicsim_py3`. ---------- (1) I've reached the decision to support Python 3 on a fork instead of in the same code base; It's important for me that the code base will be clean, and I would really not want to introduce compatibilty hacks. Thanks, Ram Rachum.