dataframely 1.7.2__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 (184) hide show
  1. {dataframely-1.7.2 → dataframely-1.7.3}/.copier-answers.yml +1 -1
  2. {dataframely-1.7.2 → dataframely-1.7.3}/.github/workflows/build.yml +1 -1
  3. {dataframely-1.7.2 → dataframely-1.7.3}/.github/workflows/ci.yml +1 -1
  4. {dataframely-1.7.2 → dataframely-1.7.3}/Cargo.toml +1 -1
  5. {dataframely-1.7.2 → dataframely-1.7.3}/PKG-INFO +4 -2
  6. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_base_collection.py +2 -1
  7. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_base_schema.py +2 -1
  8. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_rule.py +2 -1
  9. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/collection.py +2 -1
  10. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/_base.py +2 -1
  11. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/_mixins.py +2 -1
  12. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/array.py +2 -1
  13. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/list.py +2 -1
  14. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/struct.py +2 -1
  15. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/config.py +3 -1
  16. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/schema.py +2 -1
  17. {dataframely-1.7.2 → dataframely-1.7.3}/pixi.lock +3520 -27
  18. {dataframely-1.7.2 → dataframely-1.7.3}/pixi.toml +6 -1
  19. {dataframely-1.7.2 → dataframely-1.7.3}/pyproject.toml +10 -4
  20. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_typing.py +2 -1
  21. {dataframely-1.7.2 → dataframely-1.7.3}/.envrc +0 -0
  22. {dataframely-1.7.2 → dataframely-1.7.3}/.gitattributes +0 -0
  23. {dataframely-1.7.2 → dataframely-1.7.3}/.github/CODEOWNERS +0 -0
  24. {dataframely-1.7.2 → dataframely-1.7.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  25. {dataframely-1.7.2 → dataframely-1.7.3}/.github/dependabot.yml +0 -0
  26. {dataframely-1.7.2 → dataframely-1.7.3}/.github/release-drafter.yml +0 -0
  27. {dataframely-1.7.2 → dataframely-1.7.3}/.github/workflows/chore.yml +0 -0
  28. {dataframely-1.7.2 → dataframely-1.7.3}/.github/workflows/nightly.yml +0 -0
  29. {dataframely-1.7.2 → dataframely-1.7.3}/.github/workflows/scorecard.yml +0 -0
  30. {dataframely-1.7.2 → dataframely-1.7.3}/.gitignore +0 -0
  31. {dataframely-1.7.2 → dataframely-1.7.3}/.pre-commit-config.yaml +0 -0
  32. {dataframely-1.7.2 → dataframely-1.7.3}/.prettierignore +0 -0
  33. {dataframely-1.7.2 → dataframely-1.7.3}/.prettierrc +0 -0
  34. {dataframely-1.7.2 → dataframely-1.7.3}/.readthedocs.yml +0 -0
  35. {dataframely-1.7.2 → dataframely-1.7.3}/Cargo.lock +0 -0
  36. {dataframely-1.7.2 → dataframely-1.7.3}/LICENSE +0 -0
  37. {dataframely-1.7.2 → dataframely-1.7.3}/README.md +0 -0
  38. {dataframely-1.7.2 → dataframely-1.7.3}/SECURITY.md +0 -0
  39. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/__init__.py +0 -0
  40. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_compat.py +0 -0
  41. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_deprecation.py +0 -0
  42. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_extre.pyi +0 -0
  43. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_filter.py +0 -0
  44. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_polars.py +0 -0
  45. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_serialization.py +0 -0
  46. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_typing.py +0 -0
  47. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/_validation.py +0 -0
  48. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/__init__.py +0 -0
  49. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/_registry.py +0 -0
  50. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/_utils.py +0 -0
  51. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/any.py +0 -0
  52. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/bool.py +0 -0
  53. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/datetime.py +0 -0
  54. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/decimal.py +0 -0
  55. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/enum.py +0 -0
  56. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/float.py +0 -0
  57. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/integer.py +0 -0
  58. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/object.py +0 -0
  59. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/columns/string.py +0 -0
  60. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/exc.py +0 -0
  61. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/failure.py +0 -0
  62. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/functional.py +0 -0
  63. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/mypy.py +0 -0
  64. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/py.typed +0 -0
  65. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/random.py +0 -0
  66. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/testing/__init__.py +0 -0
  67. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/testing/const.py +0 -0
  68. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/testing/factory.py +0 -0
  69. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/testing/mask.py +0 -0
  70. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/testing/rules.py +0 -0
  71. {dataframely-1.7.2 → dataframely-1.7.3}/dataframely/testing/typing.py +0 -0
  72. {dataframely-1.7.2 → dataframely-1.7.3}/docker-compose.yml +0 -0
  73. {dataframely-1.7.2 → dataframely-1.7.3}/docs/Makefile +0 -0
  74. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.collection.rst +0 -0
  75. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.any.rst +0 -0
  76. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.bool.rst +0 -0
  77. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.datetime.rst +0 -0
  78. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.decimal.rst +0 -0
  79. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.enum.rst +0 -0
  80. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.float.rst +0 -0
  81. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.integer.rst +0 -0
  82. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.list.rst +0 -0
  83. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.rst +0 -0
  84. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.string.rst +0 -0
  85. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.columns.struct.rst +0 -0
  86. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.config.rst +0 -0
  87. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.exc.rst +0 -0
  88. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.failure.rst +0 -0
  89. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.functional.rst +0 -0
  90. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.mypy.rst +0 -0
  91. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.random.rst +0 -0
  92. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.rst +0 -0
  93. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.schema.rst +0 -0
  94. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.testing.const.rst +0 -0
  95. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.testing.factory.rst +0 -0
  96. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.testing.mask.rst +0 -0
  97. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.testing.rst +0 -0
  98. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.testing.rules.rst +0 -0
  99. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/dataframely.testing.typing.rst +0 -0
  100. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_api/modules.rst +0 -0
  101. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_static/custom.css +0 -0
  102. {dataframely-1.7.2 → dataframely-1.7.3}/docs/_static/favicon.ico +0 -0
  103. {dataframely-1.7.2 → dataframely-1.7.3}/docs/conf.py +0 -0
  104. {dataframely-1.7.2 → dataframely-1.7.3}/docs/index.rst +0 -0
  105. {dataframely-1.7.2 → dataframely-1.7.3}/docs/make.bat +0 -0
  106. {dataframely-1.7.2 → dataframely-1.7.3}/docs/sites/development.rst +0 -0
  107. {dataframely-1.7.2 → dataframely-1.7.3}/docs/sites/examples/real-world.ipynb +0 -0
  108. {dataframely-1.7.2 → dataframely-1.7.3}/docs/sites/faq.rst +0 -0
  109. {dataframely-1.7.2 → dataframely-1.7.3}/docs/sites/installation.rst +0 -0
  110. {dataframely-1.7.2 → dataframely-1.7.3}/docs/sites/quickstart.rst +0 -0
  111. {dataframely-1.7.2 → dataframely-1.7.3}/docs/sites/versioning.rst +0 -0
  112. {dataframely-1.7.2 → dataframely-1.7.3}/src/errdefs.rs +0 -0
  113. {dataframely-1.7.2 → dataframely-1.7.3}/src/lib.rs +0 -0
  114. {dataframely-1.7.2 → dataframely-1.7.3}/src/regex_repr.rs +0 -0
  115. {dataframely-1.7.2 → dataframely-1.7.3}/tests/benches/conftest.py +0 -0
  116. {dataframely-1.7.2 → dataframely-1.7.3}/tests/benches/test_collection.py +0 -0
  117. {dataframely-1.7.2 → dataframely-1.7.3}/tests/benches/test_failure.py +0 -0
  118. {dataframely-1.7.2 → dataframely-1.7.3}/tests/benches/test_schema.py +0 -0
  119. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_base.py +0 -0
  120. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_cast.py +0 -0
  121. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_collection_future_annotations.py +0 -0
  122. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_create_empty.py +0 -0
  123. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_filter_one_to_n.py +0 -0
  124. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_filter_validate.py +0 -0
  125. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_ignore_in_filter.py +0 -0
  126. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_implementation.py +0 -0
  127. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_matches.py +0 -0
  128. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_optional_members.py +0 -0
  129. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_read_write_parquet.py +0 -0
  130. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_repr.py +0 -0
  131. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_sample.py +0 -0
  132. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_serialization.py +0 -0
  133. {dataframely-1.7.2 → dataframely-1.7.3}/tests/collection/test_validate_input.py +0 -0
  134. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/__init__.py +0 -0
  135. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_any.py +0 -0
  136. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_array.py +0 -0
  137. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_datetime.py +0 -0
  138. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_decimal.py +0 -0
  139. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_enum.py +0 -0
  140. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_float.py +0 -0
  141. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_integer.py +0 -0
  142. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_list.py +0 -0
  143. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_object.py +0 -0
  144. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_string.py +0 -0
  145. {dataframely-1.7.2 → dataframely-1.7.3}/tests/column_types/test_struct.py +0 -0
  146. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/__init__.py +0 -0
  147. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_alias.py +0 -0
  148. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_check.py +0 -0
  149. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_default_dtypes.py +0 -0
  150. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_matches.py +0 -0
  151. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_metadata.py +0 -0
  152. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_polars_schema.py +0 -0
  153. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_pyarrow.py +0 -0
  154. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_rules.py +0 -0
  155. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_sample.py +0 -0
  156. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_sql_schema.py +0 -0
  157. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_str.py +0 -0
  158. {dataframely-1.7.2 → dataframely-1.7.3}/tests/columns/test_utils.py +0 -0
  159. {dataframely-1.7.2 → dataframely-1.7.3}/tests/core_validation/__init__.py +0 -0
  160. {dataframely-1.7.2 → dataframely-1.7.3}/tests/core_validation/test_column_validation.py +0 -0
  161. {dataframely-1.7.2 → dataframely-1.7.3}/tests/core_validation/test_dtype_validation.py +0 -0
  162. {dataframely-1.7.2 → dataframely-1.7.3}/tests/core_validation/test_rule_evaluation.py +0 -0
  163. {dataframely-1.7.2 → dataframely-1.7.3}/tests/functional/test_concat.py +0 -0
  164. {dataframely-1.7.2 → dataframely-1.7.3}/tests/functional/test_relationships.py +0 -0
  165. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_base.py +0 -0
  166. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_cast.py +0 -0
  167. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_create_empty.py +0 -0
  168. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_create_empty_if_none.py +0 -0
  169. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_filter.py +0 -0
  170. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_inheritance.py +0 -0
  171. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_matches.py +0 -0
  172. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_read_write_parquet.py +0 -0
  173. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_repr.py +0 -0
  174. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_rule_implementation.py +0 -0
  175. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_sample.py +0 -0
  176. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_serialization.py +0 -0
  177. {dataframely-1.7.2 → dataframely-1.7.3}/tests/schema/test_validate.py +0 -0
  178. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_compat.py +0 -0
  179. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_config.py +0 -0
  180. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_deprecation.py +0 -0
  181. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_exc.py +0 -0
  182. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_extre.py +0 -0
  183. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_failure_info.py +0 -0
  184. {dataframely-1.7.2 → dataframely-1.7.3}/tests/test_random.py +0 -0
@@ -6,7 +6,7 @@ author_email: oliver.borchert@quantco.com
6
6
  author_name: Oliver Borchert
7
7
  github_url: https://github.com/quantco/dataframely
8
8
  github_user: borchero
9
- minimal_python_version: py311
9
+ minimal_python_version: py310
10
10
  project_short_description: A declarative, polars-native data frame validation library
11
11
  project_slug: dataframely
12
12
  use_devcontainer: false
@@ -61,7 +61,7 @@ jobs:
61
61
  uses: PyO3/maturin-action@e10f6c464b90acceb5f640d31beda6d586ba7b4a # v1.49.3
62
62
  with:
63
63
  command: build
64
- args: --out dist -i python3.11
64
+ args: --out dist -i python3.10
65
65
  manylinux: auto
66
66
  - name: Check package
67
67
  run: pixi run -e build check-wheel
@@ -40,7 +40,7 @@ jobs:
40
40
  fail-fast: true
41
41
  matrix:
42
42
  os: [ubuntu-latest, windows-latest]
43
- environment: [py311, py312, py313]
43
+ environment: [py310, py311, py312, py313]
44
44
  steps:
45
45
  - name: Checkout branch
46
46
  uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -8,7 +8,7 @@ crate-type = ["cdylib"]
8
8
  name = "dataframely"
9
9
 
10
10
  [dependencies]
11
- pyo3 = { version = "0.24", features = ["abi3-py311", "extension-module"] }
11
+ pyo3 = { version = "0.24", features = ["abi3-py310", "extension-module"] }
12
12
  rand = { version = "0.9", features = ["std_rng"] }
13
13
  regex-syntax = "0.8"
14
14
  thiserror = "2.0"
@@ -1,16 +1,18 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataframely
3
- Version: 1.7.2
3
+ Version: 1.7.3
4
4
  Classifier: Programming Language :: Python :: 3
5
+ Classifier: Programming Language :: Python :: 3.10
5
6
  Classifier: Programming Language :: Python :: 3.11
6
7
  Classifier: Programming Language :: Python :: 3.12
7
8
  Classifier: Programming Language :: Python :: 3.13
8
9
  Requires-Dist: numpy
9
10
  Requires-Dist: polars>=1.30
11
+ Requires-Dist: typing-extensions ; python_full_version < '3.11'
10
12
  License-File: LICENSE
11
13
  Summary: A declarative, polars-native data frame validation library
12
14
  Author-email: Andreas Albert <andreas.albert@quantco.com>, Daniel Elsner <daniel.elsner@quantco.com>, Oliver Borchert <oliver.borchert@quantco.com>
13
- Requires-Python: >=3.11
15
+ Requires-Python: >=3.10
14
16
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
15
17
  Project-URL: Documentation, https://dataframely.readthedocs.io/
16
18
  Project-URL: Repository, https://github.com/quantco/dataframely
@@ -8,9 +8,10 @@ import typing
8
8
  from abc import ABCMeta
9
9
  from collections.abc import Iterable
10
10
  from dataclasses import dataclass, field
11
- from typing import Annotated, Any, Self, cast, get_args, get_origin
11
+ from typing import Annotated, Any, cast, get_args, get_origin
12
12
 
13
13
  import polars as pl
14
+ from typing_extensions import Self
14
15
 
15
16
  from ._filter import Filter
16
17
  from ._typing import LazyFrame as TypedLazyFrame
@@ -7,9 +7,10 @@ import textwrap
7
7
  from abc import ABCMeta
8
8
  from copy import copy
9
9
  from dataclasses import dataclass, field
10
- from typing import Any, Self
10
+ from typing import Any
11
11
 
12
12
  import polars as pl
13
+ from typing_extensions import Self
13
14
 
14
15
  from ._rule import GroupRule, Rule
15
16
  from .columns import Column
@@ -5,9 +5,10 @@ from __future__ import annotations
5
5
 
6
6
  from collections import defaultdict
7
7
  from collections.abc import Callable
8
- from typing import Any, Self
8
+ from typing import Any
9
9
 
10
10
  import polars as pl
11
+ from typing_extensions import Self
11
12
 
12
13
  ValidationFunction = Callable[[], pl.Expr]
13
14
 
@@ -7,10 +7,11 @@ from abc import ABC
7
7
  from collections.abc import Mapping, Sequence
8
8
  from dataclasses import asdict
9
9
  from pathlib import Path
10
- from typing import Annotated, Any, Self, cast
10
+ from typing import Annotated, Any, cast
11
11
 
12
12
  import polars as pl
13
13
  import polars.exceptions as plexc
14
+ from typing_extensions import Self
14
15
 
15
16
  from ._base_collection import BaseCollection, CollectionMember
16
17
  from ._filter import Filter
@@ -7,9 +7,10 @@ import inspect
7
7
  from abc import ABC, abstractmethod
8
8
  from collections import Counter
9
9
  from collections.abc import Callable
10
- from typing import Any, Self, TypeAlias, cast
10
+ from typing import Any, TypeAlias, cast
11
11
 
12
12
  import polars as pl
13
+ from typing_extensions import Self
13
14
 
14
15
  from dataframely._compat import pa, sa, sa_TypeEngine
15
16
  from dataframely._deprecation import (
@@ -2,9 +2,10 @@
2
2
  # SPDX-License-Identifier: BSD-3-Clause
3
3
 
4
4
  from collections.abc import Sequence
5
- from typing import TYPE_CHECKING, Any, Generic, Protocol, Self, TypeVar
5
+ from typing import TYPE_CHECKING, Any, Generic, Protocol, TypeVar
6
6
 
7
7
  import polars as pl
8
+ from typing_extensions import Self
8
9
 
9
10
  if TYPE_CHECKING: # pragma: no cover
10
11
  from ._base import Column
@@ -5,9 +5,10 @@ from __future__ import annotations
5
5
 
6
6
  import math
7
7
  from collections.abc import Sequence
8
- from typing import Any, Literal, Self, cast
8
+ from typing import Any, Literal, cast
9
9
 
10
10
  import polars as pl
11
+ from typing_extensions import Self
11
12
 
12
13
  from dataframely._compat import pa, sa, sa_TypeEngine
13
14
  from dataframely.random import Generator
@@ -4,9 +4,10 @@
4
4
  from __future__ import annotations
5
5
 
6
6
  from itertools import chain
7
- from typing import Any, Self, cast
7
+ from typing import Any, cast
8
8
 
9
9
  import polars as pl
10
+ from typing_extensions import Self
10
11
 
11
12
  from dataframely._compat import pa, sa, sa_TypeEngine
12
13
  from dataframely._polars import PolarsDataType
@@ -3,9 +3,10 @@
3
3
 
4
4
  from __future__ import annotations
5
5
 
6
- from typing import Any, Self, cast
6
+ from typing import Any, cast
7
7
 
8
8
  import polars as pl
9
+ from typing_extensions import Self
9
10
 
10
11
  from dataframely._compat import pa, sa, sa_TypeEngine
11
12
  from dataframely._polars import PolarsDataType
@@ -3,7 +3,9 @@
3
3
 
4
4
  import contextlib
5
5
  from types import TracebackType
6
- from typing import TypedDict, Unpack
6
+ from typing import TypedDict
7
+
8
+ from typing_extensions import Unpack
7
9
 
8
10
 
9
11
  class Options(TypedDict):
@@ -8,12 +8,13 @@ import warnings
8
8
  from abc import ABC
9
9
  from collections.abc import Iterable, Mapping, Sequence
10
10
  from pathlib import Path
11
- from typing import IO, Any, Literal, Self, overload
11
+ from typing import IO, Any, Literal, overload
12
12
 
13
13
  import polars as pl
14
14
  import polars.exceptions as plexc
15
15
  import polars.selectors as cs
16
16
  from polars._typing import FileSource, PartitioningScheme
17
+ from typing_extensions import Self
17
18
 
18
19
  from ._base_schema import BaseSchema
19
20
  from ._compat import pa, sa