datamaestro 1.7.1__tar.gz → 1.7.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. {datamaestro-1.7.1 → datamaestro-1.7.3}/PKG-INFO +1 -1
  2. datamaestro-1.7.3/release-notes.md +5 -0
  3. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/__init__.py +1 -1
  4. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/test/checks.py +24 -0
  5. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/version.py +1 -1
  6. datamaestro-1.7.1/release-notes.md +0 -5
  7. {datamaestro-1.7.1 → datamaestro-1.7.3}/.coverage +0 -0
  8. {datamaestro-1.7.1 → datamaestro-1.7.3}/.flake8 +0 -0
  9. {datamaestro-1.7.1 → datamaestro-1.7.3}/.github/workflows/pytest.yml +0 -0
  10. {datamaestro-1.7.1 → datamaestro-1.7.3}/.github/workflows/python-publish.yml +0 -0
  11. {datamaestro-1.7.1 → datamaestro-1.7.3}/.gitignore +0 -0
  12. {datamaestro-1.7.1 → datamaestro-1.7.3}/.pre-commit-config.yaml +0 -0
  13. {datamaestro-1.7.1 → datamaestro-1.7.3}/.python-version +0 -0
  14. {datamaestro-1.7.1 → datamaestro-1.7.3}/.readthedocs.yml +0 -0
  15. {datamaestro-1.7.1 → datamaestro-1.7.3}/CHANGELOG.md +0 -0
  16. {datamaestro-1.7.1 → datamaestro-1.7.3}/LICENSE +0 -0
  17. {datamaestro-1.7.1 → datamaestro-1.7.3}/MANIFEST.in +0 -0
  18. {datamaestro-1.7.1 → datamaestro-1.7.3}/README.md +0 -0
  19. {datamaestro-1.7.1 → datamaestro-1.7.3}/TODO.md +0 -0
  20. {datamaestro-1.7.1 → datamaestro-1.7.3}/cliff.toml +0 -0
  21. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/Makefile +0 -0
  22. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/make.bat +0 -0
  23. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/requirements.txt +0 -0
  24. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/api/data.md +0 -0
  25. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/api/download.rst +0 -0
  26. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/api/index.md +0 -0
  27. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/api/records.rst +0 -0
  28. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/cli.md +0 -0
  29. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/conf.py +0 -0
  30. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/configuration.md +0 -0
  31. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/datasets.rst +0 -0
  32. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/developping.md +0 -0
  33. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/getting-started.md +0 -0
  34. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/index.md +0 -0
  35. {datamaestro-1.7.1 → datamaestro-1.7.3}/docs/source/style.css +0 -0
  36. {datamaestro-1.7.1 → datamaestro-1.7.3}/pyproject.toml +0 -0
  37. {datamaestro-1.7.1 → datamaestro-1.7.3}/pytest.ini +0 -0
  38. {datamaestro-1.7.1 → datamaestro-1.7.3}/requirements-dev.txt +0 -0
  39. {datamaestro-1.7.1 → datamaestro-1.7.3}/requirements.txt +0 -0
  40. {datamaestro-1.7.1 → datamaestro-1.7.3}/schema.yaml +0 -0
  41. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/__init__.py +0 -0
  42. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/__main__.py +0 -0
  43. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/annotations/__init__.py +0 -0
  44. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/annotations/agreement.py +0 -0
  45. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/commands/__init__.py +0 -0
  46. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/commands/mainstyle.css +0 -0
  47. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/commands/site.py +0 -0
  48. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/context.py +0 -0
  49. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/data/__init__.py +0 -0
  50. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/data/csv.py +0 -0
  51. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/data/huggingface.py +0 -0
  52. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/data/ml.py +0 -0
  53. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/data/tensor.py +0 -0
  54. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/definitions.py +0 -0
  55. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/archive.py +0 -0
  56. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/custom.py +0 -0
  57. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/huggingface.py +0 -0
  58. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/links.py +0 -0
  59. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/manual.py +0 -0
  60. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/multiple.py +0 -0
  61. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/single.py +0 -0
  62. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/sync.py +0 -0
  63. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/todo.py +0 -0
  64. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/download/wayback.py +0 -0
  65. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/record.py +0 -0
  66. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/registry.py +0 -0
  67. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/search.py +0 -0
  68. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/settings.py +0 -0
  69. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/sphinx.py +0 -0
  70. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/stream/__init__.py +0 -0
  71. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/stream/compress.py +0 -0
  72. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/stream/lines.py +0 -0
  73. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/templates/dataset.py +0 -0
  74. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/test/__init__.py +0 -0
  75. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/test/conftest.py +0 -0
  76. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/test/test_annotations.py +0 -0
  77. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/test/test_download_handlers.py +0 -0
  78. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/test/test_record.py +0 -0
  79. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/test/test_resource.py +0 -0
  80. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/utils.py +0 -0
  81. {datamaestro-1.7.1 → datamaestro-1.7.3}/src/datamaestro/v2.md +0 -0
  82. {datamaestro-1.7.1 → datamaestro-1.7.3}/tox.ini +0 -0
  83. {datamaestro-1.7.1 → datamaestro-1.7.3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datamaestro
3
- Version: 1.7.1
3
+ Version: 1.7.3
4
4
  Summary: Add your description here
5
5
  Author-email: Benjamin Piwowarski <benjamin@piwowarski.fr>
6
6
  License-File: LICENSE
@@ -0,0 +1,5 @@
1
+ ## [1.7.3] - 2026-01-29
2
+
3
+ ### Features
4
+ - Add DatamaestroAnalyzer to exclude @dataset classes from doc checks ([a6646b3](https://github.com/experimaestro/experimaestro-python/commit/a6646b321934bb4a28ba7ee0b826ed0f0d0bcb12))
5
+
@@ -646,7 +646,7 @@ class reference(Resource):
646
646
  For function-based datasets, the reference is already a DatasetWrapper.
647
647
  """
648
648
  ref = self.reference
649
- if hasattr(ref, "__dataset__"):
649
+ if isinstance(ref, type) and hasattr(ref, "__dataset__"):
650
650
  return ref.__dataset__
651
651
  return ref
652
652
 
@@ -2,6 +2,30 @@ import logging
2
2
  import importlib
3
3
  import inspect
4
4
  from datamaestro.context import Context
5
+ from experimaestro.tools.documentation import DocumentationAnalyzer
6
+
7
+
8
+ class DatamaestroAnalyzer(DocumentationAnalyzer):
9
+ """Documentation analyzer that excludes @dataset-annotated classes.
10
+
11
+ Dataset definitions (classes decorated with ``@dataset``) are documented
12
+ via ``dm:datasets`` Sphinx directives, not ``autoxpmconfig``. This
13
+ subclass filters them from the undocumented list after analysis.
14
+ """
15
+
16
+ def analyze(self):
17
+ super().analyze()
18
+ filtered = []
19
+ for fqn in self.undocumented:
20
+ module_name, class_name = fqn.rsplit(".", 1)
21
+ try:
22
+ mod = importlib.import_module(module_name)
23
+ cls = getattr(mod, class_name)
24
+ if not hasattr(cls, "__dataset__"):
25
+ filtered.append(fqn)
26
+ except (ImportError, AttributeError):
27
+ filtered.append(fqn)
28
+ self.undocumented = filtered
5
29
 
6
30
 
7
31
  class DatasetTests:
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '1.7.1'
4
+ __version__ = VERSION = '1.7.3'
@@ -1,5 +0,0 @@
1
- ## [1.7.1] - 2026-01-29
2
-
3
- ### Features
4
- - Add CamelCase→snake_case ID inference and class-based dataset support for reference/links ([bf8bed3](https://github.com/experimaestro/experimaestro-python/commit/bf8bed3292fb851b47ff5c3c154ccd4a1b920e6e))
5
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes