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 |
|
---|---|
Tests |
|
PyPI |
|
Anaconda |
|
Activity |
|
Other |
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:
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.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b664ae9c9df2b56fc48388c7a378907e6f7fd89b7a419d21938519fc65240e32 |
|
MD5 | af6b1b493d7df6a4233a570d5b622b3f |
|
BLAKE2b-256 | 9ad99ae0499cbb2987d1a448e2e2e48be55eb86e5517a675275bb8ea2a53f22f |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 282ff2d304e62f88d771562cb4c73b25cce4d72390943543f1668b1cd2cf20ee |
|
MD5 | adea48eacd60f9a0cc085b9cc1ad9275 |
|
BLAKE2b-256 | de1d3b0e06fc07c34b2eabdbbbbc3abe79f45371a6243aa93b4576b925b51baf |