sqlmodel 0.0.41__tar.gz → 0.0.43__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-0.0.41 → sqlmodel-0.0.43}/PKG-INFO +1 -1
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/pyproject.toml +1 -1
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/lint.sh +1 -2
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/__init__.py +5 -1
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/main.py +17 -10
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_field_sa_args_kwargs.py +19 -1
- sqlmodel-0.0.43/tests/test_field_sa_type.py +22 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_pydantic/test_field.py +34 -2
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/LICENSE +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/README.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/advanced/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/advanced/decimal/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/advanced/decimal/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/advanced/uuid/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/advanced/uuid/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/advanced/uuid/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/automatic_id_none_refresh/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/automatic_id_none_refresh/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/automatic_id_none_refresh/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/automatic_id_none_refresh/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/app.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/database.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/models.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/app.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/database.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/hero_model.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/team_model.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/create_tables/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/create_tables/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/delete/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/delete/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/insert/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/insert/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/select/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/select/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/select/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/select/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/select/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/select/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/update/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/update/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/annotations/en/tutorial003.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/delete/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/delete/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/delete/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/delete/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_001.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_002.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_003.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_004.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_005.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_006.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/main.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_extra_coverage.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_005.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_006.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/delete/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/delete/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/limit_and_offset/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/multiple_models/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/multiple_models/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/multiple_models/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/read_one/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/read_one/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/relationships/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/response_model/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/response_model/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/session_with_dependency/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/simple_hero_api/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/simple_hero_api/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/teams/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/teams/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/update/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/update/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/update/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/indexes/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/indexes/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/indexes/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/insert/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/insert/annotations/en/tutorial003.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/insert/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/insert/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/insert/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/many_to_many/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/many_to_many/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/many_to_many/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/many_to_many/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/offset_and_limit/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/offset_and_limit/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/offset_and_limit/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/offset_and_limit/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/offset_and_limit/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial006_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial007_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial008_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/one/tutorial009_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/back_populates/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/read_relationships/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/select/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/select/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/select/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/select/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/select/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/select/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/update/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/update/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/update/annotations/en/tutorial004.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/update/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/update/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/update/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/update/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial006_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial006b_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial007_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial008_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial009_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/where/tutorial011_py310.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/add_latest_release_date.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/deploy_docs_status.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/docs.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/format.sh +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/generate_select.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/prepare_release.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/scripts/test.sh +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/.agents/skills/sqlmodel/SKILL.md +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/_compat.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/default.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/ext/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/ext/asyncio/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/ext/asyncio/session.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/orm/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/orm/session.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/pool/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/py.typed +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/sql/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/sql/_expression_select_cls.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/sql/_expression_select_gen.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/sql/_expression_select_gen.py.jinja2 +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/sql/base.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/sql/expression.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/sqlmodel/sql/sqltypes.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/conftest.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_advanced/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_advanced/test_decimal/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_advanced/test_decimal/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_advanced/test_uuid/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_advanced/test_uuid/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_advanced/test_uuid/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_aliases.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_annotated_uuid.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_default.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_deprecations.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_enums.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_enums_models.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_field_sa_column.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_field_sa_relationship.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_fields_set.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_future_annotations.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_instance_no_args.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_main.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_missing_type.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_nullable.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_ondelete_raises.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_prepare_release.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_pydantic/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_pydantic/test_model_dump.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_query.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_select_gen.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_select_typing.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_sqlalchemy_type_errors.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_automatic_id_none_refresh/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_automatic_id_none_refresh/test_tutorial001_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_code_structure/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_code_structure/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_code_structure/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_create_connected_tables/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_create_connected_tables/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_delete/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_delete/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_insert/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_insert/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_select/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_select/test_tutorial001_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_select/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_select/test_tutorial004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_select/test_tutorial005.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_update/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_connect/test_update/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_create_db_and_table/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_create_db_and_table/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_create_db_and_table/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_create_db_and_table/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_delete/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_delete/test_tutorial001_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests005.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests006.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_delete/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_limit_and_offset/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_multiple_models/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_read_one/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_relationships/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_response_model/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_session_with_dependency/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_simple_hero_api/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_simple_hero_api/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_teams/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_update/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_update/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_fastapi/test_update/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_indexes/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_indexes/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_indexes/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_insert/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_insert/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_insert/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_insert/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_limit_and_offset/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_limit_and_offset/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_limit_and_offset/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_limit_and_offset/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_limit_and_offset/test_tutorial004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_many_to_many/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_many_to_many/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_many_to_many/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_many_to_many/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial005.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial006.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial007.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial008.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_one/test_tutorial009.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_back_populates/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial005.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_select/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_select/test_tutorial001_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_select/test_tutorial003_tutorial004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_update/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_update/test_tutorial001_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_update/test_tutorial003_tutorial004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/__init__.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial001.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial002.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial003.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial004.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial005.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial006.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial006b.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial007.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial008.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial009.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_tutorial/test_where/test_tutorial011.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_update.py +0 -0
- {sqlmodel-0.0.41 → sqlmodel-0.0.43}/tests/test_validation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlmodel
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.43
|
|
4
4
|
Summary: SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.
|
|
5
5
|
Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -24,7 +24,7 @@ from typing import (
|
|
|
24
24
|
overload,
|
|
25
25
|
)
|
|
26
26
|
|
|
27
|
-
from pydantic import BaseModel, EmailStr
|
|
27
|
+
from pydantic import BaseModel, Discriminator, EmailStr
|
|
28
28
|
from pydantic.fields import FieldInfo as PydanticFieldInfo
|
|
29
29
|
from sqlalchemy import (
|
|
30
30
|
Boolean,
|
|
@@ -51,6 +51,7 @@ from sqlalchemy.orm.decl_api import DeclarativeMeta
|
|
|
51
51
|
from sqlalchemy.orm.instrumentation import is_instrumented
|
|
52
52
|
from sqlalchemy.sql.schema import MetaData
|
|
53
53
|
from sqlalchemy.sql.sqltypes import LargeBinary, Time, Uuid
|
|
54
|
+
from sqlalchemy.types import TypeEngine
|
|
54
55
|
from typing_extensions import deprecated
|
|
55
56
|
|
|
56
57
|
from ._compat import (
|
|
@@ -89,6 +90,7 @@ IncEx: TypeAlias = (
|
|
|
89
90
|
| Mapping[int, Union["IncEx", bool]]
|
|
90
91
|
| Mapping[str, Union["IncEx", bool]]
|
|
91
92
|
)
|
|
93
|
+
SaTypeOrInstance: TypeAlias = TypeEngine[Any] | type[TypeEngine[Any]]
|
|
92
94
|
OnDeleteType = Literal["CASCADE", "SET NULL", "RESTRICT"]
|
|
93
95
|
|
|
94
96
|
MIN_ITEMS_DEPRECATION_MSG = (
|
|
@@ -161,6 +163,11 @@ class FieldInfo(PydanticFieldInfo): # ty: ignore[subclass-of-final-class]
|
|
|
161
163
|
raise RuntimeError(
|
|
162
164
|
"Passing sa_type is not supported when also passing a sa_column"
|
|
163
165
|
)
|
|
166
|
+
if sa_column_kwargs is not Undefined and "type_" in sa_column_kwargs:
|
|
167
|
+
raise RuntimeError(
|
|
168
|
+
"Passing type_ is not supported in sa_column_kwargs, "
|
|
169
|
+
"use sa_type instead"
|
|
170
|
+
)
|
|
164
171
|
if ondelete is not Undefined:
|
|
165
172
|
if foreign_key is Undefined:
|
|
166
173
|
raise RuntimeError("ondelete can only be used with foreign_key")
|
|
@@ -217,7 +224,7 @@ class FieldInfoMetadata:
|
|
|
217
224
|
ondelete: OnDeleteType | UndefinedType = Undefined
|
|
218
225
|
unique: bool | UndefinedType = Undefined
|
|
219
226
|
index: bool | UndefinedType = Undefined
|
|
220
|
-
sa_type:
|
|
227
|
+
sa_type: SaTypeOrInstance | UndefinedType = Undefined
|
|
221
228
|
sa_column: Column[Any] | UndefinedType = Undefined
|
|
222
229
|
sa_column_args: Sequence[Any] | UndefinedType = Undefined
|
|
223
230
|
sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined
|
|
@@ -275,14 +282,14 @@ def Field(
|
|
|
275
282
|
max_length: int | None = None,
|
|
276
283
|
allow_mutation: bool = True,
|
|
277
284
|
regex: str | None = None,
|
|
278
|
-
discriminator: str | None = None,
|
|
285
|
+
discriminator: str | Discriminator | None = None,
|
|
279
286
|
repr: bool = True,
|
|
280
287
|
primary_key: bool | UndefinedType = Undefined,
|
|
281
288
|
foreign_key: Any = Undefined,
|
|
282
289
|
unique: bool | UndefinedType = Undefined,
|
|
283
290
|
nullable: bool | UndefinedType = Undefined,
|
|
284
291
|
index: bool | UndefinedType = Undefined,
|
|
285
|
-
sa_type:
|
|
292
|
+
sa_type: SaTypeOrInstance | UndefinedType = Undefined,
|
|
286
293
|
sa_column_args: Sequence[Any] | UndefinedType = Undefined,
|
|
287
294
|
sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined,
|
|
288
295
|
schema_extra: dict[str, Any] | None = None,
|
|
@@ -324,7 +331,7 @@ def Field(
|
|
|
324
331
|
max_length: int | None = None,
|
|
325
332
|
allow_mutation: bool = True,
|
|
326
333
|
regex: str | None = None,
|
|
327
|
-
discriminator: str | None = None,
|
|
334
|
+
discriminator: str | Discriminator | None = None,
|
|
328
335
|
repr: bool = True,
|
|
329
336
|
primary_key: bool | UndefinedType = Undefined,
|
|
330
337
|
foreign_key: str,
|
|
@@ -332,7 +339,7 @@ def Field(
|
|
|
332
339
|
unique: bool | UndefinedType = Undefined,
|
|
333
340
|
nullable: bool | UndefinedType = Undefined,
|
|
334
341
|
index: bool | UndefinedType = Undefined,
|
|
335
|
-
sa_type:
|
|
342
|
+
sa_type: SaTypeOrInstance | UndefinedType = Undefined,
|
|
336
343
|
sa_column_args: Sequence[Any] | UndefinedType = Undefined,
|
|
337
344
|
sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined,
|
|
338
345
|
schema_extra: dict[str, Any] | None = None,
|
|
@@ -382,7 +389,7 @@ def Field(
|
|
|
382
389
|
max_length: int | None = None,
|
|
383
390
|
allow_mutation: bool = True,
|
|
384
391
|
regex: str | None = None,
|
|
385
|
-
discriminator: str | None = None,
|
|
392
|
+
discriminator: str | Discriminator | None = None,
|
|
386
393
|
repr: bool = True,
|
|
387
394
|
sa_column: Column[Any] | UndefinedType = Undefined,
|
|
388
395
|
schema_extra: dict[str, Any] | None = None,
|
|
@@ -421,7 +428,7 @@ def Field(
|
|
|
421
428
|
max_length: int | None = None,
|
|
422
429
|
allow_mutation: bool = True,
|
|
423
430
|
regex: str | None = None,
|
|
424
|
-
discriminator: str | None = None,
|
|
431
|
+
discriminator: str | Discriminator | None = None,
|
|
425
432
|
repr: bool = True,
|
|
426
433
|
primary_key: bool | UndefinedType = Undefined,
|
|
427
434
|
foreign_key: Any = Undefined,
|
|
@@ -429,7 +436,7 @@ def Field(
|
|
|
429
436
|
unique: bool | UndefinedType = Undefined,
|
|
430
437
|
nullable: bool | UndefinedType = Undefined,
|
|
431
438
|
index: bool | UndefinedType = Undefined,
|
|
432
|
-
sa_type:
|
|
439
|
+
sa_type: SaTypeOrInstance | UndefinedType = Undefined,
|
|
433
440
|
sa_column: Column | UndefinedType = Undefined,
|
|
434
441
|
sa_column_args: Sequence[Any] | UndefinedType = Undefined,
|
|
435
442
|
sa_column_kwargs: Mapping[str, Any] | UndefinedType = Undefined,
|
|
@@ -834,7 +841,7 @@ def get_column_from_field(field: Any) -> Column:
|
|
|
834
841
|
)
|
|
835
842
|
if sa_column_kwargs is not Undefined:
|
|
836
843
|
kwargs.update(cast(dict[Any, Any], sa_column_kwargs))
|
|
837
|
-
return Column(
|
|
844
|
+
return Column(*args, type_=sa_type, **kwargs)
|
|
838
845
|
|
|
839
846
|
|
|
840
847
|
default_registry = registry()
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
from
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
from sqlalchemy import ForeignKey, Integer, String
|
|
2
5
|
from sqlmodel import Field, SQLModel, create_engine
|
|
3
6
|
|
|
4
7
|
|
|
@@ -35,3 +38,18 @@ def test_sa_column_kargs(clear_sqlmodel, caplog) -> None:
|
|
|
35
38
|
message for message in caplog.messages if "CREATE TABLE item" in message
|
|
36
39
|
][0]
|
|
37
40
|
assert "PRIMARY KEY (id)" in create_table_log
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@pytest.mark.parametrize(
|
|
44
|
+
"field_kwargs",
|
|
45
|
+
[
|
|
46
|
+
{"sa_column_kwargs": {"type_": Integer}},
|
|
47
|
+
{"sa_type": String, "sa_column_kwargs": {"type_": Integer}},
|
|
48
|
+
],
|
|
49
|
+
)
|
|
50
|
+
def test_sa_column_kwargs_type_raises(field_kwargs: dict[str, Any]) -> None:
|
|
51
|
+
with pytest.raises(
|
|
52
|
+
RuntimeError,
|
|
53
|
+
match="Passing type_ is not supported in sa_column_kwargs, use sa_type instead",
|
|
54
|
+
):
|
|
55
|
+
Field(**field_kwargs)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from typing import Any, cast
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import Integer, String
|
|
4
|
+
from sqlmodel import Field, SQLModel
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def test_sa_type_class() -> None:
|
|
8
|
+
class Item(SQLModel, table=True):
|
|
9
|
+
id: int = Field(primary_key=True, sa_type=Integer)
|
|
10
|
+
|
|
11
|
+
id_column = cast(Any, Item).id
|
|
12
|
+
assert isinstance(id_column.type, Integer)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_sa_type_instance() -> None:
|
|
16
|
+
class Item(SQLModel, table=True):
|
|
17
|
+
id: int = Field(primary_key=True)
|
|
18
|
+
name: str = Field(sa_type=String(50))
|
|
19
|
+
|
|
20
|
+
name_column = cast(Any, Item).name
|
|
21
|
+
assert isinstance(name_column.type, String)
|
|
22
|
+
assert name_column.type.length == 50
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from decimal import Decimal
|
|
2
|
-
from typing import Literal
|
|
2
|
+
from typing import Annotated, Any, Literal
|
|
3
3
|
|
|
4
4
|
import pytest
|
|
5
5
|
from pydantic import ValidationError
|
|
6
|
-
from sqlmodel import Field, SQLModel
|
|
6
|
+
from sqlmodel import Discriminator, Field, SQLModel, Tag
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def test_decimal():
|
|
@@ -47,6 +47,38 @@ def test_discriminator():
|
|
|
47
47
|
Model(pet={"pet_type": "dog"}, n=1) # type: ignore[arg-type]
|
|
48
48
|
|
|
49
49
|
|
|
50
|
+
def test_discriminator_callable():
|
|
51
|
+
# Example adapted from
|
|
52
|
+
# [Pydantic docs](https://docs.pydantic.dev/latest/concepts/unions/#discriminated-unions-with-callable-discriminator):
|
|
53
|
+
|
|
54
|
+
class Pie(SQLModel):
|
|
55
|
+
pass
|
|
56
|
+
|
|
57
|
+
class ApplePie(Pie):
|
|
58
|
+
fruit: Literal["apple"] = "apple"
|
|
59
|
+
|
|
60
|
+
class PumpkinPie(Pie):
|
|
61
|
+
filling: Literal["pumpkin"] = "pumpkin"
|
|
62
|
+
|
|
63
|
+
def get_discriminator_value(v: Any) -> str:
|
|
64
|
+
if isinstance(v, dict):
|
|
65
|
+
return v.get("fruit", v.get("filling"))
|
|
66
|
+
return getattr(v, "fruit", getattr(v, "filling", None))
|
|
67
|
+
|
|
68
|
+
class ThanksgivingDinner(SQLModel):
|
|
69
|
+
dessert: (
|
|
70
|
+
Annotated[ApplePie, Tag("apple")] | Annotated[PumpkinPie, Tag("pumpkin")]
|
|
71
|
+
) = Field(
|
|
72
|
+
discriminator=Discriminator(get_discriminator_value),
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
apple_pie = ThanksgivingDinner.model_validate({"dessert": {"fruit": "apple"}})
|
|
76
|
+
assert isinstance(apple_pie.dessert, ApplePie)
|
|
77
|
+
|
|
78
|
+
pumpkin_pie = ThanksgivingDinner.model_validate({"dessert": {"filling": "pumpkin"}})
|
|
79
|
+
assert isinstance(pumpkin_pie.dessert, PumpkinPie)
|
|
80
|
+
|
|
81
|
+
|
|
50
82
|
def test_repr():
|
|
51
83
|
class Model(SQLModel):
|
|
52
84
|
id: int | None = Field(primary_key=True)
|
|
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-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/automatic_id_none_refresh/tutorial001_py310.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/automatic_id_none_refresh/tutorial002_py310.py
RENAMED
|
File without changes
|
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/__init__.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/app.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/database.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial001_py310/models.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/__init__.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/app.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/database.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/hero_model.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/code_structure/tutorial002_py310/team_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/connect/create_tables/tutorial001_py310.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
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/tutorial001_py310.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/tutorial002_py310.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/create_db_and_table/tutorial003_py310.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
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/main.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
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py310.py
RENAMED
|
File without changes
|
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/multiple_models/tutorial001_py310.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/multiple_models/tutorial002_py310.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/relationships/tutorial001_py310.py
RENAMED
|
File without changes
|
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/response_model/tutorial001_py310.py
RENAMED
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/session_with_dependency/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlmodel-0.0.41 → sqlmodel-0.0.43}/docs_src/tutorial/fastapi/simple_hero_api/tutorial001_py310.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
|
|
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
|