=> 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.