Ordinary twine can be easily used:
$ twine upload --repository-url http://gocheese.host:8080/simple/ \ --username spam --password foo dist/tarball.tar.gz
Also you can permanently configure it:
[pypi] repository: https://gocheese.host/simple/ username: spam password: foo
All metadata information sent by twine
is stored on the disk.
Package creation time will be server’s current time. If twine
send package checksums, then they are checked against.