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.
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/PKG-INFO +7 -1
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/pyproject.toml +7 -1
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/__init__.py +1 -1
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/base.py +8 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/_internal/path.py +5 -1
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/uv.lock +2 -2
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/.github/workflows/ci.yml +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/.gitignore +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/LICENSE +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/README.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/README_zh.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/config.mts +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/en.mts +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/theme/index.ts +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/theme/style/custom.css +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/.vitepress/zh.mts +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/cached-table.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/cascade-delete-semantics.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/crud-pipeline.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/metaclass.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/optimistic-lock.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/polymorphic-internals.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/prerequisites.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/relation-load-checker.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/explanation/relation-preload.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/cached-table.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/crud.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/field-types.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/optimistic-lock.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/pagination.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/polymorphic.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/relation-load-checker.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/guide/relation-preload.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/cache-queries.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/configure-cascade-delete.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/define-jti-models.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/define-sti-models.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/handle-concurrent-updates.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/integrate-with-fastapi.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/paginate-a-list-endpoint.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/prevent-missing-greenlet.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/release-connection-during-long-io.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/cached-table.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/crud.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/metaclass.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/optimistic-lock.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/polymorphic.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/prerequisites.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/relation-load-checker.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/internals/relation-preload.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/base-classes.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/crud-methods.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/decorators.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/field-types.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/mixins.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/reference/pagination-types.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/01-getting-started.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/02-building-a-blog-api.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/03-adding-redis-cache.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/tutorials/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/cached-table.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/cascade-delete-semantics.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/crud-pipeline.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/metaclass.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/optimistic-lock.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/polymorphic-internals.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/prerequisites.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/relation-load-checker.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/explanation/relation-preload.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/cached-table.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/crud.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/field-types.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/optimistic-lock.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/pagination.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/polymorphic.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/relation-load-checker.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/guide/relation-preload.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/cache-queries.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/configure-cascade-delete.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/define-jti-models.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/define-sti-models.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/handle-concurrent-updates.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/integrate-with-fastapi.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/paginate-a-list-endpoint.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/prevent-missing-greenlet.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/how-to/release-connection-during-long-io.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/cached-table.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/crud.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/metaclass.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/optimistic-lock.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/polymorphic.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/prerequisites.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/relation-load-checker.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/internals/relation-preload.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/base-classes.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/crud-methods.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/decorators.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/field-types.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/mixins.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/reference/pagination-types.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/01-getting-started.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/02-building-a-blog-api.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/03-adding-redis-cache.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/tutorials/index.md +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/examples/consumer_integration/run.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/package.json +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/pnpm-lock.yaml +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_compat.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_exceptions.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_sa_type.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/_utils.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/__init__.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/_internal/__init__.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/_ssrf.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/__init__.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/__init__.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/array.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/exceptions.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/jsonb_types.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/numpy_vector.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/ip_address.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/mixins/__init__.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/mixins/module_name_mixin.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/url.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/__init__.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/cached_table.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/info_response.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/optimistic_lock.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/polymorphic.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/relation_preload.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/mixins/table.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/pagination.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/relation_load_checker.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/session.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/__init__.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/_models.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/conftest.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_all_fields_optional_constraints.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_annotated_default_factory_inheritance.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_array_explicit_field_sa_type.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_basic_crud.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_cached_table.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_crud_extended.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_decimal_types.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_deferred_index.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_enhanced_session.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_field_types_misc.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_field_types_str_num.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_field_types_url_ssrf.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_metaclass_extra.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_optimistic_lock.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_pagination.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_pg_dialect_types.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_polymorphic_jti.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_polymorphic_sti_query.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_relation_load_checker.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_relation_preload.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_relationship_pep604.py +0 -0
- {sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_smoke_imports.py +0 -0
- {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.
|
|
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.
|
|
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]
|
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
{sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/docs/en/how-to/release-connection-during-long-io.md
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
{sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/_internal/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/dialects/postgresql/array.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/src/sqlmodel_ext/field_types/mixins/module_name_mixin.py
RENAMED
|
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
|
{sqlmodel_ext-0.4.1 → sqlmodel_ext-0.4.2}/tests/test_annotated_default_factory_inheritance.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|