Skip to main content

Display a warning at the top of module documentation that it has additional requirements.

Project description

Display a warning at the top of module documentation that it has additional requirements.

Docs

Documentation Build Status Docs Check Status

Tests

Travis Build Status Windows Tests Status macOS Tests Status Coverage CodeFactor Grade

PyPI

PyPI - Package Version PyPI - Supported Python Versions PyPI - Supported Implementations PyPI - Wheel

Anaconda

Conda - Package Version Conda - Platform

Activity

GitHub last commit GitHub commits since tagged version Maintenance

Other

License GitHub top language Requirements Status pre-commit

Overview

This extension assumes you have a repository laid out like this:

/
├── chemistry_tools
│   ├── __init__.py
│   ├── formulae
│   │   ├── __init__.py
│   │   ├── compound.py
│   │   ├── formula.py
│   │   ├── parser.py
│   │   └── requirements.txt
│   ├── constants.py
│   └── utils.py
├── doc-source
│   ├── api
│   │   ├── chemistry_tools.rst
│   │   ├── elements.rst
│   │   ├── formulae.rst
│   │   └── pubchem.rst
│   ├── conf.py
│   ├── index.rst
│   └── requirements.txt
├── LICENSE
├── README.rst
├── requirements.txt
├── setup.py
└── tox.ini

The file /chemistry_tools/formulae/requirements.txt contains the additional requirements to run the formulae subpackage. These would be defined in setup.py like this:

setup(
    extras_require = {
        'formulae': [
            'mathematical>=0.1.7',
            'pandas>=1.0.1',
            'pyparsing>=2.2.0',
            'tabulate>=0.8.3',
            'cawdrey>=0.1.2',
            'quantities>=0.12.4',
            ],
    }
)

A message can be displayed in the documentation to indicate that the subpackage has these additional requirements that must be installed.

For instance, this:

.. extras-require:: formulae
    :file: formulae/requirements.txt

will produce this:

doc-source/example.png

The path given in :file: is relative to the package_root variable given in conf.py, which in turn is relative to the parent directory of the sphinx documentation.

I.e, this line:

package_root = "chemistry_tools"

points to /chemistry_tools, and therefore :file: formulae/requirements.txt points to /chemistry_tools/formulae/requirements.txt.

Requirements can also be specified in __pkginfo__.py (using the option :__pkginfo__:), setup.cfg (using the option :setup.cfg::), or by typing in the requirements manually, one per line.

The :scope: option can be used to specify a different scope for additional requirements, such as package, module, class or function. Any string value can be supplied here.

Installation

extras_require can be installed from PyPI or Anaconda.

To install with pip:

$ python -m pip install extras_require

To install with conda:

  • First add the required channels

$ conda config --add channels http://conda.anaconda.org/domdfcoding
$ conda config --add channels http://conda.anaconda.org/conda-forge
  • Then install

$ conda install extras_require

Enable extras_require by adding “sphinxcontrib.extras_require” to the extensions variable in conf.py:

extensions = [
            ...
            "sphinxcontrib.extras_require",
            ]

For more information see https://www.sphinx-doc.org/en/master/usage/extensions/index.html#third-party-extensions .

Future Enhancements

  • Support different methods of defining the requirements, e.g. setup.py or pyproject.toml.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

extras_require-0.2.1.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

extras_require-0.2.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file extras_require-0.2.1.tar.gz.

File metadata

  • Download URL: extras_require-0.2.1.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.10

File hashes

Hashes for extras_require-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b664ae9c9df2b56fc48388c7a378907e6f7fd89b7a419d21938519fc65240e32
MD5 af6b1b493d7df6a4233a570d5b622b3f
BLAKE2b-256 9ad99ae0499cbb2987d1a448e2e2e48be55eb86e5517a675275bb8ea2a53f22f

See more details on using hashes here.

File details

Details for the file extras_require-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: extras_require-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.10

File hashes

Hashes for extras_require-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 282ff2d304e62f88d771562cb4c73b25cce4d72390943543f1668b1cd2cf20ee
MD5 adea48eacd60f9a0cc085b9cc1ad9275
BLAKE2b-256 de1d3b0e06fc07c34b2eabdbbbbc3abe79f45371a6243aa93b4576b925b51baf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page