sqlmodel 0.0.34__tar.gz → 0.0.36__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.34 → sqlmodel-0.0.36}/PKG-INFO +2 -3
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/pyproject.toml +3 -26
- sqlmodel-0.0.36/scripts/docs.py +384 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/scripts/mkdocs_hooks.py +4 -4
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/__init__.py +1 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/_compat.py +15 -14
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/ext/asyncio/session.py +25 -31
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/main.py +186 -186
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/orm/session.py +25 -31
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/sql/_expression_select_cls.py +2 -3
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/sql/_expression_select_gen.py +2 -7
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/sql/_expression_select_gen.py.jinja2 +2 -7
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/sql/expression.py +38 -47
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/conftest.py +4 -4
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_advanced/test_decimal/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_advanced/test_uuid/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_advanced/test_uuid/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_aliases.py +12 -16
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_annotated_uuid.py +1 -2
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_field_sa_args_kwargs.py +4 -6
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_field_sa_column.py +14 -14
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_field_sa_relationship.py +10 -12
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_future_annotations.py +6 -6
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_instance_no_args.py +4 -6
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_main.py +11 -11
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_missing_type.py +1 -3
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_nullable.py +15 -17
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_ondelete_raises.py +5 -5
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_pydantic/test_field.py +3 -3
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_query.py +2 -4
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_select_typing.py +3 -5
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_sqlalchemy_type_errors.py +5 -5
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_automatic_id_none_refresh/test_tutorial001_tutorial002.py +2 -4
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_code_structure/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_code_structure/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_create_connected_tables/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_delete/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_insert/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_select/test_tutorial001_tutorial002.py +0 -2
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_select/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_select/test_tutorial004.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_select/test_tutorial005.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_connect/test_update/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_create_db_and_table/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_create_db_and_table/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_create_db_and_table/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_delete/test_tutorial001_tutorial002.py +0 -2
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests004.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests005.py +3 -3
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests006.py +3 -3
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_simple_hero_api/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_update/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_fastapi/test_update/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_indexes/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_indexes/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_insert/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_insert/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_insert/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_limit_and_offset/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_limit_and_offset/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_limit_and_offset/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_limit_and_offset/test_tutorial004.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_many_to_many/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_many_to_many/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_many_to_many/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial004.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial005.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial006.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial007.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial008.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_one/test_tutorial009.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial004.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial005.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_select/test_tutorial001_tutorial002.py +2 -4
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_select/test_tutorial003_tutorial004.py +2 -4
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_update/test_tutorial001_tutorial002.py +0 -2
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_update/test_tutorial003_tutorial004.py +0 -2
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial001.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial002.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial003.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial004.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial005.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial006.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial007.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial008.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial009.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_tutorial/test_where/test_tutorial011.py +0 -1
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_validation.py +3 -5
- sqlmodel-0.0.34/docs_src/advanced/decimal/tutorial001_py39.py +0 -61
- sqlmodel-0.0.34/docs_src/advanced/uuid/tutorial001_py39.py +0 -65
- sqlmodel-0.0.34/docs_src/advanced/uuid/tutorial002_py39.py +0 -64
- sqlmodel-0.0.34/docs_src/tutorial/automatic_id_none_refresh/tutorial001_py39.py +0 -81
- sqlmodel-0.0.34/docs_src/tutorial/automatic_id_none_refresh/tutorial002_py39.py +0 -82
- sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial001_py39/app.py +0 -29
- sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial001_py39/models.py +0 -21
- sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial002_py310/database.py +0 -10
- sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial002_py39/app.py +0 -30
- sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial002_py39/database.py +0 -10
- sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial002_py39/hero_model.py +0 -16
- sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial002_py39/team_model.py +0 -14
- sqlmodel-0.0.34/docs_src/tutorial/connect/create_tables/tutorial001_py39.py +0 -36
- sqlmodel-0.0.34/docs_src/tutorial/connect/delete/tutorial001_py39.py +0 -81
- sqlmodel-0.0.34/docs_src/tutorial/connect/insert/tutorial001_py39.py +0 -69
- sqlmodel-0.0.34/docs_src/tutorial/connect/select/tutorial001_py39.py +0 -78
- sqlmodel-0.0.34/docs_src/tutorial/connect/select/tutorial002_py39.py +0 -78
- sqlmodel-0.0.34/docs_src/tutorial/connect/select/tutorial003_py39.py +0 -78
- sqlmodel-0.0.34/docs_src/tutorial/connect/select/tutorial004_py39.py +0 -78
- sqlmodel-0.0.34/docs_src/tutorial/connect/select/tutorial005_py39.py +0 -78
- sqlmodel-0.0.34/docs_src/tutorial/connect/update/tutorial001_py39.py +0 -75
- sqlmodel-0.0.34/docs_src/tutorial/create_db_and_table/tutorial001_py39.py +0 -18
- sqlmodel-0.0.34/docs_src/tutorial/create_db_and_table/tutorial002_py39.py +0 -24
- sqlmodel-0.0.34/docs_src/tutorial/create_db_and_table/tutorial003_py39.py +0 -24
- sqlmodel-0.0.34/docs_src/tutorial/delete/tutorial001_py39.py +0 -100
- sqlmodel-0.0.34/docs_src/tutorial/delete/tutorial002_py39.py +0 -101
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_001.md +0 -17
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_002.md +0 -25
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_003.md +0 -37
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_004.md +0 -29
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_005.md +0 -41
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_006.md +0 -23
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/main.py +0 -105
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_extra_coverage.py +0 -38
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main.py +0 -125
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_001.py +0 -32
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_002.py +0 -32
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_003.py +0 -33
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_004.py +0 -35
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_005.py +0 -37
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_006.py +0 -41
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/delete/tutorial001_py39.py +0 -98
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py39.py +0 -67
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/multiple_models/tutorial001_py39.py +0 -60
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/multiple_models/tutorial002_py39.py +0 -58
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/read_one/tutorial001_py39.py +0 -67
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/relationships/tutorial001_py39.py +0 -199
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/response_model/tutorial001_py39.py +0 -46
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py39.py +0 -105
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/simple_hero_api/tutorial001_py39.py +0 -46
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/teams/tutorial001_py39.py +0 -190
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/update/tutorial001_py39.py +0 -87
- sqlmodel-0.0.34/docs_src/tutorial/fastapi/update/tutorial002_py39.py +0 -101
- sqlmodel-0.0.34/docs_src/tutorial/indexes/tutorial001_py39.py +0 -51
- sqlmodel-0.0.34/docs_src/tutorial/indexes/tutorial002_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/insert/tutorial001_py39.py +0 -45
- sqlmodel-0.0.34/docs_src/tutorial/insert/tutorial002_py39.py +0 -42
- sqlmodel-0.0.34/docs_src/tutorial/insert/tutorial003_py39.py +0 -43
- sqlmodel-0.0.34/docs_src/tutorial/many_to_many/tutorial001_py39.py +0 -84
- sqlmodel-0.0.34/docs_src/tutorial/many_to_many/tutorial002_py39.py +0 -107
- sqlmodel-0.0.34/docs_src/tutorial/many_to_many/tutorial003_py39.py +0 -123
- sqlmodel-0.0.34/docs_src/tutorial/offset_and_limit/tutorial001_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/offset_and_limit/tutorial002_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/offset_and_limit/tutorial003_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/offset_and_limit/tutorial004_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial001_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial002_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial003_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial004_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial005_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial006_py39.py +0 -57
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial007_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial008_py39.py +0 -57
- sqlmodel-0.0.34/docs_src/tutorial/one/tutorial009_py39.py +0 -57
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py39.py +0 -143
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py39.py +0 -143
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial001_py39.py +0 -110
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial002_py39.py +0 -110
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial003_py39.py +0 -112
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial004_py39.py +0 -111
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial005_py39.py +0 -124
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py39.py +0 -102
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py39.py +0 -70
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py39.py +0 -117
- sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py39.py +0 -127
- sqlmodel-0.0.34/docs_src/tutorial/select/tutorial001_py39.py +0 -51
- sqlmodel-0.0.34/docs_src/tutorial/select/tutorial002_py39.py +0 -52
- sqlmodel-0.0.34/docs_src/tutorial/select/tutorial003_py39.py +0 -51
- sqlmodel-0.0.34/docs_src/tutorial/select/tutorial004_py39.py +0 -49
- sqlmodel-0.0.34/docs_src/tutorial/update/tutorial001_py39.py +0 -65
- sqlmodel-0.0.34/docs_src/tutorial/update/tutorial002_py39.py +0 -65
- sqlmodel-0.0.34/docs_src/tutorial/update/tutorial003_py39.py +0 -79
- sqlmodel-0.0.34/docs_src/tutorial/update/tutorial004_py39.py +0 -80
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial001_py39.py +0 -51
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial002_py39.py +0 -51
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial003_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial004_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial005_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial006_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial007_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial008_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial009_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial010_py310.py +0 -57
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial010_py39.py +0 -59
- sqlmodel-0.0.34/docs_src/tutorial/where/tutorial011_py39.py +0 -59
- sqlmodel-0.0.34/pdm_build.py +0 -40
- sqlmodel-0.0.34/scripts/docs.py +0 -147
- sqlmodel-0.0.34/tests/test_tutorial/test_select/__init__.py +0 -0
- sqlmodel-0.0.34/tests/test_tutorial/test_update/__init__.py +0 -0
- sqlmodel-0.0.34/tests/test_tutorial/test_where/__init__.py +0 -0
- sqlmodel-0.0.34/tests/test_tutorial/test_where/test_tutorial010.py +0 -37
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/LICENSE +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/README.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/advanced/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/advanced/decimal/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/advanced/decimal/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/advanced/uuid/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/advanced/uuid/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/advanced/uuid/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/automatic_id_none_refresh/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/automatic_id_none_refresh/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/automatic_id_none_refresh/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/automatic_id_none_refresh/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/tutorial001_py310/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/tutorial001_py310/app.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/tutorial001_py310/database.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/tutorial001_py310/models.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial001_py39 → sqlmodel-0.0.36/docs_src/tutorial/code_structure/tutorial002_py310}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/tutorial002_py310/app.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial001_py39 → sqlmodel-0.0.36/docs_src/tutorial/code_structure/tutorial002_py310}/database.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/tutorial002_py310/hero_model.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/code_structure/tutorial002_py310/team_model.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial002_py310 → sqlmodel-0.0.36/docs_src/tutorial/connect}/__init__.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/code_structure/tutorial002_py39 → sqlmodel-0.0.36/docs_src/tutorial/connect/create_tables}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/create_tables/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/connect → sqlmodel-0.0.36/docs_src/tutorial/connect/delete}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/delete/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/connect/create_tables → sqlmodel-0.0.36/docs_src/tutorial/connect/insert}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/insert/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/connect/delete → sqlmodel-0.0.36/docs_src/tutorial/connect/select}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/select/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/select/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/select/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/select/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/select/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/connect/insert → sqlmodel-0.0.36/docs_src/tutorial/connect/update}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/connect/update/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/connect/select → sqlmodel-0.0.36/docs_src/tutorial/create_db_and_table}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/create_db_and_table/annotations/en/tutorial003.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/create_db_and_table/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/create_db_and_table/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/create_db_and_table/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/connect/update → sqlmodel-0.0.36/docs_src/tutorial/delete}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/delete/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/delete/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/delete/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/create_db_and_table → sqlmodel-0.0.36/docs_src/tutorial/fastapi}/__init__.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/delete → sqlmodel-0.0.36/docs_src/tutorial/fastapi/app_testing}/__init__.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi → sqlmodel-0.0.36/docs_src/tutorial/fastapi/app_testing/tutorial001_py310}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_001.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_002.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_003.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_004.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_005.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_006.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/main.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_extra_coverage.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_001.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_002.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_003.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_004.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_005.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_006.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing → sqlmodel-0.0.36/docs_src/tutorial/fastapi/delete}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/delete/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py310 → sqlmodel-0.0.36/docs_src/tutorial/fastapi/limit_and_offset}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/app_testing/tutorial001_py39 → sqlmodel-0.0.36/docs_src/tutorial/fastapi/multiple_models}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/multiple_models/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/multiple_models/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/delete → sqlmodel-0.0.36/docs_src/tutorial/fastapi/read_one}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/read_one/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/limit_and_offset → sqlmodel-0.0.36/docs_src/tutorial/fastapi/relationships}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/multiple_models → sqlmodel-0.0.36/docs_src/tutorial/fastapi/response_model}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/response_model/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/read_one → sqlmodel-0.0.36/docs_src/tutorial/fastapi/session_with_dependency}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/relationships → sqlmodel-0.0.36/docs_src/tutorial/fastapi/simple_hero_api}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/simple_hero_api/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/response_model → sqlmodel-0.0.36/docs_src/tutorial/fastapi/teams}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/teams/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/session_with_dependency → sqlmodel-0.0.36/docs_src/tutorial/fastapi/update}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/update/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/fastapi/update/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/simple_hero_api → sqlmodel-0.0.36/docs_src/tutorial/indexes}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/indexes/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/indexes/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/teams → sqlmodel-0.0.36/docs_src/tutorial/insert}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/insert/annotations/en/tutorial003.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/insert/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/insert/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/insert/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/fastapi/update → sqlmodel-0.0.36/docs_src/tutorial/many_to_many}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/many_to_many/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/many_to_many/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/many_to_many/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/indexes → sqlmodel-0.0.36/docs_src/tutorial/offset_and_limit}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/offset_and_limit/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/offset_and_limit/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/offset_and_limit/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/offset_and_limit/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/insert → sqlmodel-0.0.36/docs_src/tutorial/one}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial006_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial007_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial008_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/one/tutorial009_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/many_to_many → sqlmodel-0.0.36/docs_src/tutorial/relationship_attributes}/__init__.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/offset_and_limit → sqlmodel-0.0.36/docs_src/tutorial/relationship_attributes/back_populates}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/one → sqlmodel-0.0.36/docs_src/tutorial/relationship_attributes/cascade_delete_relationships}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes → sqlmodel-0.0.36/docs_src/tutorial/relationship_attributes/create_and_update_relationships}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/back_populates → sqlmodel-0.0.36/docs_src/tutorial/relationship_attributes/define_relationship_attributes}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/cascade_delete_relationships → sqlmodel-0.0.36/docs_src/tutorial/relationship_attributes/read_relationships}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/create_and_update_relationships → sqlmodel-0.0.36/docs_src/tutorial/select}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/select/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/select/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/select/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/select/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/select/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/define_relationship_attributes → sqlmodel-0.0.36/docs_src/tutorial/update}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/update/annotations/en/tutorial002.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/update/annotations/en/tutorial004.md +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/update/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/update/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/update/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/update/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/relationship_attributes/read_relationships → sqlmodel-0.0.36/docs_src/tutorial/where}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial001_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial002_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial003_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial004_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial005_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial006_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial007_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial008_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial009_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/docs_src/tutorial/where/tutorial011_py310.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/scripts/deploy_docs_status.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/scripts/format.sh +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/scripts/generate_select.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/scripts/lint.sh +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/scripts/test.sh +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/default.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/select → sqlmodel-0.0.36/sqlmodel/ext}/__init__.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/update → sqlmodel-0.0.36/sqlmodel/ext/asyncio}/__init__.py +0 -0
- {sqlmodel-0.0.34/docs_src/tutorial/where → sqlmodel-0.0.36/sqlmodel/orm}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/pool/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/py.typed +0 -0
- {sqlmodel-0.0.34/sqlmodel/ext → sqlmodel-0.0.36/sqlmodel/sql}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/sql/base.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/sqlmodel/sql/sqltypes.py +0 -0
- {sqlmodel-0.0.34/sqlmodel/ext/asyncio → sqlmodel-0.0.36/tests}/__init__.py +0 -0
- {sqlmodel-0.0.34/sqlmodel/orm → sqlmodel-0.0.36/tests/test_advanced}/__init__.py +0 -0
- {sqlmodel-0.0.34/sqlmodel/sql → sqlmodel-0.0.36/tests/test_advanced/test_decimal}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests → sqlmodel-0.0.36/tests/test_advanced/test_uuid}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_default.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_deprecations.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_enums.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_enums_models.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_fields_set.py +0 -0
- {sqlmodel-0.0.34/tests/test_advanced → sqlmodel-0.0.36/tests/test_pydantic}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_select_gen.py +0 -0
- {sqlmodel-0.0.34/tests/test_advanced/test_decimal → sqlmodel-0.0.36/tests/test_tutorial}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_advanced/test_uuid → sqlmodel-0.0.36/tests/test_tutorial/test_automatic_id_none_refresh}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_pydantic → sqlmodel-0.0.36/tests/test_tutorial/test_code_structure}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial → sqlmodel-0.0.36/tests/test_tutorial/test_connect}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_automatic_id_none_refresh → sqlmodel-0.0.36/tests/test_tutorial/test_connect/test_create_connected_tables}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_code_structure → sqlmodel-0.0.36/tests/test_tutorial/test_connect/test_delete}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_connect → sqlmodel-0.0.36/tests/test_tutorial/test_connect/test_insert}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_connect/test_create_connected_tables → sqlmodel-0.0.36/tests/test_tutorial/test_connect/test_select}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_connect/test_delete → sqlmodel-0.0.36/tests/test_tutorial/test_connect/test_update}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_connect/test_insert → sqlmodel-0.0.36/tests/test_tutorial/test_create_db_and_table}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_connect/test_select → sqlmodel-0.0.36/tests/test_tutorial/test_delete}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_connect/test_update → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_create_db_and_table → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_app_testing}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi}/test_delete/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_limit_and_offset}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_app_testing → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_multiple_models}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_delete → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_read_one}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_limit_and_offset → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_relationships}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_multiple_models → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_response_model}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_read_one → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_session_with_dependency}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_relationships → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_simple_hero_api}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_response_model → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_teams}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_session_with_dependency → sqlmodel-0.0.36/tests/test_tutorial/test_fastapi/test_update}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_simple_hero_api → sqlmodel-0.0.36/tests/test_tutorial/test_indexes}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_teams → sqlmodel-0.0.36/tests/test_tutorial/test_insert}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_fastapi/test_update → sqlmodel-0.0.36/tests/test_tutorial/test_limit_and_offset}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_indexes → sqlmodel-0.0.36/tests/test_tutorial/test_many_to_many}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_insert → sqlmodel-0.0.36/tests/test_tutorial/test_one}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_limit_and_offset → sqlmodel-0.0.36/tests/test_tutorial/test_relationship_attributes}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_many_to_many → sqlmodel-0.0.36/tests/test_tutorial/test_relationship_attributes/test_back_populates}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_one → sqlmodel-0.0.36/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_relationship_attributes → sqlmodel-0.0.36/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_relationship_attributes/test_back_populates → sqlmodel-0.0.36/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships → sqlmodel-0.0.36/tests/test_tutorial/test_relationship_attributes/test_read_relationships}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes → sqlmodel-0.0.36/tests/test_tutorial/test_select}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship → sqlmodel-0.0.36/tests/test_tutorial/test_update}/__init__.py +0 -0
- {sqlmodel-0.0.34/tests/test_tutorial/test_relationship_attributes/test_read_relationships → sqlmodel-0.0.36/tests/test_tutorial/test_where}/__init__.py +0 -0
- {sqlmodel-0.0.34 → sqlmodel-0.0.36}/tests/test_update.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.36
|
|
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
|
|
@@ -11,7 +11,6 @@ Classifier: Intended Audience :: Developers
|
|
|
11
11
|
Classifier: Intended Audience :: Science/Research
|
|
12
12
|
Classifier: Intended Audience :: System Administrators
|
|
13
13
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -28,7 +27,7 @@ Project-URL: Documentation, https://sqlmodel.tiangolo.com
|
|
|
28
27
|
Project-URL: Repository, https://github.com/fastapi/sqlmodel
|
|
29
28
|
Project-URL: Issues, https://github.com/fastapi/sqlmodel/issues
|
|
30
29
|
Project-URL: Changelog, https://sqlmodel.tiangolo.com/release-notes/
|
|
31
|
-
Requires-Python: >=3.
|
|
30
|
+
Requires-Python: >=3.10
|
|
32
31
|
Requires-Dist: SQLAlchemy<2.1.0,>=2.0.14
|
|
33
32
|
Requires-Dist: pydantic>=2.11.0
|
|
34
33
|
Description-Content-Type: text/markdown
|
|
@@ -9,7 +9,7 @@ name = "sqlmodel"
|
|
|
9
9
|
dynamic = []
|
|
10
10
|
description = "SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness."
|
|
11
11
|
readme = "README.md"
|
|
12
|
-
requires-python = ">=3.
|
|
12
|
+
requires-python = ">=3.10"
|
|
13
13
|
authors = [
|
|
14
14
|
{ name = "Sebastián Ramírez", email = "tiangolo@gmail.com" },
|
|
15
15
|
]
|
|
@@ -24,7 +24,6 @@ classifiers = [
|
|
|
24
24
|
"Intended Audience :: Science/Research",
|
|
25
25
|
"Intended Audience :: System Administrators",
|
|
26
26
|
"Programming Language :: Python :: 3 :: Only",
|
|
27
|
-
"Programming Language :: Python :: 3.9",
|
|
28
27
|
"Programming Language :: Python :: 3.10",
|
|
29
28
|
"Programming Language :: Python :: 3.11",
|
|
30
29
|
"Programming Language :: Python :: 3.12",
|
|
@@ -41,7 +40,7 @@ dependencies = [
|
|
|
41
40
|
"SQLAlchemy >=2.0.14,<2.1.0",
|
|
42
41
|
"pydantic>=2.11.0",
|
|
43
42
|
]
|
|
44
|
-
version = "0.0.
|
|
43
|
+
version = "0.0.36"
|
|
45
44
|
|
|
46
45
|
[project.urls]
|
|
47
46
|
Homepage = "https://github.com/fastapi/sqlmodel"
|
|
@@ -69,7 +68,7 @@ docs = [
|
|
|
69
68
|
"mkdocstrings[python]==0.30.1",
|
|
70
69
|
"pillow==11.3.0",
|
|
71
70
|
"pyyaml>=5.3.1,<7.0.0",
|
|
72
|
-
"typer==0.23.
|
|
71
|
+
"typer==0.23.2",
|
|
73
72
|
]
|
|
74
73
|
github-actions = [
|
|
75
74
|
"httpx>=0.27.0,<0.29.0",
|
|
@@ -107,28 +106,6 @@ source-includes = [
|
|
|
107
106
|
"sqlmodel/sql/expression.py.jinja2",
|
|
108
107
|
]
|
|
109
108
|
|
|
110
|
-
[tool.tiangolo._internal-slim-build.packages.sqlmodel-slim.project]
|
|
111
|
-
name = "sqlmodel-slim"
|
|
112
|
-
readme = "sqlmodel-slim/README.md"
|
|
113
|
-
dependencies = [
|
|
114
|
-
"sqlmodel",
|
|
115
|
-
]
|
|
116
|
-
|
|
117
|
-
[tool.tiangolo._internal-slim-build.packages.sqlmodel-slim.project.optional-dependencies]
|
|
118
|
-
|
|
119
|
-
[tool.tiangolo._internal-slim-build.packages.sqlmodel-slim.project.scripts]
|
|
120
|
-
|
|
121
|
-
[tool.tiangolo._internal-slim-build.packages.sqlmodel-slim.tool.pdm.build]
|
|
122
|
-
excludes = [
|
|
123
|
-
"sqlmodel",
|
|
124
|
-
"docs_src",
|
|
125
|
-
"tests",
|
|
126
|
-
"pdm_build.py",
|
|
127
|
-
]
|
|
128
|
-
source-includes = [
|
|
129
|
-
"",
|
|
130
|
-
]
|
|
131
|
-
|
|
132
109
|
[tool.coverage.run]
|
|
133
110
|
parallel = true
|
|
134
111
|
data_file = "coverage/.coverage"
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import os
|
|
3
|
+
import re
|
|
4
|
+
import shutil
|
|
5
|
+
import subprocess
|
|
6
|
+
from http.server import HTTPServer, SimpleHTTPRequestHandler
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
import mkdocs.utils
|
|
10
|
+
import typer
|
|
11
|
+
from jinja2 import Template
|
|
12
|
+
from ruff.__main__ import find_ruff_bin
|
|
13
|
+
|
|
14
|
+
logging.basicConfig(level=logging.INFO)
|
|
15
|
+
|
|
16
|
+
mkdocs_name = "mkdocs.yml"
|
|
17
|
+
docs_path = Path("docs")
|
|
18
|
+
en_docs_path = Path("")
|
|
19
|
+
|
|
20
|
+
app = typer.Typer()
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@app.callback()
|
|
24
|
+
def callback() -> None:
|
|
25
|
+
# For MacOS with Cairo
|
|
26
|
+
os.environ["DYLD_FALLBACK_LIBRARY_PATH"] = "/opt/homebrew/lib"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
index_sponsors_template = """
|
|
30
|
+
{% if sponsors %}
|
|
31
|
+
{% for sponsor in sponsors.gold -%}
|
|
32
|
+
<a href="{{ sponsor.url }}" target="_blank" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}"></a>
|
|
33
|
+
{% endfor -%}
|
|
34
|
+
{%- for sponsor in sponsors.silver -%}
|
|
35
|
+
<a href="{{ sponsor.url }}" target="_blank" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}"></a>
|
|
36
|
+
{% endfor %}
|
|
37
|
+
{% endif %}
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def generate_readme_content() -> str:
|
|
42
|
+
en_index = en_docs_path / "docs" / "index.md"
|
|
43
|
+
content = en_index.read_text("utf-8")
|
|
44
|
+
match_pre = re.search(r"</style>\n\n", content)
|
|
45
|
+
match_start = re.search(r"<!-- sponsors -->", content)
|
|
46
|
+
match_end = re.search(r"<!-- /sponsors -->", content)
|
|
47
|
+
sponsors_data_path = en_docs_path / "data" / "sponsors.yml"
|
|
48
|
+
sponsors = mkdocs.utils.yaml_load(sponsors_data_path.read_text(encoding="utf-8"))
|
|
49
|
+
if not (match_start and match_end):
|
|
50
|
+
raise RuntimeError("Couldn't auto-generate sponsors section")
|
|
51
|
+
if not match_pre:
|
|
52
|
+
raise RuntimeError("Couldn't find pre section (<style>) in index.md")
|
|
53
|
+
frontmatter_end = match_pre.end()
|
|
54
|
+
pre_end = match_start.end()
|
|
55
|
+
post_start = match_end.start()
|
|
56
|
+
template = Template(index_sponsors_template)
|
|
57
|
+
message = template.render(sponsors=sponsors)
|
|
58
|
+
pre_content = content[frontmatter_end:pre_end]
|
|
59
|
+
post_content = content[post_start:]
|
|
60
|
+
new_content = pre_content + message + post_content
|
|
61
|
+
# Remove content between <!-- only-mkdocs --> and <!-- /only-mkdocs -->
|
|
62
|
+
new_content = re.sub(
|
|
63
|
+
r"<!-- only-mkdocs -->.*?<!-- /only-mkdocs -->",
|
|
64
|
+
"",
|
|
65
|
+
new_content,
|
|
66
|
+
flags=re.DOTALL,
|
|
67
|
+
)
|
|
68
|
+
return new_content
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@app.command()
|
|
72
|
+
def generate_readme() -> None:
|
|
73
|
+
"""
|
|
74
|
+
Generate README.md content from main index.md
|
|
75
|
+
"""
|
|
76
|
+
typer.echo("Generating README")
|
|
77
|
+
readme_path = Path("README.md")
|
|
78
|
+
new_content = generate_readme_content()
|
|
79
|
+
readme_path.write_text(new_content, encoding="utf-8")
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@app.command()
|
|
83
|
+
def verify_readme() -> None:
|
|
84
|
+
"""
|
|
85
|
+
Verify README.md content from main index.md
|
|
86
|
+
"""
|
|
87
|
+
typer.echo("Verifying README")
|
|
88
|
+
readme_path = Path("README.md")
|
|
89
|
+
generated_content = generate_readme_content()
|
|
90
|
+
readme_content = readme_path.read_text("utf-8")
|
|
91
|
+
if generated_content != readme_content:
|
|
92
|
+
typer.secho(
|
|
93
|
+
"README.md outdated from the latest index.md", color=typer.colors.RED
|
|
94
|
+
)
|
|
95
|
+
raise typer.Abort()
|
|
96
|
+
typer.echo("Valid README ✅")
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
@app.command()
|
|
100
|
+
def live(dirty: bool = False) -> None:
|
|
101
|
+
"""
|
|
102
|
+
Serve with livereload a docs site for a specific language.
|
|
103
|
+
|
|
104
|
+
This only shows the actual translated files, not the placeholders created with
|
|
105
|
+
build-all.
|
|
106
|
+
|
|
107
|
+
Takes an optional LANG argument with the name of the language to serve, by default
|
|
108
|
+
en.
|
|
109
|
+
"""
|
|
110
|
+
# Enable line numbers during local development to make it easier to highlight
|
|
111
|
+
args = ["mkdocs", "serve", "--dev-addr", "127.0.0.1:8008"]
|
|
112
|
+
if dirty:
|
|
113
|
+
args.append("--dirty")
|
|
114
|
+
subprocess.run(args, env={**os.environ, "LINENUMS": "true"}, check=True)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
@app.command()
|
|
118
|
+
def build() -> None:
|
|
119
|
+
"""
|
|
120
|
+
Build the docs.
|
|
121
|
+
"""
|
|
122
|
+
print("Building docs")
|
|
123
|
+
subprocess.run(["mkdocs", "build"], check=True)
|
|
124
|
+
typer.secho("Successfully built docs", color=typer.colors.GREEN)
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
@app.command()
|
|
128
|
+
def serve() -> None:
|
|
129
|
+
"""
|
|
130
|
+
A quick server to preview a built site.
|
|
131
|
+
|
|
132
|
+
For development, prefer the command live (or just mkdocs serve).
|
|
133
|
+
|
|
134
|
+
This is here only to preview the documentation site.
|
|
135
|
+
|
|
136
|
+
Make sure you run the build command first.
|
|
137
|
+
"""
|
|
138
|
+
typer.echo("Warning: this is a very simple server.")
|
|
139
|
+
typer.echo("For development, use the command live instead.")
|
|
140
|
+
typer.echo("This is here only to preview the documentation site.")
|
|
141
|
+
typer.echo("Make sure you run the build command first.")
|
|
142
|
+
os.chdir("site")
|
|
143
|
+
server_address = ("", 8008)
|
|
144
|
+
server = HTTPServer(server_address, SimpleHTTPRequestHandler)
|
|
145
|
+
typer.echo("Serving at: http://127.0.0.1:8008")
|
|
146
|
+
server.serve_forever()
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
@app.command()
|
|
150
|
+
def generate_docs_src_versions_for_file(file_path: Path) -> None:
|
|
151
|
+
target_versions = ["py39", "py310"]
|
|
152
|
+
full_path_str = str(file_path)
|
|
153
|
+
for target_version in target_versions:
|
|
154
|
+
if f"_{target_version}" in full_path_str:
|
|
155
|
+
logging.info(
|
|
156
|
+
f"Skipping {file_path}, already a version file for {target_version}"
|
|
157
|
+
)
|
|
158
|
+
return
|
|
159
|
+
base_content = file_path.read_text(encoding="utf-8")
|
|
160
|
+
previous_content = {base_content}
|
|
161
|
+
for target_version in target_versions:
|
|
162
|
+
version_result = subprocess.run(
|
|
163
|
+
[
|
|
164
|
+
find_ruff_bin(),
|
|
165
|
+
"check",
|
|
166
|
+
"--target-version",
|
|
167
|
+
target_version,
|
|
168
|
+
"--fix",
|
|
169
|
+
"--unsafe-fixes",
|
|
170
|
+
"-",
|
|
171
|
+
],
|
|
172
|
+
input=base_content.encode("utf-8"),
|
|
173
|
+
capture_output=True,
|
|
174
|
+
)
|
|
175
|
+
content_target = version_result.stdout.decode("utf-8")
|
|
176
|
+
format_result = subprocess.run(
|
|
177
|
+
[find_ruff_bin(), "format", "-"],
|
|
178
|
+
input=content_target.encode("utf-8"),
|
|
179
|
+
capture_output=True,
|
|
180
|
+
)
|
|
181
|
+
content_format = format_result.stdout.decode("utf-8")
|
|
182
|
+
if content_format in previous_content:
|
|
183
|
+
continue
|
|
184
|
+
previous_content.add(content_format)
|
|
185
|
+
# Determine where the version label should go: in the parent directory
|
|
186
|
+
# name or in the file name, matching the source structure.
|
|
187
|
+
label_in_parent = False
|
|
188
|
+
for v in target_versions:
|
|
189
|
+
if f"_{v}" in file_path.parent.name:
|
|
190
|
+
label_in_parent = True
|
|
191
|
+
break
|
|
192
|
+
if label_in_parent:
|
|
193
|
+
parent_name = file_path.parent.name
|
|
194
|
+
for v in target_versions:
|
|
195
|
+
parent_name = parent_name.replace(f"_{v}", "")
|
|
196
|
+
new_parent = file_path.parent.parent / f"{parent_name}_{target_version}"
|
|
197
|
+
new_parent.mkdir(parents=True, exist_ok=True)
|
|
198
|
+
version_file = new_parent / file_path.name
|
|
199
|
+
else:
|
|
200
|
+
base_name = file_path.stem
|
|
201
|
+
for v in target_versions:
|
|
202
|
+
if base_name.endswith(f"_{v}"):
|
|
203
|
+
base_name = base_name[: -len(f"_{v}")]
|
|
204
|
+
break
|
|
205
|
+
version_file = file_path.with_name(f"{base_name}_{target_version}.py")
|
|
206
|
+
logging.info(f"Writing to {version_file}")
|
|
207
|
+
version_file.write_text(content_format, encoding="utf-8")
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
@app.command()
|
|
211
|
+
def generate_docs_src_versions() -> None:
|
|
212
|
+
"""
|
|
213
|
+
Generate Python version-specific files for all .py files in docs_src.
|
|
214
|
+
"""
|
|
215
|
+
docs_src_path = Path("docs_src")
|
|
216
|
+
for py_file in sorted(docs_src_path.rglob("*.py")):
|
|
217
|
+
generate_docs_src_versions_for_file(py_file)
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
@app.command()
|
|
221
|
+
def copy_py39_to_py310() -> None:
|
|
222
|
+
"""
|
|
223
|
+
For each docs_src file/directory with a _py39 label that has no _py310
|
|
224
|
+
counterpart, copy it with the _py310 label.
|
|
225
|
+
"""
|
|
226
|
+
docs_src_path = Path("docs_src")
|
|
227
|
+
# Handle directory-level labels (e.g. app_b_an_py39/)
|
|
228
|
+
for dir_path in sorted(docs_src_path.rglob("*_py39")):
|
|
229
|
+
if not dir_path.is_dir():
|
|
230
|
+
continue
|
|
231
|
+
py310_dir = dir_path.parent / dir_path.name.replace("_py39", "_py310")
|
|
232
|
+
if py310_dir.exists():
|
|
233
|
+
continue
|
|
234
|
+
logging.info(f"Copying directory {dir_path} -> {py310_dir}")
|
|
235
|
+
shutil.copytree(dir_path, py310_dir)
|
|
236
|
+
# Handle file-level labels (e.g. tutorial001_py39.py)
|
|
237
|
+
for file_path in sorted(docs_src_path.rglob("*_py39.py")):
|
|
238
|
+
if not file_path.is_file():
|
|
239
|
+
continue
|
|
240
|
+
# Skip files inside _py39 directories (already handled above)
|
|
241
|
+
if "_py39" in file_path.parent.name:
|
|
242
|
+
continue
|
|
243
|
+
py310_file = file_path.with_name(
|
|
244
|
+
file_path.name.replace("_py39.py", "_py310.py")
|
|
245
|
+
)
|
|
246
|
+
if py310_file.exists():
|
|
247
|
+
continue
|
|
248
|
+
logging.info(f"Copying file {file_path} -> {py310_file}")
|
|
249
|
+
shutil.copy2(file_path, py310_file)
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
@app.command()
|
|
253
|
+
def update_docs_includes_py39_to_py310() -> None:
|
|
254
|
+
"""
|
|
255
|
+
Update .md files in docs/en/ to replace _py39 includes with _py310 versions.
|
|
256
|
+
|
|
257
|
+
For each include line referencing a _py39 file or directory in docs_src, replace
|
|
258
|
+
the _py39 label with _py310.
|
|
259
|
+
"""
|
|
260
|
+
include_pattern = re.compile(r"\{[^}]*docs_src/[^}]*_py39[^}]*\.py[^}]*\}")
|
|
261
|
+
count = 0
|
|
262
|
+
for md_file in sorted(en_docs_path.rglob("*.md")):
|
|
263
|
+
content = md_file.read_text(encoding="utf-8")
|
|
264
|
+
if "_py39" not in content:
|
|
265
|
+
continue
|
|
266
|
+
new_content = include_pattern.sub(
|
|
267
|
+
lambda m: m.group(0).replace("_py39", "_py310"), content
|
|
268
|
+
)
|
|
269
|
+
if new_content != content:
|
|
270
|
+
md_file.write_text(new_content, encoding="utf-8")
|
|
271
|
+
count += 1
|
|
272
|
+
logging.info(f"Updated includes in {md_file}")
|
|
273
|
+
print(f"Updated {count} file(s) ✅")
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
@app.command()
|
|
277
|
+
def remove_unused_docs_src() -> None:
|
|
278
|
+
"""
|
|
279
|
+
Delete .py files in docs_src that are not included in any .md file under docs/.
|
|
280
|
+
"""
|
|
281
|
+
docs_src_path = Path("docs_src")
|
|
282
|
+
# Collect all docs .md content referencing docs_src
|
|
283
|
+
all_docs_content = ""
|
|
284
|
+
for md_file in docs_path.rglob("*.md"):
|
|
285
|
+
all_docs_content += md_file.read_text(encoding="utf-8")
|
|
286
|
+
# Build a set of directory-based package roots (e.g. docs_src/bigger_applications/app_py39)
|
|
287
|
+
# where at least one file is referenced in docs. All files in these directories
|
|
288
|
+
# should be kept since they may be internally imported by the referenced files.
|
|
289
|
+
used_package_dirs: set[Path] = set()
|
|
290
|
+
for py_file in docs_src_path.rglob("*.py"):
|
|
291
|
+
if py_file.name == "__init__.py":
|
|
292
|
+
continue
|
|
293
|
+
rel_path = str(py_file)
|
|
294
|
+
if rel_path in all_docs_content:
|
|
295
|
+
parts = py_file.relative_to(docs_src_path).parts
|
|
296
|
+
if len(parts) > 2 and not py_file.name.startswith("tutorial"):
|
|
297
|
+
# File is inside a package directory (e.g.
|
|
298
|
+
# docs_src/tutorial/fastapi/app_testing/tutorial001_py310/).
|
|
299
|
+
# Mark the immediate parent as a used package so sibling
|
|
300
|
+
# files (likely imported by the referenced file) are kept.
|
|
301
|
+
used_package_dirs.add(py_file.parent)
|
|
302
|
+
removed = 0
|
|
303
|
+
for py_file in sorted(docs_src_path.rglob("*.py")):
|
|
304
|
+
if py_file.name == "__init__.py":
|
|
305
|
+
continue
|
|
306
|
+
# Build the relative path as it appears in includes (e.g. docs_src/first_steps/tutorial001.py)
|
|
307
|
+
rel_path = str(py_file)
|
|
308
|
+
if rel_path in all_docs_content:
|
|
309
|
+
continue
|
|
310
|
+
# If this file is inside a directory-based package where any sibling is
|
|
311
|
+
# referenced, keep it (it's likely imported internally).
|
|
312
|
+
if py_file.parent in used_package_dirs:
|
|
313
|
+
continue
|
|
314
|
+
# Check if the _an counterpart (or non-_an counterpart) is referenced.
|
|
315
|
+
# If either variant is included, keep both.
|
|
316
|
+
# Handle both file-level _an (tutorial001_an.py) and directory-level _an
|
|
317
|
+
# (app_an/main.py)
|
|
318
|
+
counterpart_found = False
|
|
319
|
+
full_path_str = str(py_file)
|
|
320
|
+
if "_an" in py_file.stem:
|
|
321
|
+
# This is an _an file, check if the non-_an version is referenced
|
|
322
|
+
counterpart = full_path_str.replace(
|
|
323
|
+
f"/{py_file.stem}", f"/{py_file.stem.replace('_an', '', 1)}"
|
|
324
|
+
)
|
|
325
|
+
if counterpart in all_docs_content:
|
|
326
|
+
counterpart_found = True
|
|
327
|
+
else:
|
|
328
|
+
# This is a non-_an file, check if there's an _an version referenced
|
|
329
|
+
# Insert _an before any version suffix or at the end of the stem
|
|
330
|
+
stem = py_file.stem
|
|
331
|
+
for suffix in ("_py39", "_py310"):
|
|
332
|
+
if suffix in stem:
|
|
333
|
+
an_stem = stem.replace(suffix, f"_an{suffix}", 1)
|
|
334
|
+
break
|
|
335
|
+
else:
|
|
336
|
+
an_stem = f"{stem}_an"
|
|
337
|
+
counterpart = full_path_str.replace(f"/{stem}.", f"/{an_stem}.")
|
|
338
|
+
if counterpart in all_docs_content:
|
|
339
|
+
counterpart_found = True
|
|
340
|
+
# Also check directory-level _an counterparts
|
|
341
|
+
if not counterpart_found:
|
|
342
|
+
parent_name = py_file.parent.name
|
|
343
|
+
if "_an" in parent_name:
|
|
344
|
+
counterpart_parent = parent_name.replace("_an", "", 1)
|
|
345
|
+
counterpart_dir = str(py_file).replace(
|
|
346
|
+
f"/{parent_name}/", f"/{counterpart_parent}/"
|
|
347
|
+
)
|
|
348
|
+
if counterpart_dir in all_docs_content:
|
|
349
|
+
counterpart_found = True
|
|
350
|
+
else:
|
|
351
|
+
# Try inserting _an into parent directory name
|
|
352
|
+
for suffix in ("_py39", "_py310"):
|
|
353
|
+
if suffix in parent_name:
|
|
354
|
+
an_parent = parent_name.replace(suffix, f"_an{suffix}", 1)
|
|
355
|
+
break
|
|
356
|
+
else:
|
|
357
|
+
an_parent = f"{parent_name}_an"
|
|
358
|
+
counterpart_dir = str(py_file).replace(
|
|
359
|
+
f"/{parent_name}/", f"/{an_parent}/"
|
|
360
|
+
)
|
|
361
|
+
if counterpart_dir in all_docs_content:
|
|
362
|
+
counterpart_found = True
|
|
363
|
+
if counterpart_found:
|
|
364
|
+
continue
|
|
365
|
+
logging.info(f"Removing unused file: {py_file}")
|
|
366
|
+
py_file.unlink()
|
|
367
|
+
removed += 1
|
|
368
|
+
# Clean up directories that are empty or only contain __init__.py / __pycache__
|
|
369
|
+
for dir_path in sorted(docs_src_path.rglob("*"), reverse=True):
|
|
370
|
+
if not dir_path.is_dir():
|
|
371
|
+
continue
|
|
372
|
+
remaining = [
|
|
373
|
+
f
|
|
374
|
+
for f in dir_path.iterdir()
|
|
375
|
+
if f.name != "__pycache__" and f.name != "__init__.py"
|
|
376
|
+
]
|
|
377
|
+
if not remaining:
|
|
378
|
+
logging.info(f"Removing empty/init-only directory: {dir_path}")
|
|
379
|
+
shutil.rmtree(dir_path)
|
|
380
|
+
print(f"Removed {removed} unused file(s) ✅")
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
if __name__ == "__main__":
|
|
384
|
+
app()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any
|
|
1
|
+
from typing import Any
|
|
2
2
|
|
|
3
3
|
from mkdocs.config.defaults import MkDocsConfig
|
|
4
4
|
from mkdocs.structure.files import Files
|
|
@@ -7,9 +7,9 @@ from mkdocs.structure.pages import Page
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def generate_renamed_section_items(
|
|
10
|
-
items: list[
|
|
11
|
-
) -> list[
|
|
12
|
-
new_items: list[
|
|
10
|
+
items: list[Page | Section | Link], *, config: MkDocsConfig
|
|
11
|
+
) -> list[Page | Section | Link]:
|
|
12
|
+
new_items: list[Page | Section | Link] = []
|
|
13
13
|
for item in items:
|
|
14
14
|
if isinstance(item, Section):
|
|
15
15
|
new_title = item.title
|
|
@@ -9,9 +9,11 @@ from typing import (
|
|
|
9
9
|
Annotated,
|
|
10
10
|
Any,
|
|
11
11
|
ForwardRef,
|
|
12
|
-
|
|
12
|
+
TypeAlias,
|
|
13
13
|
TypeVar,
|
|
14
14
|
Union,
|
|
15
|
+
get_args,
|
|
16
|
+
get_origin,
|
|
15
17
|
)
|
|
16
18
|
|
|
17
19
|
from annotated_types import MaxLen
|
|
@@ -24,7 +26,6 @@ from pydantic._internal._repr import Representation as Representation
|
|
|
24
26
|
from pydantic.fields import FieldInfo
|
|
25
27
|
from pydantic_core import PydanticUndefined as Undefined
|
|
26
28
|
from pydantic_core import PydanticUndefinedType as PydanticUndefinedType
|
|
27
|
-
from typing_extensions import get_args, get_origin
|
|
28
29
|
|
|
29
30
|
BaseConfig = ConfigDict
|
|
30
31
|
UndefinedType = PydanticUndefinedType
|
|
@@ -37,14 +38,14 @@ if TYPE_CHECKING:
|
|
|
37
38
|
UnionType = getattr(types, "UnionType", Union)
|
|
38
39
|
NoneType = type(None)
|
|
39
40
|
T = TypeVar("T")
|
|
40
|
-
InstanceOrType =
|
|
41
|
+
InstanceOrType: TypeAlias = T | type[T]
|
|
41
42
|
_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel")
|
|
42
43
|
|
|
43
44
|
|
|
44
45
|
class FakeMetadata:
|
|
45
|
-
max_length:
|
|
46
|
-
max_digits:
|
|
47
|
-
decimal_places:
|
|
46
|
+
max_length: int | None = None
|
|
47
|
+
max_digits: int | None = None
|
|
48
|
+
decimal_places: int | None = None
|
|
48
49
|
|
|
49
50
|
|
|
50
51
|
@dataclass
|
|
@@ -75,8 +76,8 @@ def partial_init() -> Generator[None, None, None]:
|
|
|
75
76
|
|
|
76
77
|
|
|
77
78
|
class SQLModelConfig(BaseConfig, total=False):
|
|
78
|
-
table:
|
|
79
|
-
registry:
|
|
79
|
+
table: bool | None
|
|
80
|
+
registry: Any | None
|
|
80
81
|
|
|
81
82
|
|
|
82
83
|
def get_model_fields(model: InstanceOrType[BaseModel]) -> dict[str, "FieldInfo"]:
|
|
@@ -208,7 +209,7 @@ def sqlmodel_table_construct(
|
|
|
208
209
|
*,
|
|
209
210
|
self_instance: _TSQLModel,
|
|
210
211
|
values: dict[str, Any],
|
|
211
|
-
_fields_set:
|
|
212
|
+
_fields_set: set[str] | None = None,
|
|
212
213
|
) -> _TSQLModel:
|
|
213
214
|
# Copy from Pydantic's BaseModel.construct()
|
|
214
215
|
# Ref: https://github.com/pydantic/pydantic/blob/v2.5.2/pydantic/main.py#L198
|
|
@@ -236,7 +237,7 @@ def sqlmodel_table_construct(
|
|
|
236
237
|
_fields_set = set(fields_values.keys())
|
|
237
238
|
fields_values.update(defaults)
|
|
238
239
|
|
|
239
|
-
_extra:
|
|
240
|
+
_extra: dict[str, Any] | None = None
|
|
240
241
|
if cls.model_config.get("extra") == "allow":
|
|
241
242
|
_extra = {}
|
|
242
243
|
for k, v in values.items():
|
|
@@ -276,10 +277,10 @@ def sqlmodel_validate(
|
|
|
276
277
|
cls: type[_TSQLModel],
|
|
277
278
|
obj: Any,
|
|
278
279
|
*,
|
|
279
|
-
strict:
|
|
280
|
-
from_attributes:
|
|
281
|
-
context:
|
|
282
|
-
update:
|
|
280
|
+
strict: bool | None = None,
|
|
281
|
+
from_attributes: bool | None = None,
|
|
282
|
+
context: dict[str, Any] | None = None,
|
|
283
|
+
update: dict[str, Any] | None = None,
|
|
283
284
|
) -> _TSQLModel:
|
|
284
285
|
if not is_table_model_class(cls):
|
|
285
286
|
new_obj: _TSQLModel = cls.__new__(cls)
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
from collections.abc import Mapping, Sequence
|
|
2
2
|
from typing import (
|
|
3
3
|
Any,
|
|
4
|
-
Optional,
|
|
5
4
|
TypeVar,
|
|
6
|
-
Union,
|
|
7
5
|
cast,
|
|
8
6
|
overload,
|
|
9
7
|
)
|
|
@@ -37,11 +35,11 @@ class AsyncSession(_AsyncSession):
|
|
|
37
35
|
self,
|
|
38
36
|
statement: Select[_TSelectParam],
|
|
39
37
|
*,
|
|
40
|
-
params:
|
|
38
|
+
params: Mapping[str, Any] | Sequence[Mapping[str, Any]] | None = None,
|
|
41
39
|
execution_options: Mapping[str, Any] = util.EMPTY_DICT,
|
|
42
|
-
bind_arguments:
|
|
43
|
-
_parent_execute_state:
|
|
44
|
-
_add_event:
|
|
40
|
+
bind_arguments: dict[str, Any] | None = None,
|
|
41
|
+
_parent_execute_state: Any | None = None,
|
|
42
|
+
_add_event: Any | None = None,
|
|
45
43
|
) -> TupleResult[_TSelectParam]: ...
|
|
46
44
|
|
|
47
45
|
@overload
|
|
@@ -49,11 +47,11 @@ class AsyncSession(_AsyncSession):
|
|
|
49
47
|
self,
|
|
50
48
|
statement: SelectOfScalar[_TSelectParam],
|
|
51
49
|
*,
|
|
52
|
-
params:
|
|
50
|
+
params: Mapping[str, Any] | Sequence[Mapping[str, Any]] | None = None,
|
|
53
51
|
execution_options: Mapping[str, Any] = util.EMPTY_DICT,
|
|
54
|
-
bind_arguments:
|
|
55
|
-
_parent_execute_state:
|
|
56
|
-
_add_event:
|
|
52
|
+
bind_arguments: dict[str, Any] | None = None,
|
|
53
|
+
_parent_execute_state: Any | None = None,
|
|
54
|
+
_add_event: Any | None = None,
|
|
57
55
|
) -> ScalarResult[_TSelectParam]: ...
|
|
58
56
|
|
|
59
57
|
@overload
|
|
@@ -61,30 +59,26 @@ class AsyncSession(_AsyncSession):
|
|
|
61
59
|
self,
|
|
62
60
|
statement: UpdateBase,
|
|
63
61
|
*,
|
|
64
|
-
params:
|
|
62
|
+
params: Mapping[str, Any] | Sequence[Mapping[str, Any]] | None = None,
|
|
65
63
|
execution_options: Mapping[str, Any] = util.EMPTY_DICT,
|
|
66
|
-
bind_arguments:
|
|
67
|
-
_parent_execute_state:
|
|
68
|
-
_add_event:
|
|
64
|
+
bind_arguments: dict[str, Any] | None = None,
|
|
65
|
+
_parent_execute_state: Any | None = None,
|
|
66
|
+
_add_event: Any | None = None,
|
|
69
67
|
) -> CursorResult[Any]: ...
|
|
70
68
|
|
|
71
69
|
async def exec(
|
|
72
70
|
self,
|
|
73
|
-
statement:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
UpdateBase,
|
|
78
|
-
],
|
|
71
|
+
statement: Select[_TSelectParam]
|
|
72
|
+
| SelectOfScalar[_TSelectParam]
|
|
73
|
+
| Executable[_TSelectParam]
|
|
74
|
+
| UpdateBase,
|
|
79
75
|
*,
|
|
80
|
-
params:
|
|
76
|
+
params: Mapping[str, Any] | Sequence[Mapping[str, Any]] | None = None,
|
|
81
77
|
execution_options: Mapping[str, Any] = util.EMPTY_DICT,
|
|
82
|
-
bind_arguments:
|
|
83
|
-
_parent_execute_state:
|
|
84
|
-
_add_event:
|
|
85
|
-
) ->
|
|
86
|
-
TupleResult[_TSelectParam], ScalarResult[_TSelectParam], CursorResult[Any]
|
|
87
|
-
]:
|
|
78
|
+
bind_arguments: dict[str, Any] | None = None,
|
|
79
|
+
_parent_execute_state: Any | None = None,
|
|
80
|
+
_add_event: Any | None = None,
|
|
81
|
+
) -> TupleResult[_TSelectParam] | ScalarResult[_TSelectParam] | CursorResult[Any]:
|
|
88
82
|
if execution_options:
|
|
89
83
|
execution_options = util.immutabledict(execution_options).union(
|
|
90
84
|
_EXECUTE_OPTIONS
|
|
@@ -131,12 +125,12 @@ class AsyncSession(_AsyncSession):
|
|
|
131
125
|
async def execute(
|
|
132
126
|
self,
|
|
133
127
|
statement: _Executable,
|
|
134
|
-
params:
|
|
128
|
+
params: _CoreAnyExecuteParams | None = None,
|
|
135
129
|
*,
|
|
136
130
|
execution_options: OrmExecuteOptionsParameter = util.EMPTY_DICT,
|
|
137
|
-
bind_arguments:
|
|
138
|
-
_parent_execute_state:
|
|
139
|
-
_add_event:
|
|
131
|
+
bind_arguments: dict[str, Any] | None = None,
|
|
132
|
+
_parent_execute_state: Any | None = None,
|
|
133
|
+
_add_event: Any | None = None,
|
|
140
134
|
) -> Result[Any]:
|
|
141
135
|
"""
|
|
142
136
|
🚨 You probably want to use `session.exec()` instead of `session.execute()`.
|