@node Usage @unnumbered Usage To use it for download purposes, just configure your @file{pip.conf}: @example [install] index-url = http://gocheese.host:8080/simple/ @end example @option{-refresh} URL (@code{/simple/} by default) automatically refreshes metainformation (available versions and their checksums) from the upstream, when queried for package directory listing. @option{-norefresh} prevents upstream queries. @option{-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 @url{https://pypi.org/project/twine/, twine}: @example twine upload --repository-url http://gocheese.host:8080/simple/ \ --username spam \ --password foo dist/tarball.tar.gz @end example Or you can store it permanently in @file{.pypirc}: @example [pypi] repository: https://gocheese.host/simple/ username: spam password: foo @end example If @command{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. It is advisable to run GoCheese under some kind of @url{http://cr.yp.to/daemontools.html, daemontools}. @env{$GOCHEESE_NO_SYNC=1} environment variable turns off filesystem synchronization calls, that could be useful when massively updating the database.