sqlmodel 0.0.37__tar.gz → 0.0.39__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/PKG-INFO +13 -15
  2. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/README.md +11 -14
  3. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/automatic_id_none_refresh/annotations/en/tutorial002.md +3 -3
  4. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_004.md +1 -1
  5. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/insert/annotations/en/tutorial003.md +1 -1
  6. sqlmodel-0.0.39/docs_src/tutorial/where/tutorial006b_py310.py +57 -0
  7. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/pyproject.toml +52 -40
  8. sqlmodel-0.0.39/scripts/add_latest_release_date.py +40 -0
  9. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/scripts/docs.py +5 -5
  10. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/scripts/generate_select.py +1 -1
  11. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/scripts/lint.sh +2 -2
  12. sqlmodel-0.0.39/scripts/prepare_release.py +209 -0
  13. sqlmodel-0.0.39/sqlmodel/.agents/skills/sqlmodel/SKILL.md +178 -0
  14. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/__init__.py +1 -1
  15. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/main.py +20 -18
  16. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/sql/_expression_select_cls.py +2 -2
  17. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/sql/_expression_select_gen.py +119 -92
  18. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/sql/_expression_select_gen.py.jinja2 +8 -9
  19. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/sql/expression.py +17 -17
  20. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/sql/sqltypes.py +1 -1
  21. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/conftest.py +0 -6
  22. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_advanced/test_decimal/test_tutorial001.py +2 -2
  23. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_advanced/test_uuid/test_tutorial001.py +2 -2
  24. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_advanced/test_uuid/test_tutorial002.py +2 -2
  25. sqlmodel-0.0.39/tests/test_prepare_release.py +298 -0
  26. sqlmodel-0.0.39/tests/test_pydantic/test_model_dump.py +47 -0
  27. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_automatic_id_none_refresh/test_tutorial001_tutorial002.py +3 -3
  28. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_code_structure/test_tutorial001.py +2 -2
  29. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_code_structure/test_tutorial002.py +2 -2
  30. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_create_connected_tables/test_tutorial001.py +1 -3
  31. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_delete/test_tutorial001.py +2 -2
  32. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_insert/test_tutorial001.py +2 -2
  33. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_select/test_tutorial001_tutorial002.py +3 -3
  34. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_select/test_tutorial003.py +2 -2
  35. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_select/test_tutorial004.py +2 -2
  36. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_select/test_tutorial005.py +2 -2
  37. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_update/test_tutorial001.py +2 -2
  38. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_create_db_and_table/test_tutorial001.py +2 -2
  39. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_create_db_and_table/test_tutorial002.py +1 -3
  40. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_create_db_and_table/test_tutorial003.py +1 -3
  41. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_delete/test_tutorial001_tutorial002.py +3 -3
  42. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests001.py +1 -3
  43. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests002.py +1 -3
  44. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests003.py +1 -3
  45. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests004.py +1 -3
  46. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py +1 -3
  47. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001.py +1 -3
  48. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001.py +1 -3
  49. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001.py +1 -3
  50. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002.py +1 -3
  51. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001.py +1 -3
  52. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001.py +1 -3
  53. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001.py +1 -3
  54. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001.py +1 -3
  55. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_simple_hero_api/test_tutorial001.py +1 -3
  56. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001.py +1 -3
  57. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_update/test_tutorial001.py +1 -3
  58. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_update/test_tutorial002.py +1 -3
  59. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_indexes/test_tutorial001.py +2 -2
  60. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_indexes/test_tutorial002.py +2 -2
  61. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_insert/test_tutorial001.py +1 -3
  62. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_insert/test_tutorial002.py +1 -3
  63. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_insert/test_tutorial003.py +1 -3
  64. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_limit_and_offset/test_tutorial001.py +2 -2
  65. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_limit_and_offset/test_tutorial002.py +2 -2
  66. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_limit_and_offset/test_tutorial003.py +2 -2
  67. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_limit_and_offset/test_tutorial004.py +2 -2
  68. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_many_to_many/test_tutorial001.py +2 -2
  69. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_many_to_many/test_tutorial002.py +2 -2
  70. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_many_to_many/test_tutorial003.py +2 -2
  71. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial001.py +2 -2
  72. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial002.py +2 -2
  73. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial003.py +2 -2
  74. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial004.py +2 -2
  75. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial005.py +2 -2
  76. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial006.py +2 -2
  77. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial007.py +2 -2
  78. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial008.py +2 -2
  79. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/test_tutorial009.py +2 -2
  80. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001.py +2 -2
  81. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002.py +2 -2
  82. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003.py +1 -3
  83. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001.py +2 -2
  84. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001.py +2 -2
  85. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial001.py +2 -2
  86. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial002.py +2 -2
  87. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial003.py +2 -2
  88. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial004.py +2 -2
  89. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial005.py +2 -2
  90. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001.py +2 -2
  91. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002.py +2 -2
  92. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_select/test_tutorial001_tutorial002.py +3 -3
  93. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_select/test_tutorial003_tutorial004.py +3 -3
  94. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_update/test_tutorial001_tutorial002.py +3 -3
  95. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_update/test_tutorial003_tutorial004.py +3 -3
  96. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial001.py +2 -2
  97. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial002.py +2 -2
  98. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial003.py +2 -2
  99. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial004.py +2 -2
  100. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial005.py +2 -2
  101. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial006.py +2 -2
  102. sqlmodel-0.0.39/tests/test_tutorial/test_where/test_tutorial006b.py +34 -0
  103. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial007.py +2 -2
  104. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial008.py +2 -2
  105. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial009.py +2 -2
  106. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/test_tutorial011.py +2 -2
  107. sqlmodel-0.0.37/scripts/mkdocs_hooks.py +0 -38
  108. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/LICENSE +0 -0
  109. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/__init__.py +0 -0
  110. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/advanced/__init__.py +0 -0
  111. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/advanced/decimal/__init__.py +0 -0
  112. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/advanced/decimal/tutorial001_py310.py +0 -0
  113. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/advanced/uuid/__init__.py +0 -0
  114. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/advanced/uuid/tutorial001_py310.py +0 -0
  115. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/advanced/uuid/tutorial002_py310.py +0 -0
  116. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/__init__.py +0 -0
  117. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/automatic_id_none_refresh/__init__.py +0 -0
  118. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/automatic_id_none_refresh/tutorial001_py310.py +0 -0
  119. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/automatic_id_none_refresh/tutorial002_py310.py +0 -0
  120. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/__init__.py +0 -0
  121. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial001_py310/__init__.py +0 -0
  122. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial001_py310/app.py +0 -0
  123. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial001_py310/database.py +0 -0
  124. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial001_py310/models.py +0 -0
  125. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial002_py310/__init__.py +0 -0
  126. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial002_py310/app.py +0 -0
  127. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial002_py310/database.py +0 -0
  128. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial002_py310/hero_model.py +0 -0
  129. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/code_structure/tutorial002_py310/team_model.py +0 -0
  130. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/__init__.py +0 -0
  131. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/create_tables/__init__.py +0 -0
  132. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/create_tables/tutorial001_py310.py +0 -0
  133. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/delete/__init__.py +0 -0
  134. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/delete/tutorial001_py310.py +0 -0
  135. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/insert/__init__.py +0 -0
  136. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/insert/tutorial001_py310.py +0 -0
  137. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/select/__init__.py +0 -0
  138. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/select/tutorial001_py310.py +0 -0
  139. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/select/tutorial002_py310.py +0 -0
  140. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/select/tutorial003_py310.py +0 -0
  141. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/select/tutorial004_py310.py +0 -0
  142. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/select/tutorial005_py310.py +0 -0
  143. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/update/__init__.py +0 -0
  144. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/connect/update/tutorial001_py310.py +0 -0
  145. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/create_db_and_table/__init__.py +0 -0
  146. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/create_db_and_table/annotations/en/tutorial003.md +0 -0
  147. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/create_db_and_table/tutorial001_py310.py +0 -0
  148. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/create_db_and_table/tutorial002_py310.py +0 -0
  149. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/create_db_and_table/tutorial003_py310.py +0 -0
  150. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/delete/__init__.py +0 -0
  151. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/delete/annotations/en/tutorial002.md +0 -0
  152. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/delete/tutorial001_py310.py +0 -0
  153. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/delete/tutorial002_py310.py +0 -0
  154. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/__init__.py +0 -0
  155. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/__init__.py +0 -0
  156. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/__init__.py +0 -0
  157. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_001.md +0 -0
  158. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_002.md +0 -0
  159. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_003.md +0 -0
  160. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_005.md +0 -0
  161. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_006.md +0 -0
  162. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/main.py +0 -0
  163. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_extra_coverage.py +0 -0
  164. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main.py +0 -0
  165. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_001.py +0 -0
  166. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_002.py +0 -0
  167. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_003.py +0 -0
  168. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_004.py +0 -0
  169. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_005.py +0 -0
  170. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_006.py +0 -0
  171. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/delete/__init__.py +0 -0
  172. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/delete/tutorial001_py310.py +0 -0
  173. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/limit_and_offset/__init__.py +0 -0
  174. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py310.py +0 -0
  175. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/multiple_models/__init__.py +0 -0
  176. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/multiple_models/tutorial001_py310.py +0 -0
  177. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/multiple_models/tutorial002_py310.py +0 -0
  178. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/read_one/__init__.py +0 -0
  179. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/read_one/tutorial001_py310.py +0 -0
  180. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/relationships/__init__.py +0 -0
  181. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/relationships/tutorial001_py310.py +0 -0
  182. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/response_model/__init__.py +0 -0
  183. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/response_model/tutorial001_py310.py +0 -0
  184. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/session_with_dependency/__init__.py +0 -0
  185. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py310.py +0 -0
  186. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/simple_hero_api/__init__.py +0 -0
  187. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/simple_hero_api/tutorial001_py310.py +0 -0
  188. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/teams/__init__.py +0 -0
  189. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/teams/tutorial001_py310.py +0 -0
  190. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/update/__init__.py +0 -0
  191. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/update/tutorial001_py310.py +0 -0
  192. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/fastapi/update/tutorial002_py310.py +0 -0
  193. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/indexes/__init__.py +0 -0
  194. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/indexes/tutorial001_py310.py +0 -0
  195. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/indexes/tutorial002_py310.py +0 -0
  196. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/insert/__init__.py +0 -0
  197. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/insert/tutorial001_py310.py +0 -0
  198. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/insert/tutorial002_py310.py +0 -0
  199. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/insert/tutorial003_py310.py +0 -0
  200. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/many_to_many/__init__.py +0 -0
  201. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/many_to_many/tutorial001_py310.py +0 -0
  202. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/many_to_many/tutorial002_py310.py +0 -0
  203. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/many_to_many/tutorial003_py310.py +0 -0
  204. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/offset_and_limit/__init__.py +0 -0
  205. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/offset_and_limit/tutorial001_py310.py +0 -0
  206. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/offset_and_limit/tutorial002_py310.py +0 -0
  207. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/offset_and_limit/tutorial003_py310.py +0 -0
  208. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/offset_and_limit/tutorial004_py310.py +0 -0
  209. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/__init__.py +0 -0
  210. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial001_py310.py +0 -0
  211. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial002_py310.py +0 -0
  212. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial003_py310.py +0 -0
  213. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial004_py310.py +0 -0
  214. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial005_py310.py +0 -0
  215. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial006_py310.py +0 -0
  216. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial007_py310.py +0 -0
  217. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial008_py310.py +0 -0
  218. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/one/tutorial009_py310.py +0 -0
  219. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/__init__.py +0 -0
  220. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/back_populates/__init__.py +0 -0
  221. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py310.py +0 -0
  222. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py310.py +0 -0
  223. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py310.py +0 -0
  224. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/__init__.py +0 -0
  225. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial001_py310.py +0 -0
  226. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial002_py310.py +0 -0
  227. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial003_py310.py +0 -0
  228. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial004_py310.py +0 -0
  229. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial005_py310.py +0 -0
  230. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/__init__.py +0 -0
  231. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py310.py +0 -0
  232. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/__init__.py +0 -0
  233. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py310.py +0 -0
  234. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/read_relationships/__init__.py +0 -0
  235. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py310.py +0 -0
  236. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py310.py +0 -0
  237. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/select/__init__.py +0 -0
  238. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/select/annotations/en/tutorial002.md +0 -0
  239. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/select/tutorial001_py310.py +0 -0
  240. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/select/tutorial002_py310.py +0 -0
  241. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/select/tutorial003_py310.py +0 -0
  242. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/select/tutorial004_py310.py +0 -0
  243. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/update/__init__.py +0 -0
  244. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/update/annotations/en/tutorial002.md +0 -0
  245. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/update/annotations/en/tutorial004.md +0 -0
  246. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/update/tutorial001_py310.py +0 -0
  247. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/update/tutorial002_py310.py +0 -0
  248. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/update/tutorial003_py310.py +0 -0
  249. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/update/tutorial004_py310.py +0 -0
  250. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/__init__.py +0 -0
  251. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial001_py310.py +0 -0
  252. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial002_py310.py +0 -0
  253. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial003_py310.py +0 -0
  254. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial004_py310.py +0 -0
  255. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial005_py310.py +0 -0
  256. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial006_py310.py +0 -0
  257. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial007_py310.py +0 -0
  258. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial008_py310.py +0 -0
  259. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial009_py310.py +0 -0
  260. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/docs_src/tutorial/where/tutorial011_py310.py +0 -0
  261. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/scripts/deploy_docs_status.py +0 -0
  262. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/scripts/format.sh +0 -0
  263. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/scripts/test.sh +0 -0
  264. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/_compat.py +0 -0
  265. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/default.py +0 -0
  266. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/ext/__init__.py +0 -0
  267. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/ext/asyncio/__init__.py +0 -0
  268. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/ext/asyncio/session.py +0 -0
  269. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/orm/__init__.py +0 -0
  270. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/orm/session.py +0 -0
  271. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/pool/__init__.py +0 -0
  272. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/py.typed +0 -0
  273. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/sql/__init__.py +0 -0
  274. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/sqlmodel/sql/base.py +0 -0
  275. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/__init__.py +0 -0
  276. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_advanced/__init__.py +0 -0
  277. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_advanced/test_decimal/__init__.py +0 -0
  278. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_advanced/test_uuid/__init__.py +0 -0
  279. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_aliases.py +0 -0
  280. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_annotated_uuid.py +0 -0
  281. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_default.py +0 -0
  282. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_deprecations.py +0 -0
  283. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_enums.py +0 -0
  284. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_enums_models.py +0 -0
  285. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_field_sa_args_kwargs.py +0 -0
  286. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_field_sa_column.py +0 -0
  287. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_field_sa_relationship.py +0 -0
  288. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_fields_set.py +0 -0
  289. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_future_annotations.py +0 -0
  290. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_instance_no_args.py +0 -0
  291. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_main.py +0 -0
  292. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_missing_type.py +0 -0
  293. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_nullable.py +0 -0
  294. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_ondelete_raises.py +0 -0
  295. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_pydantic/__init__.py +0 -0
  296. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_pydantic/test_field.py +0 -0
  297. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_query.py +0 -0
  298. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_select_gen.py +0 -0
  299. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_select_typing.py +0 -0
  300. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_sqlalchemy_type_errors.py +0 -0
  301. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/__init__.py +0 -0
  302. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_automatic_id_none_refresh/__init__.py +0 -0
  303. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_code_structure/__init__.py +0 -0
  304. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/__init__.py +0 -0
  305. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_create_connected_tables/__init__.py +0 -0
  306. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_delete/__init__.py +0 -0
  307. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_insert/__init__.py +0 -0
  308. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_select/__init__.py +0 -0
  309. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_connect/test_update/__init__.py +0 -0
  310. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_create_db_and_table/__init__.py +0 -0
  311. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_delete/__init__.py +0 -0
  312. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/__init__.py +0 -0
  313. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/__init__.py +0 -0
  314. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests005.py +0 -0
  315. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests006.py +0 -0
  316. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_delete/__init__.py +0 -0
  317. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_limit_and_offset/__init__.py +0 -0
  318. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_multiple_models/__init__.py +0 -0
  319. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_read_one/__init__.py +0 -0
  320. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_relationships/__init__.py +0 -0
  321. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_response_model/__init__.py +0 -0
  322. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_session_with_dependency/__init__.py +0 -0
  323. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_simple_hero_api/__init__.py +0 -0
  324. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_teams/__init__.py +0 -0
  325. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_fastapi/test_update/__init__.py +0 -0
  326. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_indexes/__init__.py +0 -0
  327. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_insert/__init__.py +0 -0
  328. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_limit_and_offset/__init__.py +0 -0
  329. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_many_to_many/__init__.py +0 -0
  330. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_one/__init__.py +0 -0
  331. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/__init__.py +0 -0
  332. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_back_populates/__init__.py +0 -0
  333. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/__init__.py +0 -0
  334. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/__init__.py +0 -0
  335. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/__init__.py +0 -0
  336. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/__init__.py +0 -0
  337. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_select/__init__.py +0 -0
  338. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_update/__init__.py +0 -0
  339. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_tutorial/test_where/__init__.py +0 -0
  340. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_update.py +0 -0
  341. {sqlmodel-0.0.37 → sqlmodel-0.0.39}/tests/test_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmodel
