Comments (5)
I think it would also be useful to avoid importing defusedxml
in global scope. It is only used by etree_parse()
, and not every consumer of sphinx.testing
uses this function.
For example, breathe
is currently broken by this. However, it does not use this API and without the import
in global scope, it doesn't have to be updated to depend on defusedxml
(or sphinx[dev]
, as suggested above).
from sphinx.
Ok, I see what happened actually. It's because the dependencies of sphinxcontrib- were not updated accordingly, namely we are installing sphinx
as sphinx
(so we are only using the release dependencies and not the test dependencies for sphinx
).
Is there a way to tell tox to install the sphinx test dependencies in tox.ini
?
PS: The argument against adding defusedxml
as a runtime dependency is that, for consistency, we would also need to add pytest
as a runtime dependency since we are using pytest in sphinx.testing.fixture
. One could argue that because one should have pytest
for using the plugin, we don't need that but technically speaking, both of them should then be present.
Now, I am willing to actually split the test dependencies into dev
and test
dependencies where dev
dependencies would be those needed by extensions and test
dependencies would only be for our tests (in particular, test
would be a superset of dev
, e.g., this would include cython
and setuptools
packages).
from sphinx.
I asked a similar question here: https://github.com/orgs/sphinx-doc/discussions/12333
Happy to close the discussion if this is a better place.
from sphinx.
No, but we should have a better tox.ini which would setup the environment correctly.
from sphinx.
Now, I am willing to actually split the test dependencies into dev and test
yes I feel this is what should happen; I was about to say, your first responses seemed to be conflating sphinx internal development with the actual opened issue of users interacting with sphinx.testing.fixture
π
(in general, it is a bit of an open question in python packaging, where/how you define internal development dependencies vs defining extra user dependencies)
from sphinx.
Related Issues (20)
- LaTeX/ImageConverter: Regression with `data:` URIs HOT 1
- Have emoji and U+28FF working in sphinx ``lualatex`` generated for titles and code HOT 6
- When compiling linux kernel(drm-tis), failed at module `docutils.nodes` for no attribute βreprunicodeβ HOT 11
- sphinx-build hard-codes the python path into the exe HOT 7
- ext.napoleon to work with ext.todo HOT 2
- `:loading: embed` on images does not work as expected HOT 7
- ``todo`` directive treat repeated special characters as headers
- toc_object_entries uses language (Python) scoping instead of documentation scoping HOT 2
- TOWER_HOST=https://awx.example.org TOWER_USERNAME=example TOWER_PASSWORD=secret make clean html HOT 1
- Index pages use `–` but it can not be used in ePub HOT 3
- Intersphinx Mapping link not working with Plotly objects in signature HOT 4
- Internationalization doc mentions deprecated transifex-client HOT 1
- 7.3.7: missing `defusedxml` install time dependency HOT 2
- THYDUX COIN π π₯
- Multiple labels inside math directives HOT 1
- LaTeX: footnote mark may indicate "Page N, M" but footnote M is already on page N
- Gettext builder cannot extract 'option' directive HOT 4
- `autodoc_class_signature = "separated"` cause a warning for enum with no `__init__` HOT 12
- [search] issues with the new HTML search algorithm HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sphinx.