I know this has come up before, but can someone point me to a definitive document explaining how and why objects.inv is organized the way it is?
My documentation includes a number of reference targets created by locally written Sphinx extensions. If I dump the contents of an objects.inv from one of the books, I see a listing in this format:
[our extensions' output:]
[Standard (?) output]
dir/subdir1/subdir2 Link Text : dir/subdir1/subdir2.html
lab-name Link Text : dir/filename.html#lab-name
I know from experience, trial-and-error, and a little research here that "std:doc" and "std:label" are namespaces or something of that nature. So, I can use the entries under "std:doc" in :doc: calls like :doc:`dir/subdir1/subdir2` to get a reference to the HTML document over on the right, after the colon, with the "Link Text" used if I don't specify a different link text via :doc:`Different Text <dir/subdir1/subdir2>`. Similarly, I can use "std:label" names in :ref: calls.
Is this documented anywhere in an official or at least authoritative way?
Is the format of objects.inv something that is standardized and maintained compatibly across Sphinx releases?
I inherited the Sphinx extensions that write the special language at the top of the file, so using that information is my problem, but I would like to be sure I understand how Sphinx itself interprets this file.