Laurent LAPORTE Laurent LAPORTE -4 years ago 83
Python Question

setup.py -- configuration for private / commercial projects

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.

Answer Source

Technically, there is no fundamental difference between licencing open-source and proprietary software.

In both cases you should include a LICENCE file specifying what can and cannot be done with your software (see this related SO question). It is also advised to add a short copyright / licence header to every code file in your project (in case they get copied outside of the original package folder).

It is possible to mention the licence type in setup.py, however that field is mainly used to display the licence for Python packages uploaded to PyPi. Since your code is not open-source (and won't be uploaded to PyPi), this is not very relevant in your case.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download