sqlmodel-ext 0.4.1__tar.gz → 0.4.2__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 (172) hide show
  1. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/PKG-INFO +7 -1
  2. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/pyproject.toml +7 -1
  3. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/__init__.py +1 -1
  4. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/base.py +8 -0
  5. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/_internal/path.py +5 -1
  6. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/uv.lock +2 -2
  7. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/.github/workflows/ci.yml +0 -0
  8. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/.gitignore +0 -0
  9. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/LICENSE +0 -0
  10. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/README.md +0 -0
  11. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/README_zh.md +0 -0
  12. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/config.mts +0 -0
  13. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/en.mts +0 -0
  14. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/theme/index.ts +0 -0
  15. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/theme/style/custom.css +0 -0
  16. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/zh.mts +0 -0
  17. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/cached-table.md +0 -0
  18. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/cascade-delete-semantics.md +0 -0
  19. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/crud-pipeline.md +0 -0
  20. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/index.md +0 -0
  21. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/metaclass.md +0 -0
  22. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/optimistic-lock.md +0 -0
  23. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/polymorphic-internals.md +0 -0
  24. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/prerequisites.md +0 -0
  25. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/relation-load-checker.md +0 -0
  26. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/relation-preload.md +0 -0
  27. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/cached-table.md +0 -0
  28. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/crud.md +0 -0
  29. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/field-types.md +0 -0
  30. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/index.md +0 -0
  31. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/optimistic-lock.md +0 -0
  32. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/pagination.md +0 -0
  33. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/polymorphic.md +0 -0
  34. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/relation-load-checker.md +0 -0
  35. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/relation-preload.md +0 -0
  36. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/cache-queries.md +0 -0
  37. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/configure-cascade-delete.md +0 -0
  38. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/define-jti-models.md +0 -0
  39. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/define-sti-models.md +0 -0
  40. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/handle-concurrent-updates.md +0 -0
  41. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/index.md +0 -0
  42. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/integrate-with-fastapi.md +0 -0
  43. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/paginate-a-list-endpoint.md +0 -0
  44. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/prevent-missing-greenlet.md +0 -0
  45. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/release-connection-during-long-io.md +0 -0
  46. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/index.md +0 -0
  47. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/cached-table.md +0 -0
  48. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/crud.md +0 -0
  49. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/index.md +0 -0
  50. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/metaclass.md +0 -0
  51. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/optimistic-lock.md +0 -0
  52. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/polymorphic.md +0 -0
  53. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/prerequisites.md +0 -0
  54. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/relation-load-checker.md +0 -0
  55. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/relation-preload.md +0 -0
  56. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/base-classes.md +0 -0
  57. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/crud-methods.md +0 -0
  58. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/decorators.md +0 -0
  59. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/field-types.md +0 -0
  60. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/index.md +0 -0
  61. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/mixins.md +0 -0
  62. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/pagination-types.md +0 -0
  63. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/01-getting-started.md +0 -0
  64. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/02-building-a-blog-api.md +0 -0
  65. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/03-adding-redis-cache.md +0 -0
  66. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/index.md +0 -0
  67. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/cached-table.md +0 -0
  68. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/cascade-delete-semantics.md +0 -0
  69. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/crud-pipeline.md +0 -0
  70. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/index.md +0 -0
  71. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/metaclass.md +0 -0
  72. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/optimistic-lock.md +0 -0
  73. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/polymorphic-internals.md +0 -0
  74. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/prerequisites.md +0 -0
  75. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/relation-load-checker.md +0 -0
  76. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/relation-preload.md +0 -0
  77. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/cached-table.md +0 -0
  78. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/crud.md +0 -0
  79. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/field-types.md +0 -0
  80. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/index.md +0 -0
  81. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/optimistic-lock.md +0 -0
  82. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/pagination.md +0 -0
  83. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/polymorphic.md +0 -0
  84. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/relation-load-checker.md +0 -0
  85. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/relation-preload.md +0 -0
  86. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/cache-queries.md +0 -0
  87. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/configure-cascade-delete.md +0 -0
  88. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/define-jti-models.md +0 -0
  89. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/define-sti-models.md +0 -0
  90. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/handle-concurrent-updates.md +0 -0
  91. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/index.md +0 -0
  92. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/integrate-with-fastapi.md +0 -0
  93. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/paginate-a-list-endpoint.md +0 -0
  94. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/prevent-missing-greenlet.md +0 -0
  95. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/release-connection-during-long-io.md +0 -0
  96. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/index.md +0 -0
  97. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/cached-table.md +0 -0
  98. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/crud.md +0 -0
  99. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/index.md +0 -0
  100. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/metaclass.md +0 -0
  101. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/optimistic-lock.md +0 -0
  102. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/polymorphic.md +0 -0
  103. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/prerequisites.md +0 -0
  104. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/relation-load-checker.md +0 -0
  105. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/relation-preload.md +0 -0
  106. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/base-classes.md +0 -0
  107. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/crud-methods.md +0 -0
  108. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/decorators.md +0 -0
  109. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/field-types.md +0 -0
  110. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/index.md +0 -0
  111. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/mixins.md +0 -0
  112. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/pagination-types.md +0 -0
  113. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/01-getting-started.md +0 -0
  114. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/02-building-a-blog-api.md +0 -0
  115. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/03-adding-redis-cache.md +0 -0
  116. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/index.md +0 -0
  117. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/examples/consumer_integration/run.py +0 -0
  118. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/package.json +0 -0
  119. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/pnpm-lock.yaml +0 -0
  120. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_compat.py +0 -0
  121. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_exceptions.py +0 -0
  122. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_sa_type.py +0 -0
  123. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_utils.py +0 -0
  124. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/__init__.py +0 -0
  125. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/_internal/__init__.py +0 -0
  126. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/_ssrf.py +0 -0
  127. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/__init__.py +0 -0
  128. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/__init__.py +0 -0
  129. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/array.py +0 -0
  130. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/exceptions.py +0 -0
  131. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/jsonb_types.py +0 -0
  132. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/numpy_vector.py +0 -0
  133. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/ip_address.py +0 -0
  134. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/mixins/__init__.py +0 -0
  135. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/mixins/module_name_mixin.py +0 -0
  136. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/url.py +0 -0
  137. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/__init__.py +0 -0
  138. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/cached_table.py +0 -0
  139. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/info_response.py +0 -0
  140. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/optimistic_lock.py +0 -0
  141. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/polymorphic.py +0 -0
  142. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/relation_preload.py +0 -0
  143. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/table.py +0 -0
  144. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/pagination.py +0 -0
  145. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/relation_load_checker.py +0 -0
  146. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/session.py +0 -0
  147. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/__init__.py +0 -0
  148. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/_models.py +0 -0
  149. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/conftest.py +0 -0
  150. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_all_fields_optional_constraints.py +0 -0
  151. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_annotated_default_factory_inheritance.py +0 -0
  152. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_array_explicit_field_sa_type.py +0 -0
  153. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_basic_crud.py +0 -0
  154. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_cached_table.py +0 -0
  155. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_crud_extended.py +0 -0
  156. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_decimal_types.py +0 -0
  157. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_deferred_index.py +0 -0
  158. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_enhanced_session.py +0 -0
  159. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_field_types_misc.py +0 -0
  160. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_field_types_str_num.py +0 -0
  161. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_field_types_url_ssrf.py +0 -0
  162. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_metaclass_extra.py +0 -0
  163. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_optimistic_lock.py +0 -0
  164. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_pagination.py +0 -0
  165. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_pg_dialect_types.py +0 -0
  166. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_polymorphic_jti.py +0 -0
  167. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_polymorphic_sti_query.py +0 -0
  168. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_relation_load_checker.py +0 -0
  169. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_relation_preload.py +0 -0
  170. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_relationship_pep604.py +0 -0
  171. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_smoke_imports.py +0 -0
  172. {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_sti_default_isolation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmodel-ext
3
- Version: 0.4.1
3
+ Version: 0.4.2
4
4
  Summary: Extended SQLModel infrastructure: smart metaclass, async CRUD mixins, polymorphic inheritance, optimistic locking, relation preloading, and reusable field types.
5
5
  Project-URL: Homepage, https://github.com/Foxerine/sqlmodel-ext
6
6
  Project-URL: Repository, https://github.com/Foxerine/sqlmodel-ext
@@ -30,8 +30,14 @@ Requires-Dist: orjson>=3.0; extra == 'cache'
30
30
  Requires-Dist: redis>=5.0; extra == 'cache'
31
31
  Provides-Extra: dev
32
32
  Requires-Dist: aiosqlite>=0.20; extra == 'dev'
33
+ Requires-Dist: fakeredis>=2.20; extra == 'dev'
34
+ Requires-Dist: fastapi>=0.100.0; extra == 'dev'
35
+ Requires-Dist: numpy>=1.24; extra == 'dev'
36
+ Requires-Dist: orjson>=3.0; extra == 'dev'
37
+ Requires-Dist: pgvector>=0.3; extra == 'dev'
33
38
  Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
34
39
  Requires-Dist: pytest>=8.0; extra == 'dev'
40
+ Requires-Dist: redis>=5.0; extra == 'dev'
35
41
  Requires-Dist: ruff>=0.4; extra == 'dev'
36
42
  Provides-Extra: fastapi
37
43
  Requires-Dist: fastapi>=0.100.0; extra == 'fastapi'
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sqlmodel-ext"
7
- version = "0.4.1"
7
+ version = "0.4.2"
8
8
  description = "Extended SQLModel infrastructure: smart metaclass, async CRUD mixins, polymorphic inheritance, optimistic locking, relation preloading, and reusable field types."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -43,10 +43,16 @@ pgvector = [
43
43
  "pgvector>=0.3",
44
44
  ]
45
45
  dev = [
46
+ # Pull in every optional feature so the full test suite can run: the
47
+ # cached-table (fakeredis), FastAPI-integration and pgvector/NumPy tests
48
+ # hard-import these. Keeping them here (rather than in the CI workflow)
49
+ # makes ``uv pip install -e ".[dev]"`` reproduce CI locally.
50
+ "sqlmodel-ext[fastapi,cache,pgvector]",
46
51
  "pytest>=8.0",
47
52
  "pytest-asyncio>=0.24",
48
53
  "aiosqlite>=0.20",
49
54
  "ruff>=0.4",
55
+ "fakeredis>=2.20",
50
56
  ]
51
57
 
52
58
  [project.urls]
@@ -20,7 +20,7 @@ Quick start::
20
20
  user = await user.save(session)
21
21
  users = await User.get(session, fetch_mode="all")
22
22
  """
23
- __version__ = "0.4.1"
23
+ __version__ = "0.4.2"
24
24
 
25
25
  # Base
26
26
  from sqlmodel_ext.base import SQLModelBase, ExtraIgnoreModelBase, CustomTableArg
@@ -975,6 +975,14 @@ class __DeclarativeMeta(SQLModelMetaclass):
975
975
  # FieldInfoMetadata channel — plain setattr is dropped
976
976
  # before SQLModel's column build (see _durably_set_sa_type).
977
977
  _durably_set_sa_type(field_value, sa_type)
978
+ else:
979
+ # Bare default value (e.g. ``fpath: FilePathType = Path("a.txt")``):
980
+ # the assignment is neither Undefined nor a FieldInfo. Wrap it in a
981
+ # Field so the extracted sa_type reaches the column builder while the
982
+ # default is preserved — without this branch the column silently
983
+ # falls back to the base-type inference (AutoString for Path),
984
+ # dropping the type's result_processor.
985
+ attrs[field_name] = Field(default=field_value, sa_type=sa_type)
978
986
 
979
987
  # 5. Save SQLModel FieldInfo from Annotated fields before super().__new__(),
980
988
  # because Pydantic rebuilds model_fields with plain FieldInfo that lacks
@@ -17,7 +17,11 @@ class _PathAsSQLString(TypeDecorator):
17
17
 
18
18
  class _BasePathHandler(ABC):
19
19
  """(Internal) Base class for single-value type handlers like Path."""
20
- sa_type: TypeDecorator = _PathAsSQLString
20
+ # Must be an *instance*, not the class: the metaclass extracts this value
21
+ # from the core-schema metadata and hands it straight to the column
22
+ # builder, which expects a TypeEngine instance (a bare class silently
23
+ # falls back to AutoString, dropping the Path<->str result_processor).
24
+ sa_type: TypeDecorator = _PathAsSQLString()
21
25
 
22
26
  @classmethod
23
27
  @abstractmethod
@@ -500,7 +500,7 @@ wheels = [
500
500
 
501
501
  [[package]]
502
502
  name = "sqlmodel-ext"
503
- version = "0.3.5"
503
+ version = "0.4.1"
504
504
  source = { editable = "." }
505
505
  dependencies = [
506
506
  { name = "pydantic" },
@@ -545,7 +545,7 @@ requires-dist = [
545
545
  { name = "redis", marker = "extra == 'cache'", specifier = ">=5.0" },
546
546
  { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.4" },
547
547
  { name = "sqlalchemy", specifier = ">=2.0" },
548
- { name = "sqlmodel", specifier = ">=0.0.22" },
548
+ { name = "sqlmodel", specifier = ">=0.0.32" },
549
549
  { name = "sqlmodel-ext", extras = ["postgresql"], marker = "extra == 'pgvector'" },
550
550
  ]
551
551
  provides-extras = ["fastapi", "cache", "postgresql", "pgvector", "dev"]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes