# sphobjinv.enum

Helper enums for `sphobjinv`.

`sphobjinv` is a toolkit for manipulation and inspection of Sphinx objects.inv files.

Author

  Brian Skinn (brian.skinn@gmail.com)

File Created

  4 May 2019

Copyright

  (c) 2016-2026 Brian Skinn and community contributors

Source Repository

  https://github.com/bskinn/sphobjinv

Documentation

  https://sphobjinv.readthedocs.io/en/stable

License

  Code: MIT License

  Docs & Docstrings: CC BY 4.0 International License

  See LICENSE.txt for full license terms.

Members

class HeaderFields(*values)

  `Enum` for various inventory-level data items.

  A subset of these `Enum` values is used in various Regex, JSON, and string formatting contexts within class:~sphobjinv.inventory.Inventory and `schema.json_schema`.

  Count = 'count'

    Number of objects contained in the inventory

  Metadata = 'metadata'

    The `str` value of this `Enum` member is accepted as a root-level key in a `dict` to be imported into an `Inventory`. The corresponding value in the `dict` may contain any arbitrary data. Its possible presence is accounted for in `schema.json_schema`.

    The data associated with this key are ignored during import into an `Inventory`.

  Project = 'project'

    Project name associated with an inventory

  Version = 'version'

    Project version associated with an inventory

class SourceTypes(*values)

  `Enum` for the import mode used in instantiating an `Inventory`.

  Since `Enum` keys iterate in definition order, the definition order here defines the order in which `Inventory` objects attempt to parse a source object passed to `Inventory.__init__()` either as a positional argument or via the generic source keyword argument.

  This order DIFFERS from the documentation order, which is alphabetical.

  BytesPlaintext = 'bytes_plain'

    Instantiation from a plaintext objects.inv `bytes`.

  BytesZlib = 'bytes_zlib'

    Instantiation from a zlib-compressed objects.inv `bytes`.

  DictJSON = 'dict_json'

    Instantiation from a `dict` validated against `schema.json_schema`.

  FnamePlaintext = 'fname_plain'

    Instantiation from a plaintext objects.inv file on disk.

  FnameZlib = 'fname_zlib'

    Instantiation from a zlib-compressed objects.inv file on disk.

  Manual = 'manual'

    No source; `Inventory` was instantiated with `project` and `version` as empty strings and `objects` as an empty `list`.

  URL = 'url'

    Instantiation from a zlib-compressed objects.inv file downloaded from a URL.