This is an automated email from the ASF dual-hosted git repository.
400Ping pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/mahout.git
The following commit(s) were added to refs/heads/main by this push:
new c4da8c7ab docs: add pydoc-markdown API generation config (#1381)
c4da8c7ab is described below
commit c4da8c7ab76094f9d5acb8db3d9374f6b898f0b1
Author: Vic Wen <[email protected]>
AuthorDate: Mon Jun 15 10:15:51 2026 +0800
docs: add pydoc-markdown API generation config (#1381)
---
docs/api/index.md | 19 ++++
docs/api/qumat.yml | 42 +++++++
docs/api/qumat_header.md | 10 ++
docs/api/qumat_qdp.yml | 60 ++++++++++
docs/api/qumat_qdp_header.md | 10 ++
pyproject.toml | 1 +
uv.lock | 258 +++++++++++++++++++++++++++++++++++++++++++
7 files changed, 400 insertions(+)
diff --git a/docs/api/index.md b/docs/api/index.md
new file mode 100644
index 000000000..6bf5de545
--- /dev/null
+++ b/docs/api/index.md
@@ -0,0 +1,19 @@
+---
+title: API Reference
+sidebar_label: API Reference
+description: Generated API reference for Apache Mahout.
+hide_edit_button: true
+toc_min_heading_level: 2
+toc_max_heading_level: 3
+---
+
+# API Reference
+
+This experimental reference is for developers trying Mahout's Python APIs.
+It focuses on the public interfaces you are expected to call while the API
+documentation is still evolving.
+
+## Packages
+
+- [Qumat](qumat.md)
+- [QDP](qumat_qdp.md)
diff --git a/docs/api/qumat.yml b/docs/api/qumat.yml
new file mode 100644
index 000000000..614193e75
--- /dev/null
+++ b/docs/api/qumat.yml
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+loaders:
+ - type: python
+ search_path:
+ - ../..
+ modules:
+ - qumat.qumat
+
+# TODO: Trim this filter once the Python package exposes a cleaner public
+# surface for documentation generation.
+processors:
+ - type: filter
+ documented_only: false
+ skip_empty_modules: true
+ expression: >-
+ (not name.startswith('_') or name == '__init__')
+ and name not in ('annotations', 'Mapping', 'import_module',
'ModuleType', 'Any')
+ and default()
+ - type: smart
+
+renderer:
+ type: markdown
+ descriptive_module_title: false
+ descriptive_class_title: false
+ add_module_prefix: false
+ add_method_class_prefix: false
+ render_toc: false
+ render_module_header: false
diff --git a/docs/api/qumat_header.md b/docs/api/qumat_header.md
new file mode 100644
index 000000000..318175649
--- /dev/null
+++ b/docs/api/qumat_header.md
@@ -0,0 +1,10 @@
+---
+title: Qumat
+sidebar_label: Qumat
+description: Generated API reference for Apache Mahout.
+hide_edit_button: true
+toc_min_heading_level: 2
+toc_max_heading_level: 3
+---
+
+# Qumat
diff --git a/docs/api/qumat_qdp.yml b/docs/api/qumat_qdp.yml
new file mode 100644
index 000000000..e730b5fe9
--- /dev/null
+++ b/docs/api/qumat_qdp.yml
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+loaders:
+ - type: python
+ search_path:
+ - ../../qdp/qdp-python
+ modules:
+ - qumat_qdp._backend
+ - qumat_qdp.api
+ - qumat_qdp.backend
+ - qumat_qdp.tensor
+ - qumat_qdp.loader
+ - qumat_qdp.triton_amd
+
+# TODO: Trim this filter once the Python package exposes a cleaner public
+# surface for documentation generation.
+processors:
+ - type: filter
+ documented_only: false
+ skip_empty_modules: true
+ expression: >-
+ (not name.startswith('_') or name == '__init__')
+ and name not in (
+ 'annotations', 'Mapping', 'import_module', 'ModuleType', 'Any',
+ 'dataclass', 'time', 'math', 'os', 'sys', 'warnings', 'Iterator',
+ 'TYPE_CHECKING', 'CudaBackendEngine', 'AmdBackendEngine', 'lru_cache',
+ 'enum', 'field', 'torch_mod', 'triton_mod', 'triton_lang', 'get_qdp',
+ 'get_torch', 'get_backend', 'require_backend'
+ )
+ and default()
+ - type: smart
+
+renderer:
+ type: markdown
+ descriptive_module_title: false
+ descriptive_class_title: false
+ add_module_prefix: false
+ add_method_class_prefix: false
+ render_toc: false
+ header_level_by_type:
+ Module: 2
+ Class: 3
+ Function: 3
+ Variable: 3
+ Method: 4
+ render_module_header_template: |
+ ## {module_name}
diff --git a/docs/api/qumat_qdp_header.md b/docs/api/qumat_qdp_header.md
new file mode 100644
index 000000000..573ea06e3
--- /dev/null
+++ b/docs/api/qumat_qdp_header.md
@@ -0,0 +1,10 @@
+---
+title: QDP
+sidebar_label: QDP
+description: Generated API reference for Apache Mahout.
+hide_edit_button: true
+toc_min_heading_level: 2
+toc_max_heading_level: 3
+---
+
+# QDP
diff --git a/pyproject.toml b/pyproject.toml
index f69b81502..66599b9bf 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -63,6 +63,7 @@ dev = [
"setuptools>=80.9.0",
"tensorflow>=2.20",
"pytest-cov>=7.0.0",
+ "pydoc-markdown>=4.8.2",
]
[tool.uv]
diff --git a/uv.lock b/uv.lock
index 43194b257..8171e0b08 100644
--- a/uv.lock
+++ b/uv.lock
@@ -138,6 +138,36 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/5a/78/b3ba5d804ae21e26e6179bbe4e1338deaaba9d20161918f59e20e9d92ea0/backports.entry_points_selectable-1.3.0-py3-none-any.whl",
hash =
"sha256:66f5da003eb4b283c7b60581bc8bb0baf0d810eb3e3068da786d3821b4d5746a", size
= 6217, upload-time = "2023-11-27T19:03:04.844Z" },
]
+[[package]]
+name = "black"
+version = "23.12.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "mypy-extensions" },
+ { name = "packaging" },
+ { name = "pathspec" },
+ { name = "platformdirs" },
+ { name = "tomli", marker = "python_full_version < '3.11'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11'" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/fd/f4/a57cde4b60da0e249073009f4a9087e9e0a955deae78d3c2a493208d0c5c/black-23.12.1.tar.gz",
hash =
"sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5", size
= 620809, upload-time = "2023-12-22T23:06:17.382Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/fb/58/677da52d845b59505a8a787ff22eff9cfd9046b5789aa2bd387b236db5c5/black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl",
hash =
"sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2", size
= 1560531, upload-time = "2023-12-22T23:18:20.555Z" },
+ { url =
"https://files.pythonhosted.org/packages/11/92/522a4f1e4b2b8da62e4ec0cb8acf2d257e6d39b31f4214f0fd94d2eeb5bd/black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl",
hash =
"sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba", size
= 1404644, upload-time = "2023-12-22T23:17:46.425Z" },
+ { url =
"https://files.pythonhosted.org/packages/a4/dc/af67d8281e9a24f73d24b060f3f03f6d9ad6be259b3c6acef2845e17d09c/black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0", size
= 1711153, upload-time = "2023-12-22T23:08:34.4Z" },
+ { url =
"https://files.pythonhosted.org/packages/7e/0f/94d7c36b421ea187359c413be7b9fc66dc105620c3a30b1c94310265830a/black-23.12.1-cp310-cp310-win_amd64.whl",
hash =
"sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3", size
= 1332918, upload-time = "2023-12-22T23:10:28.188Z" },
+ { url =
"https://files.pythonhosted.org/packages/ed/2c/d9b1a77101e6e5f294f6553d76c39322122bfea2a438aeea4eb6d4b22749/black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl",
hash =
"sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba", size
= 1541926, upload-time = "2023-12-22T23:23:17.72Z" },
+ { url =
"https://files.pythonhosted.org/packages/72/e2/d981a3ff05ba9abe3cfa33e70c986facb0614fd57c4f802ef435f4dd1697/black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl",
hash =
"sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b", size
= 1388465, upload-time = "2023-12-22T23:19:00.611Z" },
+ { url =
"https://files.pythonhosted.org/packages/eb/59/1f5c8eb7bba8a8b1bb5c87f097d16410c93a48a6655be3773db5d2783deb/black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59", size
= 1691993, upload-time = "2023-12-22T23:08:32.018Z" },
+ { url =
"https://files.pythonhosted.org/packages/37/bf/a80abc6fcdb00f0d4d3d74184b172adbf2197f6b002913fa0fb6af4dc6db/black-23.12.1-cp311-cp311-win_amd64.whl",
hash =
"sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50", size
= 1340929, upload-time = "2023-12-22T23:09:37.088Z" },
+ { url =
"https://files.pythonhosted.org/packages/66/16/8726cedc83be841dfa854bbeef1288ee82272282a71048d7935292182b0b/black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl",
hash =
"sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e", size
= 1569989, upload-time = "2023-12-22T23:20:22.158Z" },
+ { url =
"https://files.pythonhosted.org/packages/d2/1e/30f5eafcc41b8378890ba39b693fa111f7dca8a2620ba5162075d95ffe46/black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl",
hash =
"sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec", size
= 1398647, upload-time = "2023-12-22T23:19:57.225Z" },
+ { url =
"https://files.pythonhosted.org/packages/99/de/ddb45cc044256431d96d846ce03164d149d81ca606b5172224d1872e0b58/black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e", size
= 1720450, upload-time = "2023-12-22T23:08:52.675Z" },
+ { url =
"https://files.pythonhosted.org/packages/98/2b/54e5dbe9be5a10cbea2259517206ff7b6a452bb34e07508c7e1395950833/black-23.12.1-cp312-cp312-win_amd64.whl",
hash =
"sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9", size
= 1351070, upload-time = "2023-12-22T23:09:32.762Z" },
+ { url =
"https://files.pythonhosted.org/packages/7b/14/4da7b12a9abc43a601c215cb5a3d176734578da109f0dbf0a832ed78be09/black-23.12.1-py3-none-any.whl",
hash =
"sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e", size
= 194363, upload-time = "2023-12-22T23:06:14.278Z" },
+]
+
[[package]]
name = "boltons"
version = "25.0.0"
@@ -351,6 +381,18 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/cc/fe/b831f5640a5369538a78b9b661eaa735e72d02cd08aa74f026fb54b732c9/cirq_web-1.5.0-py3-none-any.whl",
hash =
"sha256:47b931a8c8dbebde4775c6e82dc404c178b7592a24456e485e43ae823660984e", size
= 425059, upload-time = "2025-04-10T18:06:06.672Z" },
]
+[[package]]
+name = "click"
+version = "8.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/9b/98/518d8e5081007684232226f475082b30087d0f585e8457db087298259f49/click-8.4.1.tar.gz",
hash =
"sha256:918b5633eddf6b41c32d4f454bf0de810065c74e3f7dbf8ee5452f8be88d3e96", size
= 353007, upload-time = "2026-05-22T04:08:37.769Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/c7/0d/67e5b4109ea4a837e80daa87c2c696711955e40449a97e8926672534def2/click-8.4.1-py3-none-any.whl",
hash =
"sha256:482be17c6991b8c19c5429a1e995d9b0efdbb63172824c41f99965dc0ade8ec2", size
= 116639, upload-time = "2026-05-22T04:08:35.26Z" },
+]
+
[[package]]
name = "cloudpickle"
version = "2.2.1"
@@ -558,6 +600,58 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/ff/fa/d3c15189f7c52aaefbaea76fb012119b04b9013f4bf446cb4eb4c26c4e6b/cython-3.2.4-py3-none-any.whl",
hash =
"sha256:732fc93bc33ae4b14f6afaca663b916c2fdd5dcbfad7114e17fb2434eeaea45c", size
= 1257078, upload-time = "2026-01-04T14:14:12.373Z" },
]
+[[package]]
+name = "databind"
+version = "4.5.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "nr-date" },
+ { name = "nr-stream" },
+ { name = "typeapi" },
+ { name = "typing-extensions" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/16/4a/c4bb226245299d22ef9ccde502cb658d318850e4fa7f4b0a416d3aa5324a/databind-4.5.5.tar.gz",
hash =
"sha256:594c1b13b754c30f95faf85bba4a4cc5768243a6a9818a87a66a616d8848a54b", size
= 43507, upload-time = "2026-05-22T17:23:35.29Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/83/89/91ccb7aa370b2b0bc85e45de267c4e3e5f3f7752883d462ea6c11cc92466/databind-4.5.5-py3-none-any.whl",
hash =
"sha256:78b5d740dcb2f457fbb8f09d989ce8c0917b44b60922751df61be0d0fe0660aa", size
= 52933, upload-time = "2026-05-22T17:23:33.75Z" },
+]
+
+[[package]]
+name = "databind-core"
+version = "4.5.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "databind" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/a0/05/c89ce6587d552ffc49d1e708cd513d9b957a1a6f4eb2d2d842f61289f165/databind_core-4.5.5.tar.gz",
hash =
"sha256:b256fbd109e8f041870f4bfb94ec4e87180910346f227b3ccd7cbf1b33bae9bc", size
= 974, upload-time = "2026-05-22T17:23:43.006Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/ee/7b/7b8d37e68eb498f63274c76dab41f031c751eee3abbf365ac2df947efdb7/databind_core-4.5.5-py3-none-any.whl",
hash =
"sha256:a553116b61b32de3f1c70a2908abf70c2488783c995e4a30a6c5cd25f8bacfa3", size
= 1656, upload-time = "2026-05-22T17:23:41.778Z" },
+]
+
+[[package]]
+name = "databind-json"
+version = "4.5.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "databind" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/4b/13/2fd4c1910a0dc93a74a58809ad80e5dbd2e967be6971efb780dc8d76eb46/databind_json-4.5.5.tar.gz",
hash =
"sha256:c6e985d24f0171ecf3f0370fdf6400b61cc25f837e967723311e20686bd04ad1", size
= 966, upload-time = "2026-05-22T17:23:51.344Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/85/ef/318fd032781bbdd6fa92b4c545b00f71c7a7e0f12b1475177d048f2362e6/databind_json-4.5.5-py3-none-any.whl",
hash =
"sha256:b5d7934d2c407be16550bc97de905035b6a20a58b291cf781b9981d743db0a96", size
= 1653, upload-time = "2026-05-22T17:23:49.584Z" },
+]
+
+[[package]]
+name = "deprecated"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "wrapt" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/49/85/12f0a49a7c4ffb70572b6c2ef13c90c88fd190debda93b23f026b25f9634/deprecated-1.3.1.tar.gz",
hash =
"sha256:b1b50e0ff0c1fddaa5708a2c6b0a6588bb09b892825ab2b214ac9ea9d92a5223", size
= 2932523, upload-time = "2025-10-30T08:19:02.757Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/84/d0/205d54408c08b13550c733c4b85429e7ead111c7f0014309637425520a9a/deprecated-1.3.1-py2.py3-none-any.whl",
hash =
"sha256:597bfef186b6f60181535a29fbe44865ce137a5079f295b479886c82729d5f3f", size
= 11298, upload-time = "2025-10-30T08:19:00.758Z" },
+]
+
[[package]]
name = "dill"
version = "0.4.0"
@@ -576,6 +670,40 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl",
hash =
"sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size
= 469047, upload-time = "2025-07-17T16:51:58.613Z" },
]
+[[package]]
+name = "docspec"
+version = "2.2.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "databind-core" },
+ { name = "databind-json" },
+ { name = "deprecated" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/8b/fe/1ad244d0ca186b5386050ec30dfd59bd3dbeea5baec33ca861dd43b922e6/docspec-2.2.2.tar.gz",
hash =
"sha256:c772c6facfce839176b647701082c7a22b3d22d872d392552cf5d65e0348c919", size
= 14086, upload-time = "2025-05-06T12:39:59.466Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/38/57/1011f2e88743a818cced9a95d54200ba6a05decaf43fd91d8c6ed9f6470d/docspec-2.2.2-py3-none-any.whl",
hash =
"sha256:854d25401e7ec2d155b0c1e001e25819d16b6df3a7575212a7f340ae8b00122e", size
= 9726, upload-time = "2025-05-06T12:39:58.047Z" },
+]
+
+[[package]]
+name = "docspec-python"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "black" },
+ { name = "docspec" },
+ { name = "nr-util" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/52/88/99c5e27a894f01290364563c84838cf68f1a8629474b5bbfc3bf35a8d923/docspec_python-2.2.1.tar.gz",
hash =
"sha256:c41b850b4d6f4de30999ea6f82c9cdb9183d9bcba45559ee9173d3dab7281559", size
= 13838, upload-time = "2023-05-28T11:24:19.846Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/7b/49/b8d1a2fa01b6f7a1a9daa1d485efc7684489028d6a356fc2bc5b40131061/docspec_python-2.2.1-py3-none-any.whl",
hash =
"sha256:76ac41d35a8face35b2d766c2e8a416fb8832359785d396f0d53bcb00f178e54", size
= 16093, upload-time = "2023-05-28T11:24:17.261Z" },
+]
+
+[[package]]
+name = "docstring-parser"
+version = "0.11"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/a2/ce/5d6a3782b9f88097ce3e579265015db3372ae78d12f67629b863a9208c96/docstring_parser-0.11.tar.gz",
hash =
"sha256:93b3f8f481c7d24e37c5d9f30293c89e2933fa209421c8abd731dd3ef0715ecb", size
= 22775, upload-time = "2021-09-30T07:44:10.288Z" }
+
[[package]]
name = "duet"
version = "0.2.9"
@@ -1245,6 +1373,37 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl",
hash =
"sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size
= 23438, upload-time = "2025-12-20T14:08:52.782Z" },
]
+[[package]]
+name = "nr-date"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/a0/92/08110dd3d7ff5e2b852a220752eb6c40183839f5b7cc91f9f38dd2298e7d/nr_date-2.1.0.tar.gz",
hash =
"sha256:0643aea13bcdc2a8bc56af9d5e6a89ef244c9744a1ef00cdc735902ba7f7d2e6", size
= 8789, upload-time = "2023-08-16T13:46:04.114Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/f9/10/1d2b00172537c1522fe64bbc6fb16b015632a02f7b3864e788ccbcb4dd85/nr_date-2.1.0-py3-none-any.whl",
hash =
"sha256:bd672a9dfbdcf7c4b9289fea6750c42490eaee08036a72059dcc78cb236ed568", size
= 10496, upload-time = "2023-08-16T13:46:02.627Z" },
+]
+
+[[package]]
+name = "nr-stream"
+version = "1.1.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/b7/37/e4d36d852c441233c306c5fbd98147685dce3ac9b0a8bbf4a587d0ea29ea/nr_stream-1.1.5.tar.gz",
hash =
"sha256:eb0216c6bfc61a46d4568dba3b588502c610ec8ddef4ac98f3932a2bd7264f65", size
= 10053, upload-time = "2023-02-14T22:44:09.074Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/1d/e1/f93485fe09aa36c0e1a3b76363efa1791241f7f863a010f725c95e8a74fe/nr_stream-1.1.5-py3-none-any.whl",
hash =
"sha256:47e12150b331ad2cb729cfd9d2abd281c9949809729ba461c6aa87dd9927b2d4", size
= 10448, upload-time = "2023-02-14T22:44:07.72Z" },
+]
+
+[[package]]
+name = "nr-util"
+version = "0.8.12"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "typing-extensions" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/20/0c/078c567d95e25564bc1ede3c2cf6ce1c91f50648c83786354b47224326da/nr.util-0.8.12.tar.gz",
hash =
"sha256:a4549c2033d99d2f0379b3f3d233fd2a8ade286bbf0b3ad0cc7cea16022214f4", size
= 63707, upload-time = "2022-06-20T13:29:29.192Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/ba/58/eab08df9dbd69d9e21fc5e7be6f67454f386336ec71e6b64e378a2dddea4/nr.util-0.8.12-py3-none-any.whl",
hash =
"sha256:91da02ac9795eb8e015372275c1efe54bac9051231ee9b0e7e6f96b0b4e7d2bb", size
= 90319, upload-time = "2022-06-20T13:29:27.312Z" },
+]
+
[[package]]
name = "numba"
version = "0.63.1"
@@ -1593,6 +1752,15 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/14/e2/975d4bdb418f942b53e6187b95bd9e0d5e0488b7bc214685a1e43e2c2751/patchelf-0.17.2.4-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl",
hash =
"sha256:7076d9e127230982e20a81a6e2358d3343004667ba510d9f822d4fdee29b0d71", size
= 508281, upload-time = "2025-07-23T21:16:30.865Z" },
]
+[[package]]
+name = "pathspec"
+version = "1.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz",
hash =
"sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a", size
= 135180, upload-time = "2026-04-27T01:46:08.907Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl",
hash =
"sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", size
= 57328, upload-time = "2026-04-27T01:46:07.06Z" },
+]
+
[[package]]
name = "pillow"
version = "12.2.0"
@@ -1829,6 +1997,31 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/36/c7/cfc8e811f061c841d7990b0201912c3556bfeb99cdcb7ed24adc8d6f8704/pydantic_core-2.41.5-pp311-pypy311_pp73-win_amd64.whl",
hash =
"sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51", size
= 2145302, upload-time = "2025-11-04T13:43:46.64Z" },
]
+[[package]]
+name = "pydoc-markdown"
+version = "4.8.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "databind-core" },
+ { name = "databind-json" },
+ { name = "docspec" },
+ { name = "docspec-python" },
+ { name = "docstring-parser" },
+ { name = "jinja2" },
+ { name = "nr-util" },
+ { name = "pyyaml" },
+ { name = "requests" },
+ { name = "tomli" },
+ { name = "tomli-w" },
+ { name = "watchdog" },
+ { name = "yapf" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/e1/8a/2c7f7ad656d22371a596d232fc140327b958d7f1d491b889632ea0cb7e87/pydoc_markdown-4.8.2.tar.gz",
hash =
"sha256:fb6c927e31386de17472d42f9bd3d3be2905977d026f6216881c65145aa67f0b", size
= 44506, upload-time = "2023-06-26T12:37:01.152Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/83/5a/ce0b056d9a95fd0c06a6cfa5972477d79353392d19230c748a7ba5a9df04/pydoc_markdown-4.8.2-py3-none-any.whl",
hash =
"sha256:203f74119e6bb2f9deba43d452422de7c8ec31955b61e0620fa4dd8c2611715f", size
= 67830, upload-time = "2023-06-26T12:36:59.502Z" },
+]
+
[[package]]
name = "pygments"
version = "2.19.2"
@@ -2036,6 +2229,7 @@ dev = [
{ name = "numpy" },
{ name = "patchelf" },
{ name = "pre-commit" },
+ { name = "pydoc-markdown" },
{ name = "pytest" },
{ name = "pytest-cov" },
{ name = "pytest-xdist" },
@@ -2063,6 +2257,7 @@ dev = [
{ name = "numpy", specifier = ">=1.24,<2.0" },
{ name = "patchelf", specifier = ">=0.17.2.4" },
{ name = "pre-commit", specifier = ">=3.0.0" },
+ { name = "pydoc-markdown", specifier = ">=4.8.2" },
{ name = "pytest", specifier = ">=9.0.1" },
{ name = "pytest-cov", specifier = ">=7.0.0" },
{ name = "pytest-xdist", specifier = ">=3.8.0" },
@@ -2435,6 +2630,15 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl",
hash =
"sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size
= 14477, upload-time = "2026-01-11T11:22:37.446Z" },
]
+[[package]]
+name = "tomli-w"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz",
hash =
"sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021", size
= 7184, upload-time = "2025-01-15T12:07:24.262Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl",
hash =
"sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90", size
= 6675, upload-time = "2025-01-15T12:07:22.074Z" },
+]
+
[[package]]
name = "torch"
version = "2.9.0"
@@ -2526,6 +2730,18 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/7f/02/70a491802e7593e444137ed4e41a04c34d186eb2856f452dd76b60f2e325/ty-0.0.16-py3-none-win_arm64.whl",
hash =
"sha256:430eadeb1c0de0c31ef7bef9d002bdbb5f25a31e3aad546f1714d76cd8da0a87", size
= 9915122, upload-time = "2026-02-10T20:24:14.285Z" },
]
+[[package]]
+name = "typeapi"
+version = "2.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/d5/92/5a23ad34aa877edf00906166e339bfdc571543ea183ea7ab727bb01516c7/typeapi-2.3.0.tar.gz",
hash =
"sha256:a60d11f72c5ec27338cfd1c807f035b0b16ed2e3b798fb1c1d34fc5589f544be", size
= 122687, upload-time = "2025-10-23T13:44:11.26Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/d4/84/021bbeb7edb990dd6875cb6ab08d32faaa49fec63453d863730260a01f9e/typeapi-2.3.0-py3-none-any.whl",
hash =
"sha256:576b7dcb94412e91c5cae107a393674f8f99c10a24beb8be2302e3fed21d5cc2", size
= 26858, upload-time = "2025-10-23T13:44:09.833Z" },
+]
+
[[package]]
name = "typedunits"
version = "0.0.1"
@@ -2612,6 +2828,35 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/6a/2a/dc2228b2888f51192c7dc766106cd475f1b768c10caaf9727659726f7391/virtualenv-20.36.1-py3-none-any.whl",
hash =
"sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f", size
= 6008258, upload-time = "2026-01-09T18:20:59.425Z" },
]
+[[package]]
+name = "watchdog"
+version = "6.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url =
"https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz",
hash =
"sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size
= 131220, upload-time = "2024-11-01T14:07:13.037Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl",
hash =
"sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size
= 96390, upload-time = "2024-11-01T14:06:24.793Z" },
+ { url =
"https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl",
hash =
"sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size
= 88389, upload-time = "2024-11-01T14:06:27.112Z" },
+ { url =
"https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl",
hash =
"sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size
= 89020, upload-time = "2024-11-01T14:06:29.876Z" },
+ { url =
"https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl",
hash =
"sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size
= 96393, upload-time = "2024-11-01T14:06:31.756Z" },
+ { url =
"https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl",
hash =
"sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size
= 88392, upload-time = "2024-11-01T14:06:32.99Z" },
+ { url =
"https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl",
hash =
"sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size
= 89019, upload-time = "2024-11-01T14:06:34.963Z" },
+ { url =
"https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl",
hash =
"sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size
= 96471, upload-time = "2024-11-01T14:06:37.745Z" },
+ { url =
"https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl",
hash =
"sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size
= 88449, upload-time = "2024-11-01T14:06:39.748Z" },
+ { url =
"https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl",
hash =
"sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size
= 89054, upload-time = "2024-11-01T14:06:41.009Z" },
+ { url =
"https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
hash =
"sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size
= 87902, upload-time = "2024-11-01T14:06:53.119Z" },
+ { url =
"https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
hash =
"sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size
= 88380, upload-time = "2024-11-01T14:06:55.19Z" },
+ { url =
"https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl",
hash =
"sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size
= 79079, upload-time = "2024-11-01T14:06:59.472Z" },
+ { url =
"https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl",
hash =
"sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size
= 79078, upload-time = "2024-11-01T14:07:01.431Z" },
+ { url =
"https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl",
hash =
"sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size
= 79076, upload-time = "2024-11-01T14:07:02.568Z" },
+ { url =
"https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl",
hash =
"sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size
= 79077, upload-time = "2024-11-01T14:07:03.893Z" },
+ { url =
"https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl",
hash =
"sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size
= 79078, upload-time = "2024-11-01T14:07:05.189Z" },
+ { url =
"https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl",
hash =
"sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size
= 79077, upload-time = "2024-11-01T14:07:06.376Z" },
+ { url =
"https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl",
hash =
"sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size
= 79078, upload-time = "2024-11-01T14:07:07.547Z" },
+ { url =
"https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl",
hash =
"sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size
= 79065, upload-time = "2024-11-01T14:07:09.525Z" },
+ { url =
"https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl",
hash =
"sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size
= 79070, upload-time = "2024-11-01T14:07:10.686Z" },
+ { url =
"https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl",
hash =
"sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size
= 79067, upload-time = "2024-11-01T14:07:11.845Z" },
+]
+
[[package]]
name = "werkzeug"
version = "3.1.6"
@@ -2680,3 +2925,16 @@ wheels = [
{ url =
"https://files.pythonhosted.org/packages/ef/3e/62451cd7d80f65cc125f2b426b25fbb6c514bf6f7011a0c3904fc8c8df90/wrapt-2.0.1-cp312-cp312-win_arm64.whl",
hash =
"sha256:aea9c7224c302bc8bfc892b908537f56c430802560e827b75ecbde81b604598b", size
= 58987, upload-time = "2025-11-07T00:44:02.095Z" },
{ url =
"https://files.pythonhosted.org/packages/15/d1/b51471c11592ff9c012bd3e2f7334a6ff2f42a7aed2caffcf0bdddc9cb89/wrapt-2.0.1-py3-none-any.whl",
hash =
"sha256:4d2ce1bf1a48c5277d7969259232b57645aae5686dba1eaeade39442277afbca", size
= 44046, upload-time = "2025-11-07T00:45:32.116Z" },
]
+
+[[package]]
+name = "yapf"
+version = "0.43.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "platformdirs" },
+ { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/23/97/b6f296d1e9cc1ec25c7604178b48532fa5901f721bcf1b8d8148b13e5588/yapf-0.43.0.tar.gz",
hash =
"sha256:00d3aa24bfedff9420b2e0d5d9f5ab6d9d4268e72afbf59bb3fa542781d5218e", size
= 254907, upload-time = "2024-11-14T00:11:41.584Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/37/81/6acd6601f61e31cfb8729d3da6d5df966f80f374b78eff83760714487338/yapf-0.43.0-py3-none-any.whl",
hash =
"sha256:224faffbc39c428cb095818cf6ef5511fdab6f7430a10783fdfb292ccf2852ca", size
= 256158, upload-time = "2024-11-14T00:11:39.37Z" },
+]