To use it for download purposes, just configure your pip.conf:
[install] index-url = http://gocheese.host:8080/simple/
-refresh URL (
/simple/ by default) automatically
refreshes metainformation (available versions and their checksums)
from the upstream, when queried for package directory listing.
-norefresh prevents upstream queries.
-gpgupdate is useful mainly for migrated for Pyshop migrated repositories. It forces GPG signature files downloading for all existing package files.
You can upload packages to it with twine:
twine upload --repository-url http://gocheese.host:8080/simple/ \ --username spam \ --password foo dist/tarball.tar.gz
Or you can store it permanently in .pypirc:
[pypi] repository: https://gocheese.host/simple/ username: spam password: foo
twine sends SHA256 checksum in the request, then uploaded
file is checked against it.
Pay attention that you have to manually create corresponding private package directory! You are not allowed to upload anything explicitly flagged as internal package.