1. everyapp project
  2. Sphinx-PyPI-upload




ATTENTION: This is a temporary fork of Jannis Leidel's Sphinx-PyPI-upload. See http://pypi.python.org/pypi/Sphinx-PyPI-upload for details about the original project.

This package contains a setuptools command for uploading Sphinx documentation to the Python Package Index (PyPI) at the dedicated URL packages.python.org.

The upload_sphinx command

upload_sphinx will create the necessary zip file out of an arbitrary documentation directory and posts it to the correct URL.

It's also loosely based on Sphinx' own setuptools command build_sphinx which allows to easily build documentation from the command line.

The upload_sphinx command has the following options:

  • --repository (-r): url of repository [default: http://pypi.python.org/pypi]
  • --show-response: display full response text from server
  • --upload-dir: directory to upload


Assuming there is an Example package with Sphinx documentation to be uploaded to http://packages.python.org, with the following structure:

|-- example.py
|-- setup.cfg
|-- setup.py
|-- docs
|   |-- build
|   |   `-- html
|   |-- conf.py
|   |-- index.txt
|   `-- tips_tricks.txt

As with any other setuptools based command, you can define useful defaults in the setup.cfg of your Python package. The following snippet shows how to set the option defaults of the build_sphinx and upload_sphinx setup.py commands:

source-dir = docs/
build-dir  = docs/build
all_files  = 1

upload-dir = docs/build/html

To build and upload the Sphinx documentation you are now able to run:

$ python setup.py build_sphinx
$ python setup.py upload_sphinx

Alternatively, you can of course just pass the appropriate options directly to the commands:

$ python setup.py build_sphinx --source-dir=docs/ --build-dir=docs/build --all-files
$ python setup.y upload_sphinx --upload-dir=docs/build/html