Setuptools supports installing situational dependencies as stated here: https://setuptools.readthedocs.io/en/latest/userguide/dependency_management.html?highlight=install_requires#optional-dependencies We should separate out our docs and dev dependencies so that we only install what is needed when installing a package from pip. Instal Type | Example | Packages Installed -- | -- | -- Normal | `pip install webqueue2-api` | Everything needed for the API Development | `pip install webqueue2-api[dev] | Everything needed for API + things for development (like pytet) Docs | `pip install webqueue2-api[docs] | Everything needed for the API + things for docs (like mkdocs)