Welcome to sphobjinv!
A toolkit for inspection/manipulation of Sphinx objects inventories
When documentation is built using, e.g., Sphinx’s
an inventory of the named objects in the documentation set is dumped
to a file called objects.inv in the html build directory.
(One common location is, doc/build/html, though the exact location will vary
depending on the details of how Sphinx is configured.) This file is read by
generating links in other documentation.
Since version 1.0 of Sphinx (~July 2010), the data in these objects.inv inventories is compressed by
zlib (presumably to reduce storage requirements and improve download speeds; “version 2”),
whereas prior to that date the data was left uncompressed (“version 1”). This compression renders
the files non-human-readable. It is the purpose of this package to enable quick and simple
compression/decompression and inspection of these “version 2” inventory files.
In particular, sphobjinv was developed to satisfy two primary use cases:
For more background on the mechanics of the Sphinx data model and Sphinx cross-references generally, see this talk from PyOhio 2019.
Install sphobjinv via pip:
$ pip install sphobjinv
Or, if you only plan to use the sphobjinv CLI, another option is
$ pipx install sphobjinv
As of Nov 2022, sphobjinv is also available via conda-forge. After activating the desired conda environment:
$ conda install -c conda-forge sphobjinv
Alternatively, sphobjinv is packaged with multiple POSIX distributions and package managers, including:
The project source repository is on GitHub: bskinn/sphobjinv.