Search code examples
pythonpackagepypi

For a Closed-source Python Library, do you need a setup.py file or is that just for PyPi publication? This package will only be used amongst my team


I am creating an internally used Python library for my company. I have included a README on the src level. Then have project and tests folders additionally stemming from the src. When we are not planning on publishing publicly, do we need a setup.py file (and additionally a LICENSE file)? Thanks!

Right now my file structure is:

Project/
|-- project/ 
|   |-- __init__.py
|   |-- main.py
|-- tests
|   |-- __init__.py
|   |-- tests.py
|-- README

Solution

  • If you have a private registry for python packages, and you want other team members be able to install it via that, you need a setup.py. Or if you want others be able to install it locally by having .whl, you need a setup.py to build a package and pass it to your teammate.

    You can learn about it here and here.

    And it's a good idea to have a LICENSE file, also for a private package. You can set a proprietary license, to restricts the use, modification, and distribution of the software to only the original licensee.