Document extra dependencies#325
Conversation
|
|
||
| To build the full documentation one needs: | ||
|
|
||
| * `Sphinx <https://pypi.org/project/Sphinx>`_ version 1.8 or later. |
There was a problem hiding this comment.
I do not know for sure if version >=1.8 is specifically required. Admittedly, I blindly took this from traits.
There was a problem hiding this comment.
Traits needs Sphinx >= 2.1; looks like the README for Traits is out of date there. I think the restriction on the Sphinx version for Traits resulted from the needs of the trait-documenter and the trait-documenter tests. It's probably safe to use an earlier version here, but 2.1 is a good minimum version.
There was a problem hiding this comment.
Created enthought/traits#1320 to fix the Traits README
|
ref: Note this PR is also related to #154 as it updates part of the readme. |
| ] | ||
| }, | ||
| install_requires=["apptools", "setuptools", "traits"], | ||
| extras_require={ |
There was a problem hiding this comment.
I maybe should add "docs": ["enthought-sphinx-theme", "Sphinx!=3.2.0"] here as well. Additionally the keys here could be more specific.
There was a problem hiding this comment.
Tthat sounds like a good idea to me. The keys don't need to be anymore specific that what they are in traits.
For what it's worth, my usual rule with dependencies is that if something is explicitly imported from, it should be listed under the dependencies (even if it's a dependency of something else). So e.g. if a package imports from both |
Co-authored-by: Poruri Sai Rahul <rporuri@enthought.com>
|
|
||
| Envisage has the following optional dependencies: | ||
|
|
||
| * `Ipykernel <https://github.com/ipython/ipykernel>`_ |
There was a problem hiding this comment.
Should I link the github repo or the pypi page? Traits refers to pypi, I think pyface refers to the traits github. In gerenal maybe pypi links would make more sense? At the very least for non Enthought related dependencies like ipykernel
There was a problem hiding this comment.
Agreed that PyPI links make most sense. People reading the README on GitHub probably don't really care; people reading the project description on PyPI are more likely to want PyPI links.
There was a problem hiding this comment.
I went with Pypi links for non enthought stuff, and github for enthought
There was a problem hiding this comment.
ah I hadn't refreshed and just saw this comment, I will use pypi links for pyface and traitsui as well
…using pypi links on readme instead of github links
fixes #126
This PR adds
extras_requiretosetup.pyand also updates the readme to mention the optional dependencies.The issue originally mentioned
tornadobut I am not sure this is still really needed?tornadois listed as a required dependency ofipykerneland the only occurrences of "tornado" in envisage are:envisage/envisage/plugins/ipython_kernel/kernelapp.py
Lines 76 to 94 in 8eddfc4
envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py
Lines 29 to 35 in 1eccd80
and
envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py
Lines 242 to 244 in 1eccd80
It also may be worth adding more details to the readme about what the optional dependencies are useful for / that the required dependencies are needed for the core envisage package. I was not sure how much to say here, and other enthought package readmes seem to be pretty brief.