setup.py -- configuration for private / commercial projects

Viewed 8925

What can I put on our setup.py project configuration file to tell the developers that the project is a private/commercial application/library.

Currently I set:

setup(
    name='MyProject',
    version='0.1.0',
    license='(c) My Company',
    ...
)

Any best practice?

Note:

Nowadays, most of the projects are open source, and adhere to the licences model. However, when you work on the industry, software are private. My company works with off-shore companies which may not be aware of the fact that a software can be private. So, I want to bring this fact to their attention by specifying this in the setup.py file. This is why I'm looking for best practices about that.

Conclusion/Solution

For private/proprietary applications, I will follow rth's recommendation:

  • set the license attribute to “Proprietary”,
  • add the classifier “License :: Other/Proprietary License”,
  • and maybe add a LICENSE file.

The template will be something like that:

setup(
    name='MyProject',
    version='0.1.0',
    license="Proprietary",
    classifiers=[
        'License :: Other/Proprietary License',
        ...
    ],
    ...
)

An alternative could be to set “Not open source”, like defined in the cookiecutter-pypackage template.

2 Answers
Related