diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 65225f495..84010cef7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -224,7 +224,7 @@ New Features The handler receives the clicked panel, its state, the chosen theme, and bound ``exportPNG`` / ``exportCanvas`` / ``downloadPNG`` / ``copyPNG`` / ``toast`` - helpers. See :doc:`exporting` for the full reference. + helpers. See :doc:`/user_guide/exporting` for the full reference. - The 2-D hover readout now also names the **value** of the pixel under the cursor — ``v:`` for a colourmapped image, ``rgb:r,g,b`` for a true-colour one — alongside the existing physical and pixel coordinates. It is exact: diff --git a/docs/api/index.rst b/docs/api/index.rst index a48ec2063..300e7d8cb 100644 --- a/docs/api/index.rst +++ b/docs/api/index.rst @@ -74,7 +74,7 @@ directly to a class or function. The :class:`~anyplotlib.CallbackRegistry` event engine and the flat :class:`~anyplotlib.Event` dataclass. - See :doc:`../events` for the full event-system guide. + See :doc:`/user_guide/events` for the full event-system guide. Figure diff --git a/docs/changelog.rst b/docs/changelog.rst new file mode 100644 index 000000000..565b0521d --- /dev/null +++ b/docs/changelog.rst @@ -0,0 +1 @@ +.. include:: ../CHANGELOG.rst diff --git a/docs/benchmarking.rst b/docs/dev/benchmarking.rst similarity index 100% rename from docs/benchmarking.rst rename to docs/dev/benchmarking.rst diff --git a/docs/dev/index.rst b/docs/dev/index.rst index 4087d17cc..b5b0f3ad9 100644 --- a/docs/dev/index.rst +++ b/docs/dev/index.rst @@ -6,6 +6,12 @@ This guide covers everything you need to contribute to anyplotlib — from setting up your environment to writing documentation and interactive gallery examples. +.. toctree:: + :hidden: + :maxdepth: 2 + + benchmarking + .. contents:: On this page :local: :depth: 2 @@ -123,8 +129,9 @@ extensions: Adding a new RST page --------------------- -1. Create ``docs/my_page.rst``. -2. Add it to the ``toctree`` in ``docs/index.rst``:: +1. Create the RST page, e.g. ``docs/user_guide/my_page.rst``. +2. Add it to the ``toctree`` of its section's index page (e.g. + ``docs/user_guide/index.rst``):: .. toctree:: :hidden: @@ -132,6 +139,10 @@ Adding a new RST page my_page + The top navigation bar is rendered from the ``toctree`` in + ``docs/index.rst``; its five entries are the top-bar sections + (User guide, Examples, References, Contribute, Releases). + Embedding a static figure in RST --------------------------------- diff --git a/docs/index.rst b/docs/index.rst index db1a0412c..72d5179cf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -38,7 +38,7 @@ blitting instead of SVG. :gutter: 2 .. grid-item-card:: - :link: getting_started + :link: user_guide/getting_started :link-type: doc :octicon:`rocket;2em;sd-text-info` Getting Started @@ -79,7 +79,7 @@ blitting instead of SVG. plus an honest look at current limitations. .. grid-item-card:: - :link: benchmarking + :link: dev/benchmarking :link-type: doc :octicon:`tools;2em;sd-text-info` Benchmarking @@ -90,7 +90,7 @@ blitting instead of SVG. comparisons hardware-agnostic. .. grid-item-card:: - :link: events + :link: user_guide/events :link-type: doc :octicon:`zap;2em;sd-text-info` Event System @@ -101,7 +101,7 @@ blitting instead of SVG. pygfx and an implementation-status table. .. grid-item-card:: - :link: exporting + :link: user_guide/exporting :link-type: doc :octicon:`download;2em;sd-text-info` Exporting Images @@ -111,6 +111,16 @@ blitting instead of SVG. light/dark output, native-resolution export, ``Figure.savefig``, and adding your own save formats from an embedding application. + .. grid-item-card:: + :link: changelog + :link-type: doc + + :octicon:`history;2em;sd-text-info` Release Notes + ^^^ + + Notable changes in each release — new features, API and behaviour + changes, deprecations, and bug fixes. + .. grid-item-card:: :link: dev/index :link-type: doc @@ -125,15 +135,11 @@ blitting instead of SVG. :hidden: :maxdepth: 2 - getting_started - events - embedding - exporting - api/index - auto_examples/index - Performance - benchmarking - dev/index + User guide + Examples + References + Contribute + Releases * :ref:`genindex` * :ref:`modindex` diff --git a/docs/embedding.rst b/docs/user_guide/embedding.rst similarity index 100% rename from docs/embedding.rst rename to docs/user_guide/embedding.rst diff --git a/docs/events.rst b/docs/user_guide/events.rst similarity index 99% rename from docs/events.rst rename to docs/user_guide/events.rst index b798831b7..2bb6bee21 100644 --- a/docs/events.rst +++ b/docs/user_guide/events.rst @@ -767,8 +767,8 @@ API Reference Low-level registry: ``connect``, ``disconnect``, ``fire``, ``pause_events``, ``hold_events``. - :doc:`api/callbacks` + :doc:`/api/callbacks` Autogenerated API documentation for both classes. - :doc:`auto_examples/index` + :doc:`/auto_examples/index` Gallery of interactive examples using ``add_event_handler``. diff --git a/docs/exporting.rst b/docs/user_guide/exporting.rst similarity index 100% rename from docs/exporting.rst rename to docs/user_guide/exporting.rst diff --git a/docs/getting_started.rst b/docs/user_guide/getting_started.rst similarity index 97% rename from docs/getting_started.rst rename to docs/user_guide/getting_started.rst index 23ab75fa8..6135af95e 100644 --- a/docs/getting_started.rst +++ b/docs/user_guide/getting_started.rst @@ -135,7 +135,7 @@ All line properties can be changed after creation without recreating the panel:: static marker collections at explicit data coordinates. See :class:`~anyplotlib.Plot1D` for the full API reference, and -the :doc:`auto_examples/index` gallery (e.g. *1D Line Styles* or *1D Spectra*) +the :doc:`/auto_examples/index` gallery (e.g. *1D Line Styles* or *1D Spectra*) for worked examples. 2-D image @@ -201,5 +201,5 @@ Bar chart bar = ax.bar(values, x_labels=months, color="#4fc3f7", show_values=True) bar # display in a Jupyter cell -For more elaborate usage, see the :doc:`auto_examples/index` gallery or -the :doc:`api/index`. +For more elaborate usage, see the :doc:`/auto_examples/index` gallery or +the :doc:`/api/index`. diff --git a/docs/user_guide/index.rst b/docs/user_guide/index.rst new file mode 100644 index 000000000..d4ac486dd --- /dev/null +++ b/docs/user_guide/index.rst @@ -0,0 +1,62 @@ +============== +User Guide +============== + +The user guide walks through using anyplotlib in a Jupyter notebook or +JupyterLab — from installation to interactive event handling and exporting +figures. + +.. toctree:: + :hidden: + :maxdepth: 2 + + getting_started + events + embedding + exporting + +.. grid:: 2 + :gutter: 2 + + .. grid-item-card:: + :link: getting_started + :link-type: doc + + :octicon:`rocket;2em;sd-text-info` Getting Started + ^^^ + + Installation and your first interactive figure in a Jupyter + notebook — creating a ``Figure``, calling methods on ``Axes``, + and displaying it. + + .. grid-item-card:: + :link: events + :link-type: doc + + :octicon:`zap;2em;sd-text-info` Event System + ^^^ + + Interactive event handling — ``pointer_down``, ``pointer_settled``, + ``key_down``, and more. Includes a comparison with Matplotlib and + pygfx and an implementation-status table. + + .. grid-item-card:: + :link: embedding + :link-type: doc + + :octicon:`package;2em;sd-text-info` Embedding + ^^^ + + Using anyplotlib outside Jupyter — Electron apps, web pages, and + live Python↔JS synchronisation from a standalone Python process. + + .. grid-item-card:: + :link: exporting + :link-type: doc + + :octicon:`download;2em;sd-text-info` Exporting Images + ^^^ + + Saving and copying figures as PNG — the right-click menu, ``Ctrl+C``, + light/dark output, native-resolution export, ``Figure.savefig``, and + adding your own save formats from an embedding application. diff --git a/uv.lock b/uv.lock index 2cc12559b..3c221dcd2 100644 --- a/uv.lock +++ b/uv.lock @@ -45,7 +45,7 @@ wheels = [ [[package]] name = "anyplotlib" -version = "0.8.0" +version = "0.11.0" source = { editable = "." } dependencies = [ { name = "anywidget" }, @@ -540,7 +540,7 @@ resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } wheels = [ @@ -612,7 +612,7 @@ resolution-markers = [ "python_full_version == '3.11.*'", ] dependencies = [ - { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } wheels = [ @@ -894,7 +894,7 @@ name = "exceptiongroup" version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } wheels = [ @@ -1148,17 +1148,17 @@ resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ - { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version < '3.11'" }, - { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, - { name = "jedi", marker = "python_full_version < '3.11'" }, - { name = "matplotlib-inline", marker = "python_full_version < '3.11'" }, - { name = "pexpect", marker = "python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version < '3.11'" }, - { name = "pygments", marker = "python_full_version < '3.11'" }, - { name = "stack-data", marker = "python_full_version < '3.11'" }, - { name = "traitlets", marker = "python_full_version < '3.11'" }, - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "exceptiongroup" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624", size = 5513971, upload-time = "2026-03-27T10:02:13.94Z" } wheels = [ @@ -1175,18 +1175,18 @@ resolution-markers = [ "python_full_version == '3.11.*'", ] dependencies = [ - { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version >= '3.11'" }, - { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" }, - { name = "jedi", marker = "python_full_version >= '3.11'" }, - { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" }, - { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" }, - { name = "psutil", marker = "python_full_version >= '3.11'" }, - { name = "pygments", marker = "python_full_version >= '3.11'" }, - { name = "stack-data", marker = "python_full_version >= '3.11'" }, - { name = "traitlets", marker = "python_full_version >= '3.11'" }, - { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "psutil" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cd/c4/87cda5842cf5c31837c06ddb588e11c3c35d8ece89b7a0108c06b8c9b00a/ipython-9.13.0.tar.gz", hash = "sha256:7e834b6afc99f020e3f05966ced34792f40267d64cb1ea9043886dab0dde5967", size = 4430549, upload-time = "2026-04-24T12:24:55.221Z" } wheels = [ @@ -1198,7 +1198,7 @@ name = "ipython-pygments-lexers" version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pygments", marker = "python_full_version >= '3.11'" }, + { name = "pygments" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } wheels = [ @@ -2801,7 +2801,7 @@ resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } wheels = [ @@ -2862,7 +2862,7 @@ resolution-markers = [ "python_full_version == '3.11.*'", ] dependencies = [ - { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } wheels = [ @@ -2981,23 +2981,23 @@ resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ - { name = "alabaster", marker = "python_full_version < '3.11'" }, - { name = "babel", marker = "python_full_version < '3.11'" }, - { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, - { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "imagesize", marker = "python_full_version < '3.11'" }, - { name = "jinja2", marker = "python_full_version < '3.11'" }, - { name = "packaging", marker = "python_full_version < '3.11'" }, - { name = "pygments", marker = "python_full_version < '3.11'" }, - { name = "requests", marker = "python_full_version < '3.11'" }, - { name = "snowballstemmer", marker = "python_full_version < '3.11'" }, - { name = "sphinxcontrib-applehelp", marker = "python_full_version < '3.11'" }, - { name = "sphinxcontrib-devhelp", marker = "python_full_version < '3.11'" }, - { name = "sphinxcontrib-htmlhelp", marker = "python_full_version < '3.11'" }, - { name = "sphinxcontrib-jsmath", marker = "python_full_version < '3.11'" }, - { name = "sphinxcontrib-qthelp", marker = "python_full_version < '3.11'" }, - { name = "sphinxcontrib-serializinghtml", marker = "python_full_version < '3.11'" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "alabaster" }, + { name = "babel" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" } }, + { name = "imagesize" }, + { name = "jinja2" }, + { name = "packaging" }, + { name = "pygments" }, + { name = "requests" }, + { name = "snowballstemmer" }, + { name = "sphinxcontrib-applehelp" }, + { name = "sphinxcontrib-devhelp" }, + { name = "sphinxcontrib-htmlhelp" }, + { name = "sphinxcontrib-jsmath" }, + { name = "sphinxcontrib-qthelp" }, + { name = "sphinxcontrib-serializinghtml" }, + { name = "tomli" }, ] sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/be0b61178fe2cdcb67e2a92fc9ebb488e3c51c4f74a36a7824c0adf23425/sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927", size = 8184611, upload-time = "2024-10-13T20:27:13.93Z" } wheels = [ @@ -3012,23 +3012,23 @@ resolution-markers = [ "python_full_version == '3.11.*'", ] dependencies = [ - { name = "alabaster", marker = "python_full_version == '3.11.*'" }, - { name = "babel", marker = "python_full_version == '3.11.*'" }, - { name = "colorama", marker = "python_full_version == '3.11.*' and sys_platform == 'win32'" }, - { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, - { name = "imagesize", marker = "python_full_version == '3.11.*'" }, - { name = "jinja2", marker = "python_full_version == '3.11.*'" }, - { name = "packaging", marker = "python_full_version == '3.11.*'" }, - { name = "pygments", marker = "python_full_version == '3.11.*'" }, - { name = "requests", marker = "python_full_version == '3.11.*'" }, - { name = "roman-numerals", marker = "python_full_version == '3.11.*'" }, - { name = "snowballstemmer", marker = "python_full_version == '3.11.*'" }, - { name = "sphinxcontrib-applehelp", marker = "python_full_version == '3.11.*'" }, - { name = "sphinxcontrib-devhelp", marker = "python_full_version == '3.11.*'" }, - { name = "sphinxcontrib-htmlhelp", marker = "python_full_version == '3.11.*'" }, - { name = "sphinxcontrib-jsmath", marker = "python_full_version == '3.11.*'" }, - { name = "sphinxcontrib-qthelp", marker = "python_full_version == '3.11.*'" }, - { name = "sphinxcontrib-serializinghtml", marker = "python_full_version == '3.11.*'" }, + { name = "alabaster" }, + { name = "babel" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" } }, + { name = "imagesize" }, + { name = "jinja2" }, + { name = "packaging" }, + { name = "pygments" }, + { name = "requests" }, + { name = "roman-numerals" }, + { name = "snowballstemmer" }, + { name = "sphinxcontrib-applehelp" }, + { name = "sphinxcontrib-devhelp" }, + { name = "sphinxcontrib-htmlhelp" }, + { name = "sphinxcontrib-jsmath" }, + { name = "sphinxcontrib-qthelp" }, + { name = "sphinxcontrib-serializinghtml" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/50/a8c6ccc36d5eacdfd7913ddccd15a9cee03ecafc5ee2bc40e1f168d85022/sphinx-9.0.4.tar.gz", hash = "sha256:594ef59d042972abbc581d8baa577404abe4e6c3b04ef61bd7fc2acbd51f3fa3", size = 8710502, upload-time = "2025-12-04T07:45:27.343Z" } wheels = [ @@ -3044,23 +3044,23 @@ resolution-markers = [ "python_full_version >= '3.12' and python_full_version < '3.14'", ] dependencies = [ - { name = "alabaster", marker = "python_full_version >= '3.12'" }, - { name = "babel", marker = "python_full_version >= '3.12'" }, - { name = "colorama", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, - { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, - { name = "imagesize", marker = "python_full_version >= '3.12'" }, - { name = "jinja2", marker = "python_full_version >= '3.12'" }, - { name = "packaging", marker = "python_full_version >= '3.12'" }, - { name = "pygments", marker = "python_full_version >= '3.12'" }, - { name = "requests", marker = "python_full_version >= '3.12'" }, - { name = "roman-numerals", marker = "python_full_version >= '3.12'" }, - { name = "snowballstemmer", marker = "python_full_version >= '3.12'" }, - { name = "sphinxcontrib-applehelp", marker = "python_full_version >= '3.12'" }, - { name = "sphinxcontrib-devhelp", marker = "python_full_version >= '3.12'" }, - { name = "sphinxcontrib-htmlhelp", marker = "python_full_version >= '3.12'" }, - { name = "sphinxcontrib-jsmath", marker = "python_full_version >= '3.12'" }, - { name = "sphinxcontrib-qthelp", marker = "python_full_version >= '3.12'" }, - { name = "sphinxcontrib-serializinghtml", marker = "python_full_version >= '3.12'" }, + { name = "alabaster" }, + { name = "babel" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" } }, + { name = "imagesize" }, + { name = "jinja2" }, + { name = "packaging" }, + { name = "pygments" }, + { name = "requests" }, + { name = "roman-numerals" }, + { name = "snowballstemmer" }, + { name = "sphinxcontrib-applehelp" }, + { name = "sphinxcontrib-devhelp" }, + { name = "sphinxcontrib-htmlhelp" }, + { name = "sphinxcontrib-jsmath" }, + { name = "sphinxcontrib-qthelp" }, + { name = "sphinxcontrib-serializinghtml" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cd/bd/f08eb0f4eed5c83f1ba2a3bd18f7745a2b1525fad70660a1c00224ec468a/sphinx-9.1.0.tar.gz", hash = "sha256:7741722357dd75f8190766926071fed3bdc211c74dd2d7d4df5404da95930ddb", size = 8718324, upload-time = "2025-12-31T15:09:27.646Z" } wheels = [ @@ -3075,7 +3075,7 @@ resolution-markers = [ "python_full_version < '3.11'", ] dependencies = [ - { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/2b/69/b34e0cb5336f09c6866d53b4a19d76c227cdec1bbc7ac4de63ca7d58c9c7/sphinx_design-0.6.1.tar.gz", hash = "sha256:b44eea3719386d04d765c1a8257caca2b3e6f8421d7b3a5e742c0fd45f84e632", size = 2193689, upload-time = "2024-08-02T13:48:44.277Z" } wheels = [ @@ -3092,7 +3092,7 @@ resolution-markers = [ "python_full_version == '3.11.*'", ] dependencies = [ - { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/13/7b/804f311da4663a4aecc6cf7abd83443f3d4ded970826d0c958edc77d4527/sphinx_design-0.7.0.tar.gz", hash = "sha256:d2a3f5b19c24b916adb52f97c5f00efab4009ca337812001109084a740ec9b7a", size = 2203582, upload-time = "2026-01-19T13:12:53.297Z" }