loot / libloot-python

A Python module that wraps libloot.
GNU General Public License v3.0
6 stars 1 forks source link

Add some documentation #4

Closed Ortham closed 8 years ago

Ortham commented 8 years ago

The Python API needs to be documented, installation/usage instructions need to be provided, and it's probably a good idea to include the C++ API's documentation too.

Ortham commented 8 years ago

The C++ API's documentation is now available at Read The Docs, I'm going to write documentation for the Python wrapper using Sphinx too, so I can interlink directly to parts of the C++ API docs as needed and avoid repeating myself.

Ortham commented 8 years ago

It begins.

Ortham commented 8 years ago

One problem with the online docs - the docs extract strings from the .pyd file, which isn't built on Read The Docs, so there's a lot of blank spaces where there should be content.

I can get around this by sending a request to Read The Docs' webhook URL from AppVeyor after deployment to Bintray has successfully completed. Sphinx's conf.py can then download the artefact for the current revision from Bintray, and use its binary when building the documentation. I should also disable the automatic webhook from the GitHub repo.

However, the .pyd file built on AppVeyor is platform-specific to Windows, and Read The Docs runs on Ubuntu 14.04. I could add a Travis instance and build a binary on Linux that way, but I'd need to be careful to build using GCC 4.8 so that the binary built could then be run on Read The Docs (I usually just install the latest GCC 5, but that requires a newer standard library that isn't installed on RTD containers).

RTD does have Git installed though, so I can use it for getting the current revision.

Ortham commented 8 years ago

I'll have to abandon using autodoc and just document the API manually, because I haven't gotten it to work anywhere other than locally, and the process is getting far too complicated.