pythonazureamazon-web-servicespypipypiserver

How to host a private python package manager in Azure or AWS


I work in a small team of Python developers and we aim to create a private package manager to store our packages. I came cross pypicloud and following its tutorial I've successfully been able to upload and install packages stored in AWS-S3. That's fantastic.

However, the private package manager is launched and hosted locally typing pserve server.ini in the terminal. The package manager is then accessible at http://0.0.0.0:6543/#/. Ideally, I want this server to be:

Question: How to get a secure and private server (python package manager) always up and running in the cloud?


Solution

  • I would go to Azure WebApp on Linux:

    This is roughly just a simple way to deploy a container without the burden of Kubernetes. ACS might be best if you really want a dedicated container solution (there is several orchestrators).

    For the authentication part, htaccess file with basic authentication is supported by pip. This allow to do something like extra-index-url = https://login:password@pypi.myserver.com/simple/. I don't have a prefered tutorial, but google/bing something like "pip private repository" you will have no issue to find answers.

    (full disclosure, I work at MS in the Azure Python SDK team)