3
- Version: 0.0.37
3
+ Version: 0.0.39
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
@@ -30,6 +30,7 @@ Project-URL: Changelog, https://sqlmodel.tiangolo.com/release-notes/
30
30
  Requires-Python: >=3.10
31
31
  Requires-Dist: SQLAlchemy<2.1.0,>=2.0.14
32
32
  Requires-Dist: pydantic>=2.11.0
33
+ Requires-Dist: typing-extensions>=4.5.0
33
34
  Description-Content-Type: text/markdown
34
35
 
35
36
  <p align="center">
@@ -40,30 +41,27 @@ Description-Content-Type: text/markdown
40
41
  <em>SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.</em>
41
42
  </p>
42
43
  <p align="center">
43
- <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3ATest+event%3Apush+branch%3Amain" target="_blank">
44
+ <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3ATest+event%3Apush+branch%3Amain">
44
45
  <img src="https://github.com/fastapi/sqlmodel/actions/workflows/test.yml/badge.svg?event=push&branch=main" alt="Test">
45
46
  </a>
46
- <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3APublish" target="_blank">
47
- <img src="https://github.com/fastapi/sqlmodel/actions/workflows/publish.yml/badge.svg" alt="Publish">
48
- </a>
49
- <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/sqlmodel" target="_blank">
47
+ <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/sqlmodel">
50
48
  <img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/sqlmodel.svg" alt="Coverage">
51
- <a href="https://pypi.org/project/sqlmodel" target="_blank">
49
+ <a href="https://pypi.org/project/sqlmodel">
52
50
  <img src="https://img.shields.io/pypi/v/sqlmodel?color=%2334D058&label=pypi%20package" alt="Package version">
53
51
  </a>
54
52
  </p>
55
53
 
56
54
  ---
57
55
 
58
- **Documentation**: <a href="https://sqlmodel.tiangolo.com" target="_blank">https://sqlmodel.tiangolo.com</a>
56
+ **Documentation**: [https://sqlmodel.tiangolo.com](https://sqlmodel.tiangolo.com)
59
57
 
60
- **Source Code**: <a href="https://github.com/fastapi/sqlmodel" target="_blank">https://github.com/fastapi/sqlmodel</a>
58
+ **Source Code**: [https://github.com/fastapi/sqlmodel](https://github.com/fastapi/sqlmodel)
61
59
 
62
60
  ---
63
61
 
64
62
  SQLModel is a library for interacting with <abbr title='Also called "Relational databases"'>SQL databases</abbr> from Python code, with Python objects. It is designed to be intuitive, easy to use, highly compatible, and robust.
65
63
 
66
- **SQLModel** is based on Python type annotations, and powered by <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">Pydantic</a> and <a href="https://sqlalchemy.org/" class="external-link" target="_blank">SQLAlchemy</a>.
64
+ **SQLModel** is based on Python type annotations, and powered by [Pydantic](https://pydantic-docs.helpmanual.io/) and [SQLAlchemy](https://sqlalchemy.org/).
67
65
 
68
66
  The key features are:
69
67
 
@@ -83,9 +81,9 @@ The key features are:
83
81
 
84
82
  ## SQL Databases in FastAPI
85
83
 
86
- <a href="https://fastapi.tiangolo.com" target="_blank"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" style="width: 20%;"></a>
84
+ <a href="https://fastapi.tiangolo.com"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" style="width: 20%;"></a>
87
85
 
88
- **SQLModel** is designed to simplify interacting with SQL databases in <a href="https://fastapi.tiangolo.com" class="external-link" target="_blank">FastAPI</a> applications, it was created by the same <a href="https://tiangolo.com/" class="external-link" target="_blank">author</a>. 😁
86
+ **SQLModel** is designed to simplify interacting with SQL databases in [FastAPI](https://fastapi.tiangolo.com) applications, it was created by the same [author](https://tiangolo.com/). 😁
89
87
 
90
88
  It combines SQLAlchemy and Pydantic and tries to simplify the code you write as much as possible, allowing you to reduce the **code duplication to a minimum**, but while getting the **best developer experience** possible.
91
89
 
@@ -93,13 +91,13 @@ It combines SQLAlchemy and Pydantic and tries to simplify the code you write as
93
91
 
94
92
  ## Requirements
95
93
 
96
- A recent and currently supported <a href="https://www.python.org/downloads/" class="external-link" target="_blank">version of Python</a>.
94
+ A recent and currently supported [version of Python](https://www.python.org/downloads/).
97
95
 
98
96
  As **SQLModel** is based on **Pydantic** and **SQLAlchemy**, it requires them. They will be automatically installed when you install SQLModel.
99
97
 
100
98
  ## Installation
101
99
 
102
- Make sure you create a <a href="https://sqlmodel.tiangolo.com/virtual-environments/" class="external-link" target="_blank">virtual environment</a>, activate it, and then install SQLModel, for example with:
100
+ Make sure you create a [virtual environment](https://sqlmodel.tiangolo.com/virtual-environments/), activate it, and then install SQLModel, for example with:
103
101
 
104
102
  <div class="termy">
105
103
 
@@ -113,7 +111,7 @@ Successfully installed sqlmodel
113
111
 
114
112
  ## Example
115
113
 
116
- For an introduction to databases, SQL, and everything else, see the <a href="https://sqlmodel.tiangolo.com/databases/" target="_blank">SQLModel documentation</a>.
114
+ For an introduction to databases, SQL, and everything else, see the [SQLModel documentation](https://sqlmodel.tiangolo.com/databases/).
117
115
 
118
116
  Here's a quick example. ✨
119
117
 
@@ -6,30 +6,27 @@
6
6
  <em>SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.</em>
7
7
  </p>
8
8
  <p align="center">
9
- <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3ATest+event%3Apush+branch%3Amain" target="_blank">
9
+ <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3ATest+event%3Apush+branch%3Amain">
10
10
  <img src="https://github.com/fastapi/sqlmodel/actions/workflows/test.yml/badge.svg?event=push&branch=main" alt="Test">
11
11
  </a>
12
- <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3APublish" target="_blank">
13
- <img src="https://github.com/fastapi/sqlmodel/actions/workflows/publish.yml/badge.svg" alt="Publish">
14
- </a>
15
- <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/sqlmodel" target="_blank">
12
+ <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/sqlmodel">
16
13
  <img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/sqlmodel.svg" alt="Coverage">
17
- <a href="https://pypi.org/project/sqlmodel" target="_blank">
14
+ <a href="https://pypi.org/project/sqlmodel">
18
15
  <img src="https://img.shields.io/pypi/v/sqlmodel?color=%2334D058&label=pypi%20package" alt="Package version">
19
16
  </a>
20
17
  </p>
21
18
 
22
19
  ---
23
20
 
24
- **Documentation**: <a href="https://sqlmodel.tiangolo.com" target="_blank">https://sqlmodel.tiangolo.com</a>
21
+ **Documentation**: [https://sqlmodel.tiangolo.com](https://sqlmodel.tiangolo.com)
25
22
 
26
- **Source Code**: <a href="https://github.com/fastapi/sqlmodel" target="_blank">https://github.com/fastapi/sqlmodel</a>
23
+ **Source Code**: [https://github.com/fastapi/sqlmodel](https://github.com/fastapi/sqlmodel)
27
24
 
28
25
  ---
29
26
 
30
27
  SQLModel is a library for interacting with <abbr title='Also called "Relational databases"'>SQL databases</abbr> from Python code, with Python objects. It is designed to be intuitive, easy to use, highly compatible, and robust.
31
28
 
32
- **SQLModel** is based on Python type annotations, and powered by <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">Pydantic</a> and <a href="https://sqlalchemy.org/" class="external-link" target="_blank">SQLAlchemy</a>.
29
+ **SQLModel** is based on Python type annotations, and powered by [Pydantic](https://pydantic-docs.helpmanual.io/) and [SQLAlchemy](https://sqlalchemy.org/).
33
30
 
34
31
  The key features are:
35
32
 
@@ -49,9 +46,9 @@ The key features are:
49
46
 
50
47
  ## SQL Databases in FastAPI
51
48
 
52
- <a href="https://fastapi.tiangolo.com" target="_blank"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" style="width: 20%;"></a>
49
+ <a href="https://fastapi.tiangolo.com"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" style="width: 20%;"></a>
53
50
 
54
- **SQLModel** is designed to simplify interacting with SQL databases in <a href="https://fastapi.tiangolo.com" class="external-link" target="_blank">FastAPI</a> applications, it was created by the same <a href="https://tiangolo.com/" class="external-link" target="_blank">author</a>. 😁
51
+ **SQLModel** is designed to simplify interacting with SQL databases in [FastAPI](https://fastapi.tiangolo.com) applications, it was created by the same [author](https://tiangolo.com/). 😁
55
52
 
56
53
  It combines SQLAlchemy and Pydantic and tries to simplify the code you write as much as possible, allowing you to reduce the **code duplication to a minimum**, but while getting the **best developer experience** possible.
57
54
 
@@ -59,13 +56,13 @@ It combines SQLAlchemy and Pydantic and tries to simplify the code you write as
59
56
 
60
57
  ## Requirements
61
58
 
62
- A recent and currently supported <a href="https://www.python.org/downloads/" class="external-link" target="_blank">version of Python</a>.
59
+ A recent and currently supported [version of Python](https://www.python.org/downloads/).
63
60
 
64
61
  As **SQLModel** is based on **Pydantic** and **SQLAlchemy**, it requires them. They will be automatically installed when you install SQLModel.
65
62
 
66
63
  ## Installation
67
64
 
68
- Make sure you create a <a href="https://sqlmodel.tiangolo.com/virtual-environments/" class="external-link" target="_blank">virtual environment</a>, activate it, and then install SQLModel, for example with:
65
+ Make sure you create a [virtual environment](https://sqlmodel.tiangolo.com/virtual-environments/), activate it, and then install SQLModel, for example with:
69
66
 
70
67
  <div class="termy">
71
68
 
@@ -79,7 +76,7 @@ Successfully installed sqlmodel
79
76
 
80
77
  ## Example
81
78
 
82
- For an introduction to databases, SQL, and everything else, see the <a href="https://sqlmodel.tiangolo.com/databases/" target="_blank">SQLModel documentation</a>.
79
+ For an introduction to databases, SQL, and everything else, see the [SQLModel documentation](https://sqlmodel.tiangolo.com/databases/).
83
80
 
84
81
  Here's a quick example. ✨
85
82
 
@@ -307,7 +307,7 @@
307
307
 
308
308
  33. Print the `hero_1`.
309
309
 
310
- /// info
310
+ /// note
311
311
 
312
312
  Even if the `hero_1` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
313
313
 
@@ -323,7 +323,7 @@
323
323
 
324
324
  34. Print the `hero_2`.
325
325
 
326
- /// info
326
+ /// note
327
327
 
328
328
  Even if the `hero_2` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
329
329
 
@@ -339,7 +339,7 @@
339
339
 
340
340
  35. Print the `hero_3`.
341
341
 
342
- /// info
342
+ /// note
343
343
 
344
344
  Even if the `hero_3` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
345
345
 
@@ -22,7 +22,7 @@
22
22
 
23
23
  We tell it that with the `poolclass=StaticPool` parameter.
24
24
 
25
- /// info
25
+ /// note
26
26
 
27
27
  You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
28
28
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  3. Use a `with` block to create a `Session` using the `engine`.
8
8
 
9
- The new **sesion** will be assigned to the variable `session`.
9
+ The new **session** will be assigned to the variable `session`.
10
10
 
11
11
  And it will be automatically closed when the `with` block is finished.
12
12
 
@@ -0,0 +1,57 @@
1
+ from sqlmodel import Field, Session, SQLModel, col, create_engine, select
2
+
3
+
4
+ class Hero(SQLModel, table=True):
5
+ id: int | None = Field(default=None, primary_key=True)
6
+ name: str
7
+ secret_name: str
8
+ age: int | None = None
9
+
10
+
11
+ sqlite_file_name = "database.db"
12
+ sqlite_url = f"sqlite:///{sqlite_file_name}"
13
+
14
+ engine = create_engine(sqlite_url, echo=True)
15
+
16
+
17
+ def create_db_and_tables():
18
+ SQLModel.metadata.create_all(engine)
19
+
20
+
21
+ def create_heroes():
22
+ hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson")
23
+ hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
24
+ hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48)
25
+ hero_4 = Hero(name="Tarantula", secret_name="Natalia Roman-on", age=32)
26
+ hero_5 = Hero(name="Black Lion", secret_name="Trevor Challa", age=35)
27
+ hero_6 = Hero(name="Dr. Weird", secret_name="Steve Weird", age=36)
28
+ hero_7 = Hero(name="Captain North America", secret_name="Esteban Rogelios", age=93)
29
+
30
+ with Session(engine) as session:
31
+ session.add(hero_1)
32
+ session.add(hero_2)
33
+ session.add(hero_3)
34
+ session.add(hero_4)
35
+ session.add(hero_5)
36
+ session.add(hero_6)
37
+ session.add(hero_7)
38
+
39
+ session.commit()
40
+
41
+
42
+ def select_heroes():
43
+ with Session(engine) as session:
44
+ statement = select(Hero).where(col(Hero.name).in_(["Deadpond", "Ratman"]))
45
+ results = session.exec(statement)
46
+ for hero in results:
47
+ print(hero)
48
+
49
+
50
+ def main():
51
+ create_db_and_tables()
52
+ create_heroes()
53
+ select_heroes()
54
+
55
+
56
+ if __name__ == "__main__":
57
+ main()
@@ -39,8 +39,9 @@ classifiers = [
39
39
  dependencies = [
40
40
  "SQLAlchemy >=2.0.14,<2.1.0",
41
41
  "pydantic>=2.11.0",
42
+ "typing-extensions>=4.5.0",
42
43
  ]
43
- version = "0.0.37"
44
+ version = "0.0.39"
44
45
 
45
46
  [project.urls]
46
47
  Homepage = "https://github.com/fastapi/sqlmodel"
@@ -54,41 +55,40 @@ dev = [
54
55
  { include-group = "docs" },
55
56
  { include-group = "tests" },
56
57
  "prek>=0.2.24,<1.0.0",
58
+ "zizmor >=1.23.1",
57
59
  ]
58
60
  docs = [
59
- "black>=24.1.0",
60
- "cairosvg==2.8.2",
61
- "griffe-typingdoc==0.3.0",
62
- "griffe-warnings-deprecated==1.1.0",
63
- "markdown-include-variants==0.0.8",
64
- "mdx-include>=1.4.1,<2.0.0",
65
- "mkdocs-macros-plugin==1.5.0",
66
- "mkdocs-material==9.7.1",
67
- "mkdocs-redirects>=1.2.1,<1.3.0",
68
- "mkdocstrings[python]==0.30.1",
69
- "pillow==11.3.0",
70
- "pyyaml>=5.3.1,<7.0.0",
71
- "typer==0.23.2",
61
+ "black >=24.1.0",
62
+ "cairosvg >=2.9.0",
63
+ "griffe-typingdoc >=0.3.0",
64
+ "griffe-warnings-deprecated >=1.1.0",
65
+ "markdown-include-variants >=0.0.8",
66
+ "mdx-include >=1.4.1",
67
+ "mkdocstrings[python] >=1.0.3",
68
+ "pillow >=12.1.1",
69
+ "pyyaml >=5.3.1",
70
+ "typer >=0.24.1",
71
+ "zensical>=0.0.42",
72
72
  ]
73
73
  github-actions = [
74
- "httpx>=0.27.0,<0.29.0",
75
- "pydantic>=2.5.3,<3.0.0",
76
- "pydantic-settings>=2.1.0,<3.0.0",
77
- "pygithub>=2.3.0,<3.0.0",
78
- "smokeshow>=0.5.0",
74
+ "httpx >=0.28.1",
75
+ "pydantic >=2.5.3",
76
+ "pydantic-settings >=2.1.0",
77
+ "pygithub >=2.3.0",
78
+ "smokeshow >=0.5.0",
79
79
  ]
80
80
  tests = [
81
- "black>=24.1.0",
82
- "coverage[toml]>=6.2,<8.0",
83
- "dirty-equals==0.11",
84
- "fastapi>=0.128.0",
85
- "httpx==0.28.1",
86
- "jinja2==3.1.6",
87
- "mypy==1.19.1",
88
- "pre-commit>=2.17.0,<5.0.0",
89
- "pytest>=7.0.1,<9.0.0",
90
- "ruff==0.15.1",
91
- "typing-extensions==4.15.0",
81
+ "black >=24.1.0",
82
+ "coverage[toml] >=6.2",
83
+ "dirty-equals >=0.11",
84
+ "fastapi >=0.128.0",
85
+ "httpx >=0.28.1",
86
+ "jinja2 >=3.1.6",
87
+ "pytest >=7.0.1",
88
+ "ruff >=0.15.6",
89
+ "ty>=0.0.25",
90
+ "typer >=0.24.1",
91
+ "typing-extensions >=4.15.0",
92
92
  ]
93
93
 
94
94
  [tool.pdm]
@@ -131,16 +131,6 @@ exclude_lines = [
131
131
  [tool.coverage.html]
132
132
  show_contexts = true
133
133
 
134
- [tool.mypy]
135
- strict = true
136
- exclude = "sqlmodel.sql._expression_select_gen"
137
-
138
- [[tool.mypy.overrides]]
139
- module = "docs_src.*"
140
- disallow_incomplete_defs = false
141
- disallow_untyped_defs = false
142
- disallow_untyped_calls = false
143
-
144
134
  [tool.ruff.lint]
145
135
  select = [
146
136
  "E",
@@ -170,3 +160,25 @@ known-third-party = [
170
160
 
171
161
  [tool.ruff.lint.pyupgrade]
172
162
  keep-runtime-typing = true
163
+
164
+ [tool.ty.terminal]
165
+ error-on-warning = true
166
+
167
+ [tool.typos.files]
168
+ extend-exclude = [
169
+ "coverage/",
170
+ "dist/",
171
+ "docs/img/",
172
+ "docs/release-notes.md",
173
+ "htmlcov/",
174
+ "site/",
175
+ "site_build/",
176
+ "uv.lock",
177
+ ]
178
+
179
+ [tool.typos.default.extend-identifiers]
180
+ alls = "alls"
181
+
182
+ [tool.typos.default.extend-words]
183
+ Ines = "Ines"
184
+ selectin = "selectin"
@@ -0,0 +1,40 @@
1
+ """Check release-notes.md and add today's date to the latest release header if missing."""
2
+
3
+ import re
4
+ import sys
5
+ from datetime import date
6
+
7
+ RELEASE_NOTES_FILE = "docs/release-notes.md"
8
+ RELEASE_HEADER_PATTERN = re.compile(r"^## (\d+\.\d+\.\d+)\s*(\(.*\))?\s*$")
9
+
10
+
11
+ def main() -> None:
12
+ with open(RELEASE_NOTES_FILE) as f:
13
+ lines = f.readlines()
14
+
15
+ for i, line in enumerate(lines):
16
+ match = RELEASE_HEADER_PATTERN.match(line)
17
+ if not match:
18
+ continue
19
+
20
+ version = match.group(1)
21
+ date_part = match.group(2)
22
+
23
+ if date_part:
24
+ print(f"Latest release {version} already has a date: {date_part}")
25
+ sys.exit(0)
26
+
27
+ today = date.today().isoformat()
28
+ lines[i] = f"## {version} ({today})\n"
29
+ print(f"Added date: {version} ({today})")
30
+
31
+ with open(RELEASE_NOTES_FILE, "w") as f:
32
+ f.writelines(lines)
33
+ sys.exit(0)
34
+
35
+ print("No release header found")
36
+ sys.exit(1)
37
+
38
+
39
+ if __name__ == "__main__":
40
+ main()
@@ -6,8 +6,8 @@ import subprocess
6
6
  from http.server import HTTPServer, SimpleHTTPRequestHandler
7
7
  from pathlib import Path
8
8
 
9
- import mkdocs.utils
10
9
  import typer
10
+ import yaml
11
11
  from jinja2 import Template
12
12
  from ruff.__main__ import find_ruff_bin
13
13
 
@@ -45,7 +45,7 @@ def generate_readme_content() -> str:
45
45
  match_start = re.search(r"<!-- sponsors -->", content)
46
46
  match_end = re.search(r"<!-- /sponsors -->", content)
47
47
  sponsors_data_path = en_docs_path / "data" / "sponsors.yml"
48
- sponsors = mkdocs.utils.yaml_load(sponsors_data_path.read_text(encoding="utf-8"))
48
+ sponsors = yaml.safe_load(sponsors_data_path.read_text(encoding="utf-8"))
49
49
  if not (match_start and match_end):
50
50
  raise RuntimeError("Couldn't auto-generate sponsors section")
51
51
  if not match_pre:
@@ -108,7 +108,7 @@ def live(dirty: bool = False) -> None:
108
108
  en.
109
109
  """
110
110
  # Enable line numbers during local development to make it easier to highlight
111
- args = ["mkdocs", "serve", "--dev-addr", "127.0.0.1:8008"]
111
+ args = ["zensical", "serve", "--dev-addr", "127.0.0.1:8008"]
112
112
  if dirty:
113
113
  args.append("--dirty")
114
114
  subprocess.run(args, env={**os.environ, "LINENUMS": "true"}, check=True)
@@ -120,7 +120,7 @@ def build() -> None:
120
120
  Build the docs.
121
121
  """
122
122
  print("Building docs")
123
- subprocess.run(["mkdocs", "build"], check=True)
123
+ subprocess.run(["zensical", "build"], check=True)
124
124
  typer.secho("Successfully built docs", color=typer.colors.GREEN)
125
125
 
126
126
 
@@ -129,7 +129,7 @@ def serve() -> None:
129
129
  """
130
130
  A quick server to preview a built site.
131
131
 
132
- For development, prefer the command live (or just mkdocs serve).
132
+ For development, prefer the command live (or just zensical serve).
133
133
 
134
134
  This is here only to preview the documentation site.
135
135
 
@@ -37,7 +37,7 @@ for total_args in range(2, number_of_types + 1):
37
37
  else:
38
38
  t_type = f"_T{i}"
39
39
  t_var = f"_TCCA[{t_type}]"
40
- arg = Arg(name=f"__ent{i}", annotation=t_var)
40
+ arg = Arg(name=f"ent{i}", annotation=t_var)
41
41
  ret_type = t_type
42
42
  args.append(arg)
43
43
  return_types.append(ret_type)
@@ -3,7 +3,7 @@
3
3
  set -e
4
4
  set -x
5
5
 
6
- mypy sqlmodel
7
- mypy tests/test_select_typing.py
6
+ ty check sqlmodel
7
+ ty check tests/test_select_typing.py
8
8
  ruff check sqlmodel tests docs_src scripts
9
9
  ruff format sqlmodel tests docs_src scripts --check