By Carlos Fernand… | Mon, 04/18/2022 - 18:49

The Pypi server (pypiserver)

The pypiserver is a minimal Python Package Index (PyPI) compatible server for the package installers (pip or easy_install).     
The Python Package Index (PyPI) is a repository of software for the Python programming language.


Instrumentation Division (ID) use case

Goal: pypiserver as a service to distribute ID build software.


Accessibility to this repository:

Read packages: 

On BNL Campus only as READ only, not authentication required to read packages.

No sensitive or secret data.


Writes / Upload packages:

To write to this repository a selected group of maintainers that will be able to upload packages.

There is not need to mirror content from other repositories.

Anticipated storage for this repository is in order of GB.

Support for publishing content via scripts is needed, along with person interactive publishing capability.


Package Content and Licensing: 

The ID maintainers are responsible of the content of the packages to be uploaded to the repository and their corresponded license. 


Backup and Recovery

The pypi repository is considered to be used as replica. No need special redundancy or high availability.


Current deployment 

1) Currently the pypiserver pilot is hosted at, this instance has a capability to upload and download packages.

2) Local account/password authentication restricted to specific users for uploads.


Future work

 To test integration with the SDCC Auth/Authz infrastructure for account authentication for uploads (in person or programmatically)