Python Configuration

Overview

Python repositories are where software development teams that develop with Python share their code artifacts (libraries, packages, etc.).

The Python Package Index or PyPi, is the public repository where open source and other publicly available artifacts can be uploaded and downloaded.

However, many businesses, private organizations and projects require private Python repositories so that they can build and share libraries within their teams.

CloudRepo is a private, cloud based, artifact repository which provides private Python repositories, through the same API as PyPi, to its users.

This page will help you get started by helping you setup a CloudRepo Python repository.

Pre-Requisites

Before you can use CloudRepo with Python you’ll need to ensure that you have created a Python Repository as well as a Repository User in the CloudRepo Admin Portal.

If you haven’t done this yet, please see the following instructions for doing so:

Note

For security purposes (mostly because passwords tend to be stored in plaintext), we do not allow your admin user to access artifacts via the repositories. Please create a user in the CloudRepo Administrator Portal.

setup.py File

You will need a setup.py file (sample). This is used for building your python distributions.

If you need an intro to building and packaging Python packages, check out the setuptools documentation.

Configure the ~/.pypirc File

Before you upload, you have to add the following lines to your ~/.pypirc file, substituting the appropriate placeholders:

[distutils]
index-servers =
cloudrepo
pypi

[cloudrepo]
repository: https://[your-organization-name].mycloudrepo.io/repositories/[your-repository-name]
username: [repository-user-email-address]
password: [repository-user-password]

Uploading Python Packages to CloudRepo

To upload to cloudrepo, you’ll need to have twine installed (pip install twine). Then you’ll run the following command:

/usr/local/bin/twine upload dist/* --repository cloudrepo

Files which ar successfully published to CloudRepo are immediately avaialble for retrieval and can be seen in the CloudRepo Administrator Portal.

More importantly, these files will now be able to be downloaded with PiP.

Installing Python Packages from CloudRepo

Now, to install the packages from CloudRepo, run the following command, substituting the appropriate placeholders:

pip install --index-url 'https://[repository-user-email-address]:[repository-user-password]@[your-organization-name].mycloudrepo.io/repositories/[your-repository-name]' [your-package-name]

After this, your package will be installed on your machine.