mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-28 17:53:35 -05:00
1,017 B
1,017 B
title | date | draft | tags | medium_enabled | |
---|---|---|---|---|---|
Python Packaging: Optional Dependencies | 2020-05-01T00:43:07-04:00 | false |
|
true |
It is possible to make different package group of optional dependencies for a Python package. This is useful if you want to include an extra set of dependencies for developers/maintainers of the package. We can also define a plugin-based package similarly to how OpenAI Gym uses it to denote different categories of environments you can setup.
from setuptools import setup, find_packages
extras = {
'typing': ['mypy~=0.740', 'mypy-extensions~=0.4.0', 'pylint~=2.4.4'],
'testingdocs': ['tox~=3.14.6', 'Sphinx~=3.0.1'],
}
# Meta dependency groups.
extras['all'] = [item for group in extras.values() for item in group]
setup(name='example',
version='0.0.1',
packages=find_packages(),
install_requires=['Flask~=1.1.1'],
extras_require=extras,
)