dataframely 1.14.0__tar.gz → 2.0.0__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 (261) hide show
  1. {dataframely-1.14.0 → dataframely-2.0.0}/.github/workflows/build.yml +5 -1
  2. {dataframely-1.14.0 → dataframely-2.0.0}/.github/workflows/ci.yml +18 -7
  3. {dataframely-1.14.0 → dataframely-2.0.0}/.gitignore +1 -0
  4. {dataframely-1.14.0 → dataframely-2.0.0}/.pre-commit-config.yaml +17 -0
  5. {dataframely-1.14.0 → dataframely-2.0.0}/.readthedocs.yml +1 -3
  6. dataframely-2.0.0/Cargo.lock +2139 -0
  7. dataframely-2.0.0/Cargo.toml +34 -0
  8. {dataframely-1.14.0 → dataframely-2.0.0}/PKG-INFO +10 -6
  9. {dataframely-1.14.0 → dataframely-2.0.0}/README.md +2 -2
  10. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/__init__.py +6 -6
  11. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_base_schema.py +20 -53
  12. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_compat.py +14 -10
  13. dataframely-2.0.0/dataframely/_deprecation.py +27 -0
  14. dataframely-2.0.0/dataframely/_match_to_schema.py +89 -0
  15. dataframely-1.14.0/dataframely/_extre.pyi → dataframely-2.0.0/dataframely/_native.pyi +23 -10
  16. dataframely-2.0.0/dataframely/_plugin.py +84 -0
  17. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_polars.py +8 -0
  18. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_pydantic.py +4 -6
  19. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_rule.py +50 -18
  20. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_storage/delta.py +7 -4
  21. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_storage/parquet.py +42 -24
  22. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_typing.py +3 -3
  23. dataframely-2.0.0/dataframely/collection/__init__.py +20 -0
  24. dataframely-1.14.0/dataframely/_base_collection.py → dataframely-2.0.0/dataframely/collection/_base.py +42 -21
  25. {dataframely-1.14.0/dataframely → dataframely-2.0.0/dataframely/collection}/collection.py +278 -209
  26. dataframely-2.0.0/dataframely/collection/filter_result.py +70 -0
  27. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/_base.py +5 -19
  28. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/_registry.py +2 -2
  29. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/any.py +2 -2
  30. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/array.py +1 -1
  31. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/categorical.py +3 -3
  32. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/datetime.py +31 -31
  33. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/decimal.py +5 -5
  34. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/enum.py +3 -3
  35. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/float.py +17 -12
  36. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/integer.py +6 -6
  37. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/list.py +5 -5
  38. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/object.py +1 -1
  39. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/string.py +5 -5
  40. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/struct.py +4 -4
  41. dataframely-2.0.0/dataframely/exc.py +43 -0
  42. dataframely-1.14.0/dataframely/failure.py → dataframely-2.0.0/dataframely/filter_result.py +59 -2
  43. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/functional.py +37 -9
  44. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/random.py +37 -37
  45. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/schema.py +361 -205
  46. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/testing/factory.py +9 -3
  47. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/testing/mask.py +2 -2
  48. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/testing/storage.py +64 -48
  49. {dataframely-1.14.0 → dataframely-2.0.0}/docker-compose.yml +0 -1
  50. dataframely-2.0.0/docs/_templates/autosummary/class.rst +12 -0
  51. dataframely-2.0.0/docs/_templates/autosummary/method.rst +9 -0
  52. dataframely-2.0.0/docs/_templates/classes/column.rst +13 -0
  53. dataframely-2.0.0/docs/_templates/classes/error.rst +13 -0
  54. dataframely-2.0.0/docs/_templates/classes/filter_result.rst +14 -0
  55. dataframely-2.0.0/docs/api/collection/generation.rst +10 -0
  56. dataframely-2.0.0/docs/api/collection/index.rst +20 -0
  57. dataframely-2.0.0/docs/api/collection/io.rst +37 -0
  58. dataframely-2.0.0/docs/api/collection/metadata.rst +17 -0
  59. dataframely-2.0.0/docs/api/collection/operations.rst +11 -0
  60. dataframely-2.0.0/docs/api/collection/validation.rst +15 -0
  61. dataframely-2.0.0/docs/api/columns/index.rst +36 -0
  62. dataframely-2.0.0/docs/api/errors/index.rst +15 -0
  63. dataframely-2.0.0/docs/api/filter_result/failure_info.rst +37 -0
  64. dataframely-2.0.0/docs/api/filter_result/index.rst +19 -0
  65. dataframely-2.0.0/docs/api/index.rst +49 -0
  66. dataframely-2.0.0/docs/api/misc/index.rst +13 -0
  67. dataframely-2.0.0/docs/api/schema/conversion.rst +11 -0
  68. dataframely-2.0.0/docs/api/schema/generation.rst +11 -0
  69. dataframely-2.0.0/docs/api/schema/index.rst +20 -0
  70. dataframely-2.0.0/docs/api/schema/io.rst +37 -0
  71. dataframely-2.0.0/docs/api/schema/metadata.rst +12 -0
  72. dataframely-2.0.0/docs/api/schema/validation.rst +13 -0
  73. {dataframely-1.14.0 → dataframely-2.0.0}/docs/conf.py +92 -27
  74. dataframely-2.0.0/docs/css/custom.css +4 -0
  75. dataframely-2.0.0/docs/guides/development.md +54 -0
  76. dataframely-2.0.0/docs/guides/examples/index.md +8 -0
  77. {dataframely-1.14.0/docs/sites → dataframely-2.0.0/docs/guides}/examples/real-world.ipynb +35 -23
  78. dataframely-2.0.0/docs/guides/faq.md +48 -0
  79. dataframely-2.0.0/docs/guides/features/column-metadata.md +29 -0
  80. dataframely-2.0.0/docs/guides/features/data-generation.md +308 -0
  81. dataframely-2.0.0/docs/guides/features/index.md +12 -0
  82. dataframely-2.0.0/docs/guides/features/lazy-validation.md +41 -0
  83. dataframely-2.0.0/docs/guides/features/primary-keys.md +56 -0
  84. dataframely-2.0.0/docs/guides/features/serialization.md +203 -0
  85. dataframely-2.0.0/docs/guides/features/sql-generation.md +99 -0
  86. dataframely-2.0.0/docs/guides/index.md +22 -0
  87. dataframely-2.0.0/docs/guides/migration/index.md +39 -0
  88. dataframely-2.0.0/docs/guides/migration/v1-v2.md +161 -0
  89. dataframely-2.0.0/docs/guides/quickstart.md +244 -0
  90. dataframely-2.0.0/docs/index.md +27 -0
  91. {dataframely-1.14.0 → dataframely-2.0.0}/pixi.lock +12340 -4205
  92. {dataframely-1.14.0 → dataframely-2.0.0}/pixi.toml +31 -26
  93. {dataframely-1.14.0 → dataframely-2.0.0}/pyproject.toml +18 -10
  94. dataframely-2.0.0/rust-toolchain.toml +3 -0
  95. dataframely-2.0.0/src/lib.rs +15 -0
  96. dataframely-2.0.0/src/polars_plugin/mod.rs +90 -0
  97. dataframely-2.0.0/src/polars_plugin/rule_failure.rs +52 -0
  98. dataframely-2.0.0/src/polars_plugin/utils.rs +12 -0
  99. dataframely-2.0.0/src/polars_plugin/validation_error.rs +90 -0
  100. dataframely-1.14.0/src/lib.rs → dataframely-2.0.0/src/regex/mod.rs +5 -13
  101. dataframely-1.14.0/src/regex_repr.rs → dataframely-2.0.0/src/regex/repr.rs +55 -2
  102. {dataframely-1.14.0 → dataframely-2.0.0}/tests/benches/test_collection.py +6 -6
  103. {dataframely-1.14.0 → dataframely-2.0.0}/tests/benches/test_failure.py +1 -1
  104. {dataframely-1.14.0 → dataframely-2.0.0}/tests/benches/test_schema.py +7 -7
  105. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_base.py +6 -5
  106. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_cast.py +3 -3
  107. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_create_empty.py +2 -2
  108. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_filter_validate.py +81 -31
  109. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_matches.py +3 -3
  110. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_storage.py +121 -70
  111. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_array.py +22 -18
  112. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_datetime.py +27 -23
  113. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_decimal.py +9 -2
  114. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_float.py +12 -7
  115. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_integer.py +6 -5
  116. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_list.py +1 -1
  117. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_string.py +3 -3
  118. dataframely-2.0.0/tests/columns/test_base.py +12 -0
  119. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_default_dtypes.py +1 -1
  120. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_matches.py +5 -1
  121. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_polars_schema.py +1 -1
  122. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_pyarrow.py +68 -34
  123. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_rules.py +3 -3
  124. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_sample.py +7 -3
  125. dataframely-1.14.0/tests/columns/test_sql_schema.py → dataframely-2.0.0/tests/columns/test_sqlalchemy_columns.py +7 -7
  126. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_str.py +1 -1
  127. dataframely-2.0.0/tests/conftest.py +49 -0
  128. dataframely-2.0.0/tests/core_validation/test_match_to_schema.py +74 -0
  129. {dataframely-1.14.0 → dataframely-2.0.0}/tests/failure_info/test_storage.py +37 -15
  130. {dataframely-1.14.0 → dataframely-2.0.0}/tests/functional/test_relationships.py +42 -11
  131. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_base.py +4 -5
  132. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_cast.py +1 -1
  133. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_filter.py +68 -28
  134. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_repr.py +7 -7
  135. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_sample.py +54 -8
  136. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_serialization.py +1 -1
  137. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_storage.py +86 -35
  138. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_validate.py +85 -54
  139. dataframely-2.0.0/tests/test_deprecation.py +24 -0
  140. dataframely-1.14.0/tests/test_extre.py → dataframely-2.0.0/tests/test_native_regex.py +11 -10
  141. {dataframely-1.14.0 → dataframely-2.0.0}/tests/test_pydantic.py +2 -2
  142. dataframely-2.0.0/tests/test_typing.py +82 -0
  143. dataframely-1.14.0/Cargo.lock +0 -359
  144. dataframely-1.14.0/Cargo.toml +0 -19
  145. dataframely-1.14.0/dataframely/_deprecation.py +0 -50
  146. dataframely-1.14.0/dataframely/_validation.py +0 -85
  147. dataframely-1.14.0/dataframely/exc.py +0 -112
  148. dataframely-1.14.0/dataframely/mypy.py +0 -424
  149. dataframely-1.14.0/dataframely/testing/typing.py +0 -30
  150. dataframely-1.14.0/docs/Makefile +0 -20
  151. dataframely-1.14.0/docs/_api/dataframely.collection.rst +0 -7
  152. dataframely-1.14.0/docs/_api/dataframely.columns.any.rst +0 -7
  153. dataframely-1.14.0/docs/_api/dataframely.columns.bool.rst +0 -7
  154. dataframely-1.14.0/docs/_api/dataframely.columns.datetime.rst +0 -7
  155. dataframely-1.14.0/docs/_api/dataframely.columns.decimal.rst +0 -7
  156. dataframely-1.14.0/docs/_api/dataframely.columns.enum.rst +0 -7
  157. dataframely-1.14.0/docs/_api/dataframely.columns.float.rst +0 -7
  158. dataframely-1.14.0/docs/_api/dataframely.columns.integer.rst +0 -7
  159. dataframely-1.14.0/docs/_api/dataframely.columns.list.rst +0 -7
  160. dataframely-1.14.0/docs/_api/dataframely.columns.rst +0 -122
  161. dataframely-1.14.0/docs/_api/dataframely.columns.string.rst +0 -7
  162. dataframely-1.14.0/docs/_api/dataframely.columns.struct.rst +0 -7
  163. dataframely-1.14.0/docs/_api/dataframely.config.rst +0 -7
  164. dataframely-1.14.0/docs/_api/dataframely.exc.rst +0 -7
  165. dataframely-1.14.0/docs/_api/dataframely.failure.rst +0 -7
  166. dataframely-1.14.0/docs/_api/dataframely.functional.rst +0 -7
  167. dataframely-1.14.0/docs/_api/dataframely.mypy.rst +0 -7
  168. dataframely-1.14.0/docs/_api/dataframely.random.rst +0 -7
  169. dataframely-1.14.0/docs/_api/dataframely.rst +0 -83
  170. dataframely-1.14.0/docs/_api/dataframely.schema.rst +0 -7
  171. dataframely-1.14.0/docs/_api/dataframely.testing.const.rst +0 -7
  172. dataframely-1.14.0/docs/_api/dataframely.testing.factory.rst +0 -7
  173. dataframely-1.14.0/docs/_api/dataframely.testing.mask.rst +0 -7
  174. dataframely-1.14.0/docs/_api/dataframely.testing.rst +0 -58
  175. dataframely-1.14.0/docs/_api/dataframely.testing.rules.rst +0 -7
  176. dataframely-1.14.0/docs/_api/dataframely.testing.typing.rst +0 -7
  177. dataframely-1.14.0/docs/_api/modules.rst +0 -7
  178. dataframely-1.14.0/docs/index.rst +0 -47
  179. dataframely-1.14.0/docs/make.bat +0 -35
  180. dataframely-1.14.0/docs/sites/development.rst +0 -49
  181. dataframely-1.14.0/docs/sites/faq.rst +0 -30
  182. dataframely-1.14.0/docs/sites/features/index.rst +0 -7
  183. dataframely-1.14.0/docs/sites/features/primary-keys.rst +0 -47
  184. dataframely-1.14.0/docs/sites/installation.rst +0 -9
  185. dataframely-1.14.0/docs/sites/quickstart.rst +0 -262
  186. dataframely-1.14.0/docs/sites/versioning.rst +0 -20
  187. dataframely-1.14.0/tests/core_validation/test_column_validation.py +0 -27
  188. dataframely-1.14.0/tests/core_validation/test_dtype_validation.py +0 -106
  189. dataframely-1.14.0/tests/test_deprecation.py +0 -63
  190. dataframely-1.14.0/tests/test_exc.py +0 -43
  191. dataframely-1.14.0/tests/test_typing.py +0 -288
  192. {dataframely-1.14.0 → dataframely-2.0.0}/.copier-answers.yml +0 -0
  193. {dataframely-1.14.0 → dataframely-2.0.0}/.envrc +0 -0
  194. {dataframely-1.14.0 → dataframely-2.0.0}/.gitattributes +0 -0
  195. {dataframely-1.14.0 → dataframely-2.0.0}/.github/CODEOWNERS +0 -0
  196. {dataframely-1.14.0 → dataframely-2.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  197. {dataframely-1.14.0 → dataframely-2.0.0}/.github/dependabot.yml +0 -0
  198. {dataframely-1.14.0 → dataframely-2.0.0}/.github/release-drafter.yml +0 -0
  199. {dataframely-1.14.0 → dataframely-2.0.0}/.github/workflows/chore.yml +0 -0
  200. {dataframely-1.14.0 → dataframely-2.0.0}/.github/workflows/nightly.yml +0 -0
  201. {dataframely-1.14.0 → dataframely-2.0.0}/.github/workflows/scorecard.yml +0 -0
  202. {dataframely-1.14.0 → dataframely-2.0.0}/.prettierignore +0 -0
  203. {dataframely-1.14.0 → dataframely-2.0.0}/.prettierrc +0 -0
  204. {dataframely-1.14.0 → dataframely-2.0.0}/LICENSE +0 -0
  205. {dataframely-1.14.0 → dataframely-2.0.0}/SECURITY.md +0 -0
  206. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_filter.py +0 -0
  207. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_serialization.py +0 -0
  208. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_storage/__init__.py +0 -0
  209. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_storage/_base.py +0 -0
  210. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_storage/_exc.py +0 -0
  211. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/_storage/constants.py +0 -0
  212. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/__init__.py +0 -0
  213. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/_mixins.py +0 -0
  214. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/_utils.py +0 -0
  215. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/binary.py +0 -0
  216. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/columns/bool.py +0 -0
  217. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/config.py +0 -0
  218. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/py.typed +0 -0
  219. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/testing/__init__.py +0 -0
  220. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/testing/const.py +0 -0
  221. {dataframely-1.14.0 → dataframely-2.0.0}/dataframely/testing/rules.py +0 -0
  222. {dataframely-1.14.0 → dataframely-2.0.0}/docs/_static/custom.css +0 -0
  223. {dataframely-1.14.0 → dataframely-2.0.0}/docs/_static/favicon.ico +0 -0
  224. {dataframely-1.14.0/src → dataframely-2.0.0/src/regex}/errdefs.rs +0 -0
  225. {dataframely-1.14.0 → dataframely-2.0.0}/tests/benches/conftest.py +0 -0
  226. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_collection_future_annotations.py +0 -0
  227. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_filter_one_to_n.py +0 -0
  228. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_ignore_in_filter.py +0 -0
  229. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_implementation.py +0 -0
  230. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_join.py +0 -0
  231. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_optional_members.py +0 -0
  232. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_repr.py +0 -0
  233. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_sample.py +0 -0
  234. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_serialization.py +0 -0
  235. {dataframely-1.14.0 → dataframely-2.0.0}/tests/collection/test_validate_input.py +0 -0
  236. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/__init__.py +0 -0
  237. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_any.py +0 -0
  238. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_binary.py +0 -0
  239. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_enum.py +0 -0
  240. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_object.py +0 -0
  241. {dataframely-1.14.0 → dataframely-2.0.0}/tests/column_types/test_struct.py +0 -0
  242. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/__init__.py +0 -0
  243. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_alias.py +0 -0
  244. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_check.py +0 -0
  245. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_metadata.py +0 -0
  246. {dataframely-1.14.0 → dataframely-2.0.0}/tests/columns/test_utils.py +0 -0
  247. {dataframely-1.14.0 → dataframely-2.0.0}/tests/core_validation/__init__.py +0 -0
  248. {dataframely-1.14.0 → dataframely-2.0.0}/tests/core_validation/test_rule_evaluation.py +0 -0
  249. {dataframely-1.14.0 → dataframely-2.0.0}/tests/functional/test_concat.py +0 -0
  250. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_create_empty.py +0 -0
  251. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_create_empty_if_none.py +0 -0
  252. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_inheritance.py +0 -0
  253. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_matches.py +0 -0
  254. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_read_write_parquet.py +0 -0
  255. {dataframely-1.14.0 → dataframely-2.0.0}/tests/schema/test_rule_implementation.py +0 -0
  256. {dataframely-1.14.0 → dataframely-2.0.0}/tests/storage/test_delta.py +0 -0
  257. {dataframely-1.14.0 → dataframely-2.0.0}/tests/test_compat.py +0 -0
  258. {dataframely-1.14.0 → dataframely-2.0.0}/tests/test_config.py +0 -0
  259. {dataframely-1.14.0 → dataframely-2.0.0}/tests/test_factory.py +0 -0
  260. {dataframely-1.14.0 → dataframely-2.0.0}/tests/test_random.py +0 -0
  261. {dataframely-1.14.0 → dataframely-2.0.0}/tests/test_serialization.py +0 -0
@@ -57,12 +57,16 @@ jobs:
57
57
  environments: build
58
58
  - name: Set version
59
59
  run: pixi run -e build set-version
60
+ - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
61
+ with:
62
+ python-version: "3.10"
60
63
  - name: Build wheel
61
64
  uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
62
65
  with:
63
66
  command: build
64
- args: --out dist -i python3.10
67
+ args: --out dist --release
65
68
  manylinux: auto
69
+ sccache: true
66
70
  - name: Check package
67
71
  run: pixi run -e build check-wheel
68
72
  - name: Upload package
@@ -27,27 +27,32 @@ jobs:
27
27
  uses: prefix-dev/setup-pixi@194d461b21b6c5717c722ffc597fa91ed2ff29fa # v0.9.1
28
28
  with:
29
29
  environments: default lint
30
- - name: Install repository
31
- run: pixi run -e default postinstall
30
+ - name: Install Rust
31
+ run: rustup show
32
+ - name: Cache Rust dependencies
33
+ uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
32
34
  - name: pre-commit
33
35
  run: pixi run pre-commit-run --color=always --show-diff-on-failure
34
36
 
35
37
  unit-tests:
36
- name: Unit Tests (${{ matrix.os == 'ubuntu-latest' && 'Linux' || 'Windows' }}) - ${{ matrix.environment }}
38
+ name: Unit Tests (${{ contains(matrix.os, 'ubuntu') && 'Linux' || (contains(matrix.os, 'windows') && 'Windows' || 'macOS') }}) - ${{ matrix.environment }}
37
39
  timeout-minutes: 30
38
40
  runs-on: ${{ matrix.os }}
39
41
  strategy:
40
42
  fail-fast: true
41
43
  matrix:
42
- os: [ubuntu-latest, windows-latest]
43
- environment: [py310, py311, py312, py313]
44
+ os: [ubuntu-latest, windows-latest, macos-latest]
45
+ environment: [py310, py311, py312, py313, py314]
44
46
  with_optionals: [false]
45
47
  include:
46
48
  - os: ubuntu-latest
47
- environment: py313-optionals
49
+ environment: py314-optionals
48
50
  with_optionals: true
49
51
  - os: windows-latest
50
- environment: py313-optionals
52
+ environment: py314-optionals
53
+ with_optionals: true
54
+ - os: macos-latest
55
+ environment: py314-optionals
51
56
  with_optionals: true
52
57
  steps:
53
58
  - name: Checkout branch
@@ -56,6 +61,12 @@ jobs:
56
61
  uses: prefix-dev/setup-pixi@194d461b21b6c5717c722ffc597fa91ed2ff29fa # v0.9.1
57
62
  with:
58
63
  environments: ${{ matrix.environment }}
64
+ # FIXME: Remove when `s3_server` fixture does not start a process anymore
65
+ post-cleanup: ${{ matrix.os != 'windows-latest' }}
66
+ - name: Install Rust
67
+ run: rustup show
68
+ - name: Cache Rust dependencies
69
+ uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
59
70
  - name: Install repository
60
71
  run: pixi run -e ${{ matrix.environment }} postinstall
61
72
  - name: Run pytest
@@ -213,6 +213,7 @@ instance/
213
213
 
214
214
  # Sphinx documentation
215
215
  docs/_build/
216
+ docs/**/_gen/
216
217
 
217
218
  # PyBuilder
218
219
  .pybuilder/
@@ -48,6 +48,22 @@ repos:
48
48
  language: system
49
49
  types: [python]
50
50
  require_serial: true
51
+ # cargo-fmt
52
+ - id: cargo-fmt
53
+ name: cargo-fmt
54
+ entry: cargo fmt
55
+ language: system
56
+ types: [rust]
57
+ require_serial: true
58
+ pass_filenames: false
59
+ # cargo-clippy
60
+ - id: cargo-clippy
61
+ name: cargo-clippy
62
+ entry: cargo clippy --all-targets
63
+ language: system
64
+ types: [rust]
65
+ require_serial: true
66
+ pass_filenames: false
51
67
  # prettier
52
68
  - id: prettier
53
69
  name: prettier
@@ -77,6 +93,7 @@ repos:
77
93
  entry: pixi run -e lint check-merge-conflict --assume-in-merge
78
94
  language: system
79
95
  types: [text]
96
+ exclude: \.rst$
80
97
  # typos
81
98
  - id: typos
82
99
  name: typos
@@ -4,9 +4,7 @@ build:
4
4
  tools:
5
5
  python: mambaforge-latest
6
6
  commands:
7
- - mamba install -c conda-forge -c nodefaults pixi
8
- - pixi run -e docs postinstall
9
- - pixi run -e docs docs
7
+ - mamba install -c conda-forge/label/rust_dev -c conda-forge -c nodefaults pixi rust
10
8
  - pixi run -e docs readthedocs
11
9
  sphinx:
12
10
  configuration: docs/conf.py