Search code examples
pythonpython-3.xcommand-linepackagepython-packaging

Add aliases to console_scripts inside setup()


I was wondering if there is any way of specifying aliases to a command defined in console_scripts inside entry_points arg of setup().

Can I do something like this?

entry_points={
          'console_scripts': ['[command,alias0,alias1,alias2]=packagename.__main__:main'],
      },

Solution

  • Aliasing absolutely works, but not quite in the way you want it to. As long as a slight amount of code duplication is fine for you, you can do this instead:

    entry_points={
        'console_scripts': [
            'command=packagename.__main__:main',
            'alias0=packagename.__main__:main',
            'alias1=packagename.__main__:main',
            'alias2=packagename.__main__:main'
    ]}