SQLAlchemy 2.0.35__py3-none-any.whl → 2.0.37__py3-none-any.whl

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 (261) hide show
  1. {SQLAlchemy-2.0.35.dist-info → SQLAlchemy-2.0.37.dist-info}/LICENSE +1 -1
  2. {SQLAlchemy-2.0.35.dist-info → SQLAlchemy-2.0.37.dist-info}/METADATA +51 -50
  3. SQLAlchemy-2.0.37.dist-info/RECORD +268 -0
  4. {SQLAlchemy-2.0.35.dist-info → SQLAlchemy-2.0.37.dist-info}/WHEEL +1 -1
  5. sqlalchemy/__init__.py +2 -2
  6. sqlalchemy/connectors/__init__.py +1 -1
  7. sqlalchemy/connectors/aioodbc.py +1 -1
  8. sqlalchemy/connectors/asyncio.py +1 -1
  9. sqlalchemy/connectors/pyodbc.py +1 -1
  10. sqlalchemy/cyextension/__init__.py +1 -1
  11. sqlalchemy/dialects/__init__.py +1 -1
  12. sqlalchemy/dialects/_typing.py +12 -7
  13. sqlalchemy/dialects/mssql/__init__.py +1 -1
  14. sqlalchemy/dialects/mssql/aioodbc.py +2 -3
  15. sqlalchemy/dialects/mssql/base.py +132 -85
  16. sqlalchemy/dialects/mssql/information_schema.py +1 -1
  17. sqlalchemy/dialects/mssql/json.py +3 -7
  18. sqlalchemy/dialects/mssql/provision.py +1 -1
  19. sqlalchemy/dialects/mssql/pymssql.py +1 -1
  20. sqlalchemy/dialects/mssql/pyodbc.py +26 -11
  21. sqlalchemy/dialects/mysql/__init__.py +5 -2
  22. sqlalchemy/dialects/mysql/aiomysql.py +4 -2
  23. sqlalchemy/dialects/mysql/asyncmy.py +4 -2
  24. sqlalchemy/dialects/mysql/base.py +228 -132
  25. sqlalchemy/dialects/mysql/cymysql.py +1 -1
  26. sqlalchemy/dialects/mysql/dml.py +8 -2
  27. sqlalchemy/dialects/mysql/enumerated.py +3 -4
  28. sqlalchemy/dialects/mysql/expression.py +4 -2
  29. sqlalchemy/dialects/mysql/json.py +1 -1
  30. sqlalchemy/dialects/mysql/mariadb.py +30 -1
  31. sqlalchemy/dialects/mysql/mariadbconnector.py +1 -1
  32. sqlalchemy/dialects/mysql/mysqlconnector.py +1 -1
  33. sqlalchemy/dialects/mysql/mysqldb.py +6 -4
  34. sqlalchemy/dialects/mysql/provision.py +1 -1
  35. sqlalchemy/dialects/mysql/pymysql.py +1 -2
  36. sqlalchemy/dialects/mysql/pyodbc.py +9 -8
  37. sqlalchemy/dialects/mysql/reflection.py +1 -1
  38. sqlalchemy/dialects/mysql/reserved_words.py +1 -1
  39. sqlalchemy/dialects/mysql/types.py +1 -1
  40. sqlalchemy/dialects/oracle/__init__.py +1 -1
  41. sqlalchemy/dialects/oracle/base.py +310 -223
  42. sqlalchemy/dialects/oracle/cx_oracle.py +188 -119
  43. sqlalchemy/dialects/oracle/dictionary.py +1 -1
  44. sqlalchemy/dialects/oracle/oracledb.py +561 -45
  45. sqlalchemy/dialects/oracle/provision.py +2 -2
  46. sqlalchemy/dialects/oracle/types.py +47 -18
  47. sqlalchemy/dialects/postgresql/__init__.py +1 -1
  48. sqlalchemy/dialects/postgresql/_psycopg_common.py +1 -1
  49. sqlalchemy/dialects/postgresql/array.py +25 -15
  50. sqlalchemy/dialects/postgresql/asyncpg.py +19 -10
  51. sqlalchemy/dialects/postgresql/base.py +185 -154
  52. sqlalchemy/dialects/postgresql/dml.py +40 -11
  53. sqlalchemy/dialects/postgresql/ext.py +23 -18
  54. sqlalchemy/dialects/postgresql/hstore.py +24 -15
  55. sqlalchemy/dialects/postgresql/json.py +24 -18
  56. sqlalchemy/dialects/postgresql/named_types.py +12 -16
  57. sqlalchemy/dialects/postgresql/operators.py +1 -1
  58. sqlalchemy/dialects/postgresql/pg8000.py +9 -5
  59. sqlalchemy/dialects/postgresql/pg_catalog.py +1 -1
  60. sqlalchemy/dialects/postgresql/provision.py +1 -1
  61. sqlalchemy/dialects/postgresql/psycopg.py +16 -9
  62. sqlalchemy/dialects/postgresql/psycopg2.py +27 -21
  63. sqlalchemy/dialects/postgresql/psycopg2cffi.py +1 -1
  64. sqlalchemy/dialects/postgresql/ranges.py +3 -1
  65. sqlalchemy/dialects/postgresql/types.py +5 -5
  66. sqlalchemy/dialects/sqlite/__init__.py +1 -1
  67. sqlalchemy/dialects/sqlite/aiosqlite.py +4 -1
  68. sqlalchemy/dialects/sqlite/base.py +159 -105
  69. sqlalchemy/dialects/sqlite/dml.py +37 -14
  70. sqlalchemy/dialects/sqlite/json.py +1 -1
  71. sqlalchemy/dialects/sqlite/provision.py +1 -1
  72. sqlalchemy/dialects/sqlite/pysqlcipher.py +7 -5
  73. sqlalchemy/dialects/sqlite/pysqlite.py +37 -22
  74. sqlalchemy/engine/__init__.py +1 -1
  75. sqlalchemy/engine/_py_processors.py +1 -1
  76. sqlalchemy/engine/_py_row.py +1 -1
  77. sqlalchemy/engine/_py_util.py +1 -1
  78. sqlalchemy/engine/base.py +19 -23
  79. sqlalchemy/engine/characteristics.py +1 -1
  80. sqlalchemy/engine/create.py +6 -3
  81. sqlalchemy/engine/cursor.py +11 -16
  82. sqlalchemy/engine/default.py +10 -8
  83. sqlalchemy/engine/events.py +35 -21
  84. sqlalchemy/engine/interfaces.py +45 -42
  85. sqlalchemy/engine/mock.py +4 -2
  86. sqlalchemy/engine/processors.py +1 -1
  87. sqlalchemy/engine/reflection.py +7 -6
  88. sqlalchemy/engine/result.py +13 -15
  89. sqlalchemy/engine/row.py +3 -4
  90. sqlalchemy/engine/strategies.py +1 -1
  91. sqlalchemy/engine/url.py +22 -8
  92. sqlalchemy/engine/util.py +1 -1
  93. sqlalchemy/event/__init__.py +1 -1
  94. sqlalchemy/event/api.py +10 -13
  95. sqlalchemy/event/attr.py +1 -1
  96. sqlalchemy/event/base.py +1 -1
  97. sqlalchemy/event/legacy.py +1 -1
  98. sqlalchemy/event/registry.py +6 -2
  99. sqlalchemy/events.py +1 -1
  100. sqlalchemy/exc.py +4 -2
  101. sqlalchemy/ext/__init__.py +1 -1
  102. sqlalchemy/ext/associationproxy.py +14 -6
  103. sqlalchemy/ext/asyncio/__init__.py +1 -1
  104. sqlalchemy/ext/asyncio/base.py +4 -2
  105. sqlalchemy/ext/asyncio/engine.py +13 -12
  106. sqlalchemy/ext/asyncio/exc.py +1 -1
  107. sqlalchemy/ext/asyncio/result.py +9 -9
  108. sqlalchemy/ext/asyncio/scoping.py +12 -12
  109. sqlalchemy/ext/asyncio/session.py +30 -23
  110. sqlalchemy/ext/automap.py +16 -6
  111. sqlalchemy/ext/baked.py +6 -10
  112. sqlalchemy/ext/compiler.py +98 -53
  113. sqlalchemy/ext/declarative/__init__.py +1 -1
  114. sqlalchemy/ext/declarative/extensions.py +40 -24
  115. sqlalchemy/ext/horizontal_shard.py +7 -10
  116. sqlalchemy/ext/hybrid.py +50 -31
  117. sqlalchemy/ext/indexable.py +30 -26
  118. sqlalchemy/ext/instrumentation.py +1 -1
  119. sqlalchemy/ext/mutable.py +42 -20
  120. sqlalchemy/ext/mypy/__init__.py +1 -1
  121. sqlalchemy/ext/mypy/apply.py +5 -1
  122. sqlalchemy/ext/mypy/decl_class.py +1 -1
  123. sqlalchemy/ext/mypy/infer.py +3 -3
  124. sqlalchemy/ext/mypy/names.py +1 -1
  125. sqlalchemy/ext/mypy/plugin.py +1 -1
  126. sqlalchemy/ext/mypy/util.py +1 -1
  127. sqlalchemy/ext/orderinglist.py +23 -12
  128. sqlalchemy/ext/serializer.py +8 -4
  129. sqlalchemy/future/__init__.py +1 -1
  130. sqlalchemy/future/engine.py +1 -1
  131. sqlalchemy/inspection.py +1 -1
  132. sqlalchemy/log.py +1 -1
  133. sqlalchemy/orm/__init__.py +1 -1
  134. sqlalchemy/orm/_orm_constructors.py +123 -45
  135. sqlalchemy/orm/_typing.py +1 -1
  136. sqlalchemy/orm/attributes.py +2 -2
  137. sqlalchemy/orm/base.py +3 -1
  138. sqlalchemy/orm/bulk_persistence.py +85 -46
  139. sqlalchemy/orm/clsregistry.py +1 -1
  140. sqlalchemy/orm/collections.py +16 -9
  141. sqlalchemy/orm/context.py +5 -5
  142. sqlalchemy/orm/decl_api.py +82 -48
  143. sqlalchemy/orm/decl_base.py +16 -8
  144. sqlalchemy/orm/dependency.py +1 -1
  145. sqlalchemy/orm/descriptor_props.py +4 -3
  146. sqlalchemy/orm/dynamic.py +1 -1
  147. sqlalchemy/orm/evaluator.py +1 -1
  148. sqlalchemy/orm/events.py +62 -52
  149. sqlalchemy/orm/exc.py +1 -1
  150. sqlalchemy/orm/identity.py +1 -1
  151. sqlalchemy/orm/instrumentation.py +1 -1
  152. sqlalchemy/orm/interfaces.py +40 -19
  153. sqlalchemy/orm/loading.py +1 -1
  154. sqlalchemy/orm/mapped_collection.py +1 -1
  155. sqlalchemy/orm/mapper.py +32 -23
  156. sqlalchemy/orm/path_registry.py +1 -1
  157. sqlalchemy/orm/persistence.py +1 -1
  158. sqlalchemy/orm/properties.py +27 -36
  159. sqlalchemy/orm/query.py +178 -127
  160. sqlalchemy/orm/relationships.py +29 -15
  161. sqlalchemy/orm/scoping.py +7 -9
  162. sqlalchemy/orm/session.py +23 -22
  163. sqlalchemy/orm/state.py +1 -1
  164. sqlalchemy/orm/state_changes.py +1 -1
  165. sqlalchemy/orm/strategies.py +159 -88
  166. sqlalchemy/orm/strategy_options.py +29 -48
  167. sqlalchemy/orm/sync.py +1 -1
  168. sqlalchemy/orm/unitofwork.py +1 -1
  169. sqlalchemy/orm/util.py +43 -64
  170. sqlalchemy/orm/writeonly.py +1 -1
  171. sqlalchemy/pool/__init__.py +1 -1
  172. sqlalchemy/pool/base.py +1 -1
  173. sqlalchemy/pool/events.py +5 -3
  174. sqlalchemy/pool/impl.py +1 -1
  175. sqlalchemy/schema.py +1 -1
  176. sqlalchemy/sql/__init__.py +1 -1
  177. sqlalchemy/sql/_dml_constructors.py +6 -14
  178. sqlalchemy/sql/_elements_constructors.py +154 -139
  179. sqlalchemy/sql/_orm_types.py +1 -1
  180. sqlalchemy/sql/_py_util.py +1 -1
  181. sqlalchemy/sql/_selectable_constructors.py +21 -19
  182. sqlalchemy/sql/_typing.py +1 -1
  183. sqlalchemy/sql/annotation.py +1 -1
  184. sqlalchemy/sql/base.py +10 -13
  185. sqlalchemy/sql/cache_key.py +1 -1
  186. sqlalchemy/sql/coercions.py +11 -11
  187. sqlalchemy/sql/compiler.py +11 -2
  188. sqlalchemy/sql/crud.py +1 -1
  189. sqlalchemy/sql/ddl.py +46 -36
  190. sqlalchemy/sql/default_comparator.py +1 -1
  191. sqlalchemy/sql/dml.py +17 -15
  192. sqlalchemy/sql/elements.py +104 -88
  193. sqlalchemy/sql/events.py +17 -14
  194. sqlalchemy/sql/expression.py +1 -1
  195. sqlalchemy/sql/functions.py +30 -21
  196. sqlalchemy/sql/lambdas.py +6 -12
  197. sqlalchemy/sql/naming.py +1 -1
  198. sqlalchemy/sql/operators.py +123 -79
  199. sqlalchemy/sql/roles.py +1 -1
  200. sqlalchemy/sql/schema.py +141 -105
  201. sqlalchemy/sql/selectable.py +264 -179
  202. sqlalchemy/sql/sqltypes.py +120 -106
  203. sqlalchemy/sql/traversals.py +1 -1
  204. sqlalchemy/sql/type_api.py +62 -37
  205. sqlalchemy/sql/util.py +21 -20
  206. sqlalchemy/sql/visitors.py +4 -2
  207. sqlalchemy/testing/__init__.py +1 -1
  208. sqlalchemy/testing/assertions.py +1 -1
  209. sqlalchemy/testing/assertsql.py +1 -1
  210. sqlalchemy/testing/asyncio.py +1 -1
  211. sqlalchemy/testing/config.py +7 -11
  212. sqlalchemy/testing/engines.py +15 -13
  213. sqlalchemy/testing/entities.py +1 -1
  214. sqlalchemy/testing/exclusions.py +1 -1
  215. sqlalchemy/testing/fixtures/__init__.py +1 -1
  216. sqlalchemy/testing/fixtures/base.py +1 -1
  217. sqlalchemy/testing/fixtures/mypy.py +1 -1
  218. sqlalchemy/testing/fixtures/orm.py +1 -1
  219. sqlalchemy/testing/fixtures/sql.py +1 -1
  220. sqlalchemy/testing/pickleable.py +1 -1
  221. sqlalchemy/testing/plugin/__init__.py +1 -1
  222. sqlalchemy/testing/plugin/bootstrap.py +1 -1
  223. sqlalchemy/testing/plugin/plugin_base.py +1 -1
  224. sqlalchemy/testing/plugin/pytestplugin.py +1 -1
  225. sqlalchemy/testing/profiling.py +1 -1
  226. sqlalchemy/testing/provision.py +9 -3
  227. sqlalchemy/testing/requirements.py +19 -9
  228. sqlalchemy/testing/schema.py +1 -1
  229. sqlalchemy/testing/suite/__init__.py +1 -1
  230. sqlalchemy/testing/suite/test_cte.py +1 -1
  231. sqlalchemy/testing/suite/test_ddl.py +1 -1
  232. sqlalchemy/testing/suite/test_deprecations.py +1 -1
  233. sqlalchemy/testing/suite/test_dialect.py +1 -1
  234. sqlalchemy/testing/suite/test_insert.py +1 -1
  235. sqlalchemy/testing/suite/test_reflection.py +1 -1
  236. sqlalchemy/testing/suite/test_results.py +1 -1
  237. sqlalchemy/testing/suite/test_rowcount.py +1 -1
  238. sqlalchemy/testing/suite/test_select.py +1 -1
  239. sqlalchemy/testing/suite/test_sequence.py +1 -1
  240. sqlalchemy/testing/suite/test_types.py +1 -1
  241. sqlalchemy/testing/suite/test_unicode_ddl.py +1 -1
  242. sqlalchemy/testing/suite/test_update_delete.py +1 -1
  243. sqlalchemy/testing/util.py +9 -8
  244. sqlalchemy/testing/warnings.py +1 -1
  245. sqlalchemy/types.py +1 -1
  246. sqlalchemy/util/__init__.py +2 -1
  247. sqlalchemy/util/_collections.py +3 -3
  248. sqlalchemy/util/_concurrency_py3k.py +1 -1
  249. sqlalchemy/util/_has_cy.py +1 -1
  250. sqlalchemy/util/_py_collections.py +1 -1
  251. sqlalchemy/util/compat.py +2 -1
  252. sqlalchemy/util/concurrency.py +1 -1
  253. sqlalchemy/util/deprecations.py +3 -3
  254. sqlalchemy/util/langhelpers.py +9 -5
  255. sqlalchemy/util/preloaded.py +1 -1
  256. sqlalchemy/util/queue.py +1 -1
  257. sqlalchemy/util/tool_support.py +1 -1
  258. sqlalchemy/util/topological.py +1 -1
  259. sqlalchemy/util/typing.py +158 -98
  260. SQLAlchemy-2.0.35.dist-info/RECORD +0 -268
  261. {SQLAlchemy-2.0.35.dist-info → SQLAlchemy-2.0.37.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- Copyright 2005-2024 SQLAlchemy authors and contributors <see AUTHORS file>.
1
+ Copyright 2005-2025 SQLAlchemy authors and contributors <see AUTHORS file>.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of
4
4
  this software and associated documentation files (the "Software"), to deal in
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: SQLAlchemy
3
- Version: 2.0.35
3
+ Version: 2.0.37
4
4
  Summary: Database Abstraction Library
5
5
  Home-page: https://www.sqlalchemy.org
6
6
  Author: Mike Bayer
@@ -20,67 +20,68 @@ Classifier: Programming Language :: Python :: 3.9
20
20
  Classifier: Programming Language :: Python :: 3.10
21
21
  Classifier: Programming Language :: Python :: 3.11
22
22
  Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
23
24
  Classifier: Programming Language :: Python :: Implementation :: CPython
24
25
  Classifier: Programming Language :: Python :: Implementation :: PyPy
25
26
  Classifier: Topic :: Database :: Front-Ends
26
27
  Requires-Python: >=3.7
27
28
  Description-Content-Type: text/x-rst
28
29
  License-File: LICENSE
29
- Requires-Dist: typing-extensions >=4.6.0
30
- Requires-Dist: greenlet !=0.4.17 ; python_version < "3.13" and (platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))))
31
- Requires-Dist: importlib-metadata ; python_version < "3.8"
32
- Provides-Extra: aiomysql
33
- Requires-Dist: greenlet !=0.4.17 ; extra == 'aiomysql'
34
- Requires-Dist: aiomysql >=0.2.0 ; extra == 'aiomysql'
35
- Provides-Extra: aioodbc
36
- Requires-Dist: greenlet !=0.4.17 ; extra == 'aioodbc'
37
- Requires-Dist: aioodbc ; extra == 'aioodbc'
38
- Provides-Extra: aiosqlite
39
- Requires-Dist: greenlet !=0.4.17 ; extra == 'aiosqlite'
40
- Requires-Dist: aiosqlite ; extra == 'aiosqlite'
41
- Requires-Dist: typing-extensions !=3.10.0.1 ; extra == 'aiosqlite'
30
+ Requires-Dist: importlib-metadata; python_version < "3.8"
31
+ Requires-Dist: greenlet!=0.4.17; python_version < "3.14" and (platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))))
32
+ Requires-Dist: typing-extensions>=4.6.0
42
33
  Provides-Extra: asyncio
43
- Requires-Dist: greenlet !=0.4.17 ; extra == 'asyncio'
44
- Provides-Extra: asyncmy
45
- Requires-Dist: greenlet !=0.4.17 ; extra == 'asyncmy'
46
- Requires-Dist: asyncmy !=0.2.4,!=0.2.6,>=0.2.3 ; extra == 'asyncmy'
47
- Provides-Extra: mariadb_connector
48
- Requires-Dist: mariadb !=1.1.2,!=1.1.5,>=1.0.1 ; extra == 'mariadb_connector'
49
- Provides-Extra: mssql
50
- Requires-Dist: pyodbc ; extra == 'mssql'
51
- Provides-Extra: mssql_pymssql
52
- Requires-Dist: pymssql ; extra == 'mssql_pymssql'
53
- Provides-Extra: mssql_pyodbc
54
- Requires-Dist: pyodbc ; extra == 'mssql_pyodbc'
34
+ Requires-Dist: greenlet!=0.4.17; extra == "asyncio"
55
35
  Provides-Extra: mypy
56
- Requires-Dist: mypy >=0.910 ; extra == 'mypy'
36
+ Requires-Dist: mypy>=0.910; extra == "mypy"
37
+ Provides-Extra: mssql
38
+ Requires-Dist: pyodbc; extra == "mssql"
39
+ Provides-Extra: mssql-pymssql
40
+ Requires-Dist: pymssql; extra == "mssql-pymssql"
41
+ Provides-Extra: mssql-pyodbc
42
+ Requires-Dist: pyodbc; extra == "mssql-pyodbc"
57
43
  Provides-Extra: mysql
58
- Requires-Dist: mysqlclient >=1.4.0 ; extra == 'mysql'
59
- Provides-Extra: mysql_connector
60
- Requires-Dist: mysql-connector-python ; extra == 'mysql_connector'
44
+ Requires-Dist: mysqlclient>=1.4.0; extra == "mysql"
45
+ Provides-Extra: mysql-connector
46
+ Requires-Dist: mysql-connector-python; extra == "mysql-connector"
47
+ Provides-Extra: mariadb-connector
48
+ Requires-Dist: mariadb!=1.1.10,!=1.1.2,!=1.1.5,>=1.0.1; extra == "mariadb-connector"
61
49
  Provides-Extra: oracle
62
- Requires-Dist: cx-oracle >=8 ; extra == 'oracle'
63
- Provides-Extra: oracle_oracledb
64
- Requires-Dist: oracledb >=1.0.1 ; extra == 'oracle_oracledb'
50
+ Requires-Dist: cx_oracle>=8; extra == "oracle"
51
+ Provides-Extra: oracle-oracledb
52
+ Requires-Dist: oracledb>=1.0.1; extra == "oracle-oracledb"
65
53
  Provides-Extra: postgresql
66
- Requires-Dist: psycopg2 >=2.7 ; extra == 'postgresql'
67
- Provides-Extra: postgresql_asyncpg
68
- Requires-Dist: greenlet !=0.4.17 ; extra == 'postgresql_asyncpg'
69
- Requires-Dist: asyncpg ; extra == 'postgresql_asyncpg'
70
- Provides-Extra: postgresql_pg8000
71
- Requires-Dist: pg8000 >=1.29.1 ; extra == 'postgresql_pg8000'
72
- Provides-Extra: postgresql_psycopg
73
- Requires-Dist: psycopg >=3.0.7 ; extra == 'postgresql_psycopg'
74
- Provides-Extra: postgresql_psycopg2binary
75
- Requires-Dist: psycopg2-binary ; extra == 'postgresql_psycopg2binary'
76
- Provides-Extra: postgresql_psycopg2cffi
77
- Requires-Dist: psycopg2cffi ; extra == 'postgresql_psycopg2cffi'
78
- Provides-Extra: postgresql_psycopgbinary
79
- Requires-Dist: psycopg[binary] >=3.0.7 ; extra == 'postgresql_psycopgbinary'
54
+ Requires-Dist: psycopg2>=2.7; extra == "postgresql"
55
+ Provides-Extra: postgresql-pg8000
56
+ Requires-Dist: pg8000>=1.29.1; extra == "postgresql-pg8000"
57
+ Provides-Extra: postgresql-asyncpg
58
+ Requires-Dist: greenlet!=0.4.17; extra == "postgresql-asyncpg"
59
+ Requires-Dist: asyncpg; extra == "postgresql-asyncpg"
60
+ Provides-Extra: postgresql-psycopg2binary
61
+ Requires-Dist: psycopg2-binary; extra == "postgresql-psycopg2binary"
62
+ Provides-Extra: postgresql-psycopg2cffi
63
+ Requires-Dist: psycopg2cffi; extra == "postgresql-psycopg2cffi"
64
+ Provides-Extra: postgresql-psycopg
65
+ Requires-Dist: psycopg>=3.0.7; extra == "postgresql-psycopg"
66
+ Provides-Extra: postgresql-psycopgbinary
67
+ Requires-Dist: psycopg[binary]>=3.0.7; extra == "postgresql-psycopgbinary"
80
68
  Provides-Extra: pymysql
81
- Requires-Dist: pymysql ; extra == 'pymysql'
69
+ Requires-Dist: pymysql; extra == "pymysql"
70
+ Provides-Extra: aiomysql
71
+ Requires-Dist: greenlet!=0.4.17; extra == "aiomysql"
72
+ Requires-Dist: aiomysql>=0.2.0; extra == "aiomysql"
73
+ Provides-Extra: aioodbc
74
+ Requires-Dist: greenlet!=0.4.17; extra == "aioodbc"
75
+ Requires-Dist: aioodbc; extra == "aioodbc"
76
+ Provides-Extra: asyncmy
77
+ Requires-Dist: greenlet!=0.4.17; extra == "asyncmy"
78
+ Requires-Dist: asyncmy!=0.2.4,!=0.2.6,>=0.2.3; extra == "asyncmy"
79
+ Provides-Extra: aiosqlite
80
+ Requires-Dist: greenlet!=0.4.17; extra == "aiosqlite"
81
+ Requires-Dist: aiosqlite; extra == "aiosqlite"
82
+ Requires-Dist: typing_extensions!=3.10.0.1; extra == "aiosqlite"
82
83
  Provides-Extra: sqlcipher
83
- Requires-Dist: sqlcipher3-binary ; extra == 'sqlcipher'
84
+ Requires-Dist: sqlcipher3_binary; extra == "sqlcipher"
84
85
 
85
86
  SQLAlchemy
86
87
  ==========
@@ -0,0 +1,268 @@
1
+ sqlalchemy/__init__.py,sha256=m8AoRzqL1l_3uFAeJ_vwtlAfXkboxLKJ3oL1RqFnXbM,13033
2
+ sqlalchemy/events.py,sha256=VBRvtckn9JS3tfUfi6UstqUrvQ15J2xamcDByFysIrI,525
3
+ sqlalchemy/exc.py,sha256=AjFBCrOl_V4vQdGegn72Y951RSRMPL6T5qjxnFTGFbM,23978
4
+ sqlalchemy/inspection.py,sha256=qKEKG37N1OjxpQeVzob1q9VwWjBbjI1x0movJG7fYJ4,5063
5
+ sqlalchemy/log.py,sha256=e_ztNUfZM08FmTWeXN9-doD5YKW44nXxgKCUxxNs6Ow,8607
6
+ sqlalchemy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ sqlalchemy/schema.py,sha256=yt4dcuMAKMleUHVidsAVAsm-JPpASFZXP2xM3pmzYHY,3194
8
+ sqlalchemy/types.py,sha256=m3I9h6xoyT7cjeUx5XCzmaE-GHT2sJVwECiuSJl75Ss,3168
9
+ sqlalchemy/connectors/__init__.py,sha256=YeSHsOB0YhdM6jZUvHFQFwKqNXO02MlklmGW0yCywjI,476
10
+ sqlalchemy/connectors/aioodbc.py,sha256=KT9xi2xQ4AJgDiGPTV5h_5qi9dummmenKAvWelwza3w,5288
11
+ sqlalchemy/connectors/asyncio.py,sha256=00claZADdFUh2iQmlpqoLhLTBxK0i79Mwd9WZqUtleM,6138
12
+ sqlalchemy/connectors/pyodbc.py,sha256=GsW9bD0H30OMTbGDx9SdaTT_ujgpxP7TM4rfhIzD4mo,8501
13
+ sqlalchemy/cyextension/__init__.py,sha256=4npVIjitKfUs0NQ6f3UdQBDq4ipJ0_ZNB2mpKqtc5ik,244
14
+ sqlalchemy/cyextension/collections.pyx,sha256=L7DZ3DGKpgw2MT2ZZRRxCnrcyE5pU1NAFowWgAzQPEc,12571
15
+ sqlalchemy/cyextension/immutabledict.pxd,sha256=3x3-rXG5eRQ7bBnktZ-OJ9-6ft8zToPmTDOd92iXpB0,291
16
+ sqlalchemy/cyextension/immutabledict.pyx,sha256=KfDTYbTfebstE8xuqAtuXsHNAK0_b5q_ymUiinUe_xs,3535
17
+ sqlalchemy/cyextension/processors.pyx,sha256=R1rHsGLEaGeBq5VeCydjClzYlivERIJ9B-XLOJlf2MQ,1792
18
+ sqlalchemy/cyextension/resultproxy.pyx,sha256=eWLdyBXiBy_CLQrF5ScfWJm7X0NeelscSXedtj1zv9Q,2725
19
+ sqlalchemy/cyextension/util.pyx,sha256=B85orxa9LddLuQEaDoVSq1XmAXIbLKxrxpvuB8ogV_o,2530
20
+ sqlalchemy/dialects/__init__.py,sha256=4jxiSgI_fVCNXcz42gQYKEp0k07RAHyQN4ZpjaNsFUI,1770
21
+ sqlalchemy/dialects/_typing.py,sha256=8YwrkOa8IvmBojwwegbL5mL_0UAuzdqYiKHKANpvHMw,971
22
+ sqlalchemy/dialects/type_migration_guidelines.txt,sha256=-uHNdmYFGB7bzUNT6i8M5nb4j6j9YUKAtW4lcBZqsMg,8239
23
+ sqlalchemy/dialects/mssql/__init__.py,sha256=6t_aNpgbMLdPE9gpHYTf9o6QfVavncztRLbr21l2NaY,1880
24
+ sqlalchemy/dialects/mssql/aioodbc.py,sha256=4CmhwIkZrabpG-r7_ogRVajD-nhRZSFJ0Swz2d0jIHM,2021
25
+ sqlalchemy/dialects/mssql/base.py,sha256=2UCotpN3WBPgMddhXVP6Epc-srvNrYHCnK4kcEbjW6w,132713
26
+ sqlalchemy/dialects/mssql/information_schema.py,sha256=v5MZz1FN72THEwF_u3Eh_2vnWdFE13RYydOioMMcuvU,8084
27
+ sqlalchemy/dialects/mssql/json.py,sha256=F53pibuOVRzgDtjoclOI7LnkKXNVsaVfJyBH1XAhyDo,4756
28
+ sqlalchemy/dialects/mssql/provision.py,sha256=P1tqxZ4f6Oeqn2gNi7dXl82LRLCg1-OB4eWiZc6CHek,5593
29
+ sqlalchemy/dialects/mssql/pymssql.py,sha256=C7yAs3Pw81W1KTVNc6_0sHQuYlJ5iH82vKByY4TkB1g,4097
30
+ sqlalchemy/dialects/mssql/pyodbc.py,sha256=CnO7KDWxbxb7AoZhp_PMDBvVSMuzwq1h4Cav2IWFWDo,27173
31
+ sqlalchemy/dialects/mysql/__init__.py,sha256=ropOMUWrAcL-Q7h-9jQ_tb3ISAFIsNRQ8YVXvn0URl0,2206
32
+ sqlalchemy/dialects/mysql/aiomysql.py,sha256=yrujoFtAG0QvtVlgbGBUMg3kXeXlIH62tvyYTCMUfnE,10013
33
+ sqlalchemy/dialects/mysql/asyncmy.py,sha256=rmVSf86VYxgAUROIKfVtvS-grG9aPBiLY_Gu0KJMjuo,10081
34
+ sqlalchemy/dialects/mysql/base.py,sha256=LkGJ6G1U2xygOawOtQYBfTipGh8MuiE1kNxaD7S9UIY,123432
35
+ sqlalchemy/dialects/mysql/cymysql.py,sha256=KwxSsF4a6uUd6yblhSns8uj4hgmhv4hFInTZNdmRixA,2300
36
+ sqlalchemy/dialects/mysql/dml.py,sha256=VjnTobe_SBNF2RN6tvqa5LOn-9x4teVUyzUedZkOmdc,7768
37
+ sqlalchemy/dialects/mysql/enumerated.py,sha256=qI5gnBYhxk9dhPeUfGiijp0qT2Puazdp27-ba_38uWQ,8447
38
+ sqlalchemy/dialects/mysql/expression.py,sha256=3PEKPwYIZ8mVXkjUgHaj_efPBYuBNWZSnfUcJuoZddA,4121
39
+ sqlalchemy/dialects/mysql/json.py,sha256=W31DojiRypifXKVh3PJSWP7IHqFoeKwzLl-0CJH6QRI,2269
40
+ sqlalchemy/dialects/mysql/mariadb.py,sha256=g4v4WQuXHn556Nn6k-RgvPrmfCql1R46fIEk6UEx0U8,1450
41
+ sqlalchemy/dialects/mysql/mariadbconnector.py,sha256=t4m6kfYBoURjNXRxlEsRajjvArNDc4lmaFGxHQh7VTo,8623
42
+ sqlalchemy/dialects/mysql/mysqlconnector.py,sha256=gdNOGdRqvnCbLZpKjpubu_0tGRQ5Tn_2TZvbp3v9rX0,5729
43
+ sqlalchemy/dialects/mysql/mysqldb.py,sha256=5ME7B0WI9G8tw5482YBejDg38uVMXR2oUasNDOCsAqQ,9526
44
+ sqlalchemy/dialects/mysql/provision.py,sha256=5LCeInPvyEbGuzxSs9rnnLYkMsFpW3IJ8lC-sjTfKnk,3575
45
+ sqlalchemy/dialects/mysql/pymysql.py,sha256=osp0em1s3Cip5Vpcj-PeaH7btHEInorO-qs351muw3Q,4082
46
+ sqlalchemy/dialects/mysql/pyodbc.py,sha256=ZiFNJQq2qiOTzTZLmNJQ938EnS1ItVsNDa3fvNEDqnI,4298
47
+ sqlalchemy/dialects/mysql/reflection.py,sha256=eGV9taua0nZS_HsHyAy6zjcHEHFPXmFdux-bUmtOeWs,22834
48
+ sqlalchemy/dialects/mysql/reserved_words.py,sha256=C9npWSuhsxoVCqETxCQ1zE_UEgy4gfiHw9zI5dPkjWI,9258
49
+ sqlalchemy/dialects/mysql/types.py,sha256=w68OASMw04xkyAc0_GtXkuEhhVqlR6LTwaOch4KaAFQ,24343
50
+ sqlalchemy/dialects/oracle/__init__.py,sha256=rp9qPRNQAk1Yq_Zhe7SsUH8EvFgNOAh8XOF17Lkxpyo,1493
51
+ sqlalchemy/dialects/oracle/base.py,sha256=_JF4OwXmXjAsXj8wXq2m8M2vtMjoxdlOwg1hfcgn3bc,123096
52
+ sqlalchemy/dialects/oracle/cx_oracle.py,sha256=ohENTgLxGUfobRH3K8KdeZgBRPG1rX3vY-ph9blj-2g,56612
53
+ sqlalchemy/dialects/oracle/dictionary.py,sha256=J7tGVE0KyUPZKpPLOary3HdDq1DWd29arF5udLgv8_o,19519
54
+ sqlalchemy/dialects/oracle/oracledb.py,sha256=veqto1AUIbSxRmpUQin0ysMV8Y6sWAkzXt7W8IIl118,33771
55
+ sqlalchemy/dialects/oracle/provision.py,sha256=ga1gNQZlXZKk7DYuYegllUejJxZXRKDGa7dbi_S_poc,8313
56
+ sqlalchemy/dialects/oracle/types.py,sha256=axN6Yidx9tGRIUAbDpBrhMWXE-C8jSllFpTghpGOOzU,9058
57
+ sqlalchemy/dialects/postgresql/__init__.py,sha256=kD8W-SV5e2CesvWg2MQAtncXuZFwGPfR_UODvmRXE08,3892
58
+ sqlalchemy/dialects/postgresql/_psycopg_common.py,sha256=szME-lCjVwqnW9-USA6e8ke8N_bN3IbqnIm_oZruvqc,5696
59
+ sqlalchemy/dialects/postgresql/array.py,sha256=28kndSQwgvNWlO4z6MUh5WYAtNSgkgBa6qSEQCIflks,13856
60
+ sqlalchemy/dialects/postgresql/asyncpg.py,sha256=ysIDXcGT3OG2lu0YdiIn-_pzfL0uDe-tmHs70fOWVVE,41283
61
+ sqlalchemy/dialects/postgresql/base.py,sha256=otAswEHqeRhbN9_AGMxnwDo6r872ECkiJ5FMetXfS0k,179452
62
+ sqlalchemy/dialects/postgresql/dml.py,sha256=2SmyMeYveAgm7OnT_CJvwad2nh8BP37yT6gFs8dBYN8,12126
63
+ sqlalchemy/dialects/postgresql/ext.py,sha256=MtN4IU5sRYvoY-E8PTltJ1CuIGb-aCwY2pHMPJcTboA,16318
64
+ sqlalchemy/dialects/postgresql/hstore.py,sha256=wR4gmvfQWPssHwYTXEsPJTb4LkBS6x4e4XXE6smtDH4,11934
65
+ sqlalchemy/dialects/postgresql/json.py,sha256=9sHFGTRFyNbLsANrVYookw9NOJwIPTsEBRNIOUOzOGw,11612
66
+ sqlalchemy/dialects/postgresql/named_types.py,sha256=TEWaBCjuHM2WJoQNrQErQ6f_bUkWypGJfW71wzVJXWc,17572
67
+ sqlalchemy/dialects/postgresql/operators.py,sha256=ay3ckNsWtqDjxDseTdKMGGqYVzST6lmfhbbYHG_bxCw,2808
68
+ sqlalchemy/dialects/postgresql/pg8000.py,sha256=RAykzZuO3Anr6AsyK2JYr7CPb2pru6WtkrX2phCyCGU,18638
69
+ sqlalchemy/dialects/postgresql/pg_catalog.py,sha256=lgJMn7aDuJI2XeHddLkge5NFy6oB2-aDSn8A47QpwAU,9254
70
+ sqlalchemy/dialects/postgresql/provision.py,sha256=7pg9-nOnaK5XBzqByXNPuvi3rxtnRa3dJxdSPVq4eeA,5770
71
+ sqlalchemy/dialects/postgresql/psycopg.py,sha256=k7zXsJj35aOXCrhsbMxwTQX5JWegrqirFJ1Hgbq-GjQ,23326
72
+ sqlalchemy/dialects/postgresql/psycopg2.py,sha256=1KXw9RzsQEAXJazCBywdP5CwLu-HsCSDAD_Khc_rPTM,32032
73
+ sqlalchemy/dialects/postgresql/psycopg2cffi.py,sha256=nKilJfvO9mJwk5NRw5iZDekKY5vi379tvdUJ2vn5eyQ,1756
74
+ sqlalchemy/dialects/postgresql/ranges.py,sha256=fnaj4YgCQGO-G_S4k5ea8bYMH7SzggKJdUX5qfaNp4Y,32978
75
+ sqlalchemy/dialects/postgresql/types.py,sha256=sjb-m-h49lbLBFh0P30G8BWgf_aKNiNyVwWEktugwRw,7286
76
+ sqlalchemy/dialects/sqlite/__init__.py,sha256=6Xcz3nPsl8lqCcZ4-VzPRmkMrkKgAp2buKsClZelU7c,1182
77
+ sqlalchemy/dialects/sqlite/aiosqlite.py,sha256=FWS-Nn2jnpITQKGd4xOZCYEW-l1C_erQ3IdDJC855t8,12348
78
+ sqlalchemy/dialects/sqlite/base.py,sha256=PvwPzukomHAkufUzSqgfJcbKC2ZJAkJbVnW2BQB2T58,98271
79
+ sqlalchemy/dialects/sqlite/dml.py,sha256=4N8qh06RuMphLoQgWw7wv5nXIrka57jIFvK2x9xTZqg,9138
80
+ sqlalchemy/dialects/sqlite/json.py,sha256=A62xPyLRZxl2hvgTMM92jd_7jlw9UE_4Y6Udqt-8g04,2777
81
+ sqlalchemy/dialects/sqlite/provision.py,sha256=iLJyeQSy8pfr9lwEu4_d4O_CI4OavAtkNeRi3qqys1U,5632
82
+ sqlalchemy/dialects/sqlite/pysqlcipher.py,sha256=di8rYryfL0KAn3pRGepmunHyIRGy-4Hhr-2q_ehPzss,5371
83
+ sqlalchemy/dialects/sqlite/pysqlite.py,sha256=rg7F1S2UOhUu6Y1xNVaqF8VbA-FsRY_Y_XpGTpkKpGs,28087
84
+ sqlalchemy/engine/__init__.py,sha256=EF4haWCPu95WtWx1GzcHRJ_bBmtJMznno3I2TQ-ZIHE,2818
85
+ sqlalchemy/engine/_py_processors.py,sha256=7QxgkVOd5h1Qd22qFh-pPZdM7RBRzNjj8lWAMWrilcI,3744
86
+ sqlalchemy/engine/_py_row.py,sha256=yNdrZe36yw6mO7x0OEbG0dGojH7CQkNReIwn9LMUPUs,3787
87
+ sqlalchemy/engine/_py_util.py,sha256=LdpbNRQIrJo3EkmiwNkM5bxGUf4uWuL5uS_u-zHadWc,2484
88
+ sqlalchemy/engine/base.py,sha256=9kCWrDp3ECOlQ7BHK_efYAILo3-emcPSk4F8AFRgN7E,122901
89
+ sqlalchemy/engine/characteristics.py,sha256=PepmGApo1sL01dS1qtSbmHplu9ZCdtuSegiGI7L7NZY,4765
90
+ sqlalchemy/engine/create.py,sha256=4gFkqV7fgJbI1906DC4zDgFFX1-xJQ96GIHIrQuc-w4,33217
91
+ sqlalchemy/engine/cursor.py,sha256=6KIZqlwWMUMv02w_el4uNYFMYcfc7eWbkAxW27UyDLE,76305
92
+ sqlalchemy/engine/default.py,sha256=SHM6boxcDNk7MW_Eyd0zCb557Eqf8KTdX1iTUbS0DLw,84705
93
+ sqlalchemy/engine/events.py,sha256=4_e6Ip32ar2Eb27R4ipamiKC-7Tpg4lVz3txabhT5Rc,37400
94
+ sqlalchemy/engine/interfaces.py,sha256=fGmcrBt8yT78ty0R3e3XUvsPh7XYDU_b1JW3QhK_MwY,113029
95
+ sqlalchemy/engine/mock.py,sha256=_aXG1xzj_TO5UWdz8IthPj1ZJ8IlhsKw6D9mmFN_frQ,4181
96
+ sqlalchemy/engine/processors.py,sha256=XK32bULBkuVVRa703u4-SrTCDi_a18Dxq1M09QFBEPw,2379
97
+ sqlalchemy/engine/reflection.py,sha256=_v9zCy3h28hN4KKIUTc5_7KJv7argSgi8A011b_iCdc,75383
98
+ sqlalchemy/engine/result.py,sha256=rgny4qFLmpj80GSdFK35Dpgc3Qk2tc3eJPpahGWVR-M,77622
99
+ sqlalchemy/engine/row.py,sha256=BPtAwsceiRxB9ANpDNM24uQ1M_Zs0xFkSXoKR_I8xyY,12031
100
+ sqlalchemy/engine/strategies.py,sha256=-0rieXY-iXgV83OrJZr-wozFFQn3amKKHchQ6kL-r7A,442
101
+ sqlalchemy/engine/url.py,sha256=gaEeSEJCD0nVEb8J02rIMASrd5L2wYdq5ZXJaj7szVI,31069
102
+ sqlalchemy/engine/util.py,sha256=4OmXwFlmnq6_vBlfUBHnz5LrI_8bT3TwgynX4wcJfnw,5682
103
+ sqlalchemy/event/__init__.py,sha256=ZjVxFGbt9neH5AC4GFiUN5IG2O4j6Z9v2LdmyagJi9w,997
104
+ sqlalchemy/event/api.py,sha256=NetgcQfbURaZzoxus7_801YDG_LJ7PYqaC3T1lws114,8111
105
+ sqlalchemy/event/attr.py,sha256=YhPXVBPj63Cfyn0nS6h8Ljq0SEbD3mtAZn9HYlzGbtw,20751
106
+ sqlalchemy/event/base.py,sha256=OevVb82IrUoVgFRrjH4b5GquS5pjFHOgzWAxPwwTKMY,15127
107
+ sqlalchemy/event/legacy.py,sha256=lGafKAOF6PY8Bz0AqhN9Q6n-lpXqFLwdv-0T6-UBpow,8227
108
+ sqlalchemy/event/registry.py,sha256=MNEMyR8HZhzQFgxk4Jk_Em6nXTihmGXiSIwPdUnalPM,11144
109
+ sqlalchemy/ext/__init__.py,sha256=BkTNuOg454MpCY9QA3FLK8td7KQhD1W74fOEXxnWibE,322
110
+ sqlalchemy/ext/associationproxy.py,sha256=VhOFB1vB8hmDYQP90_VdpPI9IFzP3NENkG_eDKziVoI,66062
111
+ sqlalchemy/ext/automap.py,sha256=n88mktqvExwjqfsDu3yLIA4wbOIWUpQ1S35Uw3X6ffQ,61675
112
+ sqlalchemy/ext/baked.py,sha256=w3SeRoqnPkIhPL2nRAxfVhyir2ypsiW4kmtmUGKs8qo,17753
113
+ sqlalchemy/ext/compiler.py,sha256=f7o4qhUUldpsx4F1sQoUvdVaT2BhiemqNBCF4r_uQUo,20889
114
+ sqlalchemy/ext/horizontal_shard.py,sha256=vouIehpQAuwT0HXyWyynTL3m_gcBuLcB-X8lDB0uQ8U,16691
115
+ sqlalchemy/ext/hybrid.py,sha256=DkvNGtiQYzlEBvs1rYEDXhM8vJEXXh_6DMigsHH9w4k,52531
116
+ sqlalchemy/ext/indexable.py,sha256=_dTOgCS96jURcQd9L-hnUMIJDe9KUMyd9gfH57vs078,11065
117
+ sqlalchemy/ext/instrumentation.py,sha256=iCp89rvfK7buW0jJyzKTBDKyMsd06oTRJDItOk4OVSw,15707
118
+ sqlalchemy/ext/mutable.py,sha256=7Zyh2kQq2gm3J_JwsddinIXk7qUuKWbPzRZOmTultEk,37560
119
+ sqlalchemy/ext/orderinglist.py,sha256=MROa19cm4RZkWXuUuqc1029r7g4HrAJRc17fTHeThvI,14431
120
+ sqlalchemy/ext/serializer.py,sha256=_z95wZMTn3G3sCGN52gwzD4CuKjrhGMr5Eu8g9MxQNg,6169
121
+ sqlalchemy/ext/asyncio/__init__.py,sha256=kTIfpwsHWhqZ-VMOBZFBq66kt1XeF0hNuwOToEDe4_Y,1317
122
+ sqlalchemy/ext/asyncio/base.py,sha256=2YQ-nKaHbAm--7q6vbxbznzdwT8oPwetwAarKyu2O8E,8930
123
+ sqlalchemy/ext/asyncio/engine.py,sha256=fe_RZrO-5DiiEgMZ3g-Lti-fdaR7z_Q8gDfPUf-30EY,48198
124
+ sqlalchemy/ext/asyncio/exc.py,sha256=npijuILDXH2p4Q5RzhHzutKwZ5CjtqTcP-U0h9TZUmk,639
125
+ sqlalchemy/ext/asyncio/result.py,sha256=zhhXe13vMT7OfdfGXapgtn4crtiqqctRLb3ka4mmGXY,30477
126
+ sqlalchemy/ext/asyncio/scoping.py,sha256=4f7MX3zUd-4rA8A5wd7j0_GlqCSUxdOPfYd7BBIxkJI,52587
127
+ sqlalchemy/ext/asyncio/session.py,sha256=2wxu06UtJGyf-be2edMFkcK4eLMh8xuGmsAlGRj0YPM,63166
128
+ sqlalchemy/ext/declarative/__init__.py,sha256=SuVflXOGDxx2sB2QSTqNEvqS0fyhOkh3-sy2lRsSOLA,1818
129
+ sqlalchemy/ext/declarative/extensions.py,sha256=yHUPcztU-5E1JrNyELDFWKchAnaYK6Y9-dLcqyc1nUI,19531
130
+ sqlalchemy/ext/mypy/__init__.py,sha256=yVNtoBDNeTl1sqRoA_fSY3o1g6M8NxqUVvAHPRLmFTw,241
131
+ sqlalchemy/ext/mypy/apply.py,sha256=v_Svc1WiBz9yBXqBVBKoCuPGN286TfVmuuCVZPlbyzo,10591
132
+ sqlalchemy/ext/mypy/decl_class.py,sha256=Nuca4ofHkASAkdqEQlULYB7iLm_KID7Mp384seDhVGg,17384
133
+ sqlalchemy/ext/mypy/infer.py,sha256=29vgn22Hi8E8oIZL6UJCBl6oipiPSAQjxccCEkVb410,19367
134
+ sqlalchemy/ext/mypy/names.py,sha256=hn889DD1nlF0f3drsKi5KSGTG-JefJ2UJrrIQ4L8QWA,10479
135
+ sqlalchemy/ext/mypy/plugin.py,sha256=9YHBp0Bwo92DbDZIUWwIr0hwXPcE4XvHs0-xshvSwUw,9750
136
+ sqlalchemy/ext/mypy/util.py,sha256=CuW2fJ-g9YtkjcypzmrPRaFc-rAvQTzW5A2-w5VTANg,9960
137
+ sqlalchemy/future/__init__.py,sha256=R1h8VBwMiIUdP3QHv_tFNby557425FJOAGhUoXGvCmc,512
138
+ sqlalchemy/future/engine.py,sha256=2nJFBQAXAE8pqe1cs-D3JjC6wUX2ya2h2e_tniuaBq0,495
139
+ sqlalchemy/orm/__init__.py,sha256=BICvTXpLaTNe2AiUaxnZHWzjL5miT9fd_IU-ip3OFNk,8463
140
+ sqlalchemy/orm/_orm_constructors.py,sha256=NiAagQ1060QYS9n5y_gzPvHQQz44EN1dVtamGVtde6E,103626
141
+ sqlalchemy/orm/_typing.py,sha256=vaYRl4_K3n-sjc9u0Rb4eWWpBOoOi92--OHqaGogRvA,4973
142
+ sqlalchemy/orm/attributes.py,sha256=e_U0A4TGWAzL3yXVvk9YVhIRjKM4RTsIE2PNRLn8LbU,92534
143
+ sqlalchemy/orm/base.py,sha256=oCgscNoRrqHwYvc1Iz8ZFhoVXhalu45g9z0m_7_ldaE,27502
144
+ sqlalchemy/orm/bulk_persistence.py,sha256=Ciea9MhJ6ZbAi-uGy5-Kj6lodO9bfRqPq8GSf2qFshE,72663
145
+ sqlalchemy/orm/clsregistry.py,sha256=syn6bB-Ylx-juh5GDCmNrPZ58C-z6sdwRkbZFeKysQU,17974
146
+ sqlalchemy/orm/collections.py,sha256=XxZC8d9UX9E2R-WlNH198OPWRPmpLuYt0Y26LrdbuHc,52252
147
+ sqlalchemy/orm/context.py,sha256=eyh7xTo3SyxIHl8_NBUqJ_GpJ0kZtmnTt32Z67cfqgs,112973
148
+ sqlalchemy/orm/decl_api.py,sha256=SJ25fQjjKyWZDQbq5S69eiybpOzns0LkRziP10iW5-E,64969
149
+ sqlalchemy/orm/decl_base.py,sha256=ZlZmyNVOsCPA_pThMeXuWmAhlJwlvTxdGXhnARsKxhk,83288
150
+ sqlalchemy/orm/dependency.py,sha256=4NMhoogevOiX1Wm5B1_yY2u9MHYlIjJNNoEVRE0yLwA,47631
151
+ sqlalchemy/orm/descriptor_props.py,sha256=LgfdiO_U5uznq5ImenfbWGV5T47bH4b_ztbzB4B7FsU,37231
152
+ sqlalchemy/orm/dynamic.py,sha256=Z4GpcVL8rM8gi0bytQOZXw-_kKi-sExbRWGjU30dK3g,9816
153
+ sqlalchemy/orm/evaluator.py,sha256=PKrUW1zEOvmv1XEgc_hBdYqNcyk4zjWr_rJhCEQBFIc,12353
154
+ sqlalchemy/orm/events.py,sha256=OZtTCpI-DVaE6CY16e42GUVpci1U1GjdNO76xU-Tj5Y,127781
155
+ sqlalchemy/orm/exc.py,sha256=zJgAIofYsWKjktqO5MFxze95GlJASziEOJJx-P5_wOU,7413
156
+ sqlalchemy/orm/identity.py,sha256=5NFtF9ZPZWAOmtOqCPyVX2-_pQq9A5XeN2ns3Wirpv8,9249
157
+ sqlalchemy/orm/instrumentation.py,sha256=WhElvvOWOn3Fuc-Asc5HmcKDX6EzFtBleLJKPZEc5A0,24321
158
+ sqlalchemy/orm/interfaces.py,sha256=W6ADDLOixmm4tnSnUP_I9HFLj9MCO2bODk_WTNjkZGA,48797
159
+ sqlalchemy/orm/loading.py,sha256=6Rd1hWtBPm7SfCUpjPQrcoUg_DSCcfhO8Qhz7SScjRE,58277
160
+ sqlalchemy/orm/mapped_collection.py,sha256=FAqaTlOUCYqdws2KR_fW0T8mMWIrLuAxJGU5f4W1aGs,19682
161
+ sqlalchemy/orm/mapper.py,sha256=-gkJKHeAJmIFT153WFIIySduyyLGbT5plCgSfnsa0I0,171668
162
+ sqlalchemy/orm/path_registry.py,sha256=-aAEhGkDf_2ZUXmHQICQNOa4Z5xhTlhlYLag7eoVpxE,25920
163
+ sqlalchemy/orm/persistence.py,sha256=Uz45Cwxi7FnNiSk2crbh3TzV7b9kb85vmcvOwy5NVmw,61701
164
+ sqlalchemy/orm/properties.py,sha256=vbx_YiSjj3tI94-G-_ghbyWYcIIJQQeGG1P-0RC8Jv4,29065
165
+ sqlalchemy/orm/query.py,sha256=GI_go9ErXYK1BteCmIh5E9iv-jfMJkRBVIlw0XmnYyk,118540
166
+ sqlalchemy/orm/relationships.py,sha256=C40n_-oliMgJJ0FHfwsi1-dm963CrYeKJ5HEYjLdg_o,128899
167
+ sqlalchemy/orm/scoping.py,sha256=-SNRAewfMJ4x4Um8X-yv0k1Thz8E1_kCBmbmG1l1auo,78617
168
+ sqlalchemy/orm/session.py,sha256=1fzksIcb9DtKcwqkS1KkZngkrEYGUHmoNW_o6l8IXQ4,196114
169
+ sqlalchemy/orm/state.py,sha256=1vtlz674sGFmwZ8Ih9TdrslA-0nhU2G52WgV-FoG2j0,37670
170
+ sqlalchemy/orm/state_changes.py,sha256=XJLYYhTZu7nA6uD7xupbLZ9XSzqLYwrDJgW0ZAWvVGE,6815
171
+ sqlalchemy/orm/strategies.py,sha256=qziXv4z2bJeF2qFSj6wogc9BLlxuOnT8nOcEvocVf88,119866
172
+ sqlalchemy/orm/strategy_options.py,sha256=wMYd4E_nRb5ei8Fr3jWeSewNY2k1-AfqtYRGOLiHOFA,85043
173
+ sqlalchemy/orm/sync.py,sha256=RdoxnhvgNjn3Lhtoq4QjvXpj8qfOz__wyibh0FMON0A,5779
174
+ sqlalchemy/orm/unitofwork.py,sha256=hkSIcVonoSt0WWHk019bCDEw0g2o2fg4m4yqoTGyAoo,27033
175
+ sqlalchemy/orm/util.py,sha256=rtClCjtg0eSSC8k-L30W0v6BauJaJuh9Nf-MSqofWuQ,80831
176
+ sqlalchemy/orm/writeonly.py,sha256=R-MVxYDw0ZQ795H21yBtgGSZXWUzSovcb_SO1mv5hoI,22305
177
+ sqlalchemy/pool/__init__.py,sha256=niqzCv2uOZT07DOiV2inlmjrW3lZyqDXGCjnOl1IqJ4,1804
178
+ sqlalchemy/pool/base.py,sha256=mT-PHTlVUGcYRVsMB9LQwNgndjhOTOorWX5-hNRi2FM,52236
179
+ sqlalchemy/pool/events.py,sha256=wdFfvat0fSrVF84Zzsz5E3HnVY0bhL7MPsGME-b2qa8,13149
180
+ sqlalchemy/pool/impl.py,sha256=MLSh83SGNNtZZgZvA-5tvTIT8Dz7U95Bgt8HO_oR1Ps,18944
181
+ sqlalchemy/sql/__init__.py,sha256=Y-bZ25Zf-bxqsF2zUkpRGTjFuozNNVQHxUJV3Qmaq2M,5820
182
+ sqlalchemy/sql/_dml_constructors.py,sha256=JF_XucNTfAk6Vz9fYiPWOgpIGtUkDj6VPILysLcrVhk,3795
183
+ sqlalchemy/sql/_elements_constructors.py,sha256=eoQhkoRH0qox171ZSODyxxhj_HZEhO64rSowaN-I-v4,62630
184
+ sqlalchemy/sql/_orm_types.py,sha256=0zeMit-V4rYZe-bB9X3xugnjFnPXH0gmeqkJou9Fows,625
185
+ sqlalchemy/sql/_py_util.py,sha256=4KFXNvBq3hhfrr-A1J1uBml3b3CGguIf1dat9gsEHqE,2173
186
+ sqlalchemy/sql/_selectable_constructors.py,sha256=fwVBsDHHWhngodBG205nvhM-Tb3uR1srbCnN3mPgrjA,18785
187
+ sqlalchemy/sql/_typing.py,sha256=zYKlxXnUW_KIkGuBmBnzj-vFG1QON8_F9JN1dl9KSiM,12771
188
+ sqlalchemy/sql/annotation.py,sha256=qHUEwbdmMD3Ybr0ez-Dyiw9l9UB_RUMHWAUIeO_r3gE,18245
189
+ sqlalchemy/sql/base.py,sha256=kfmVNRimU5z6X6OKqMLMs1bDCFQ47BeyF_MZc23nkjY,73848
190
+ sqlalchemy/sql/cache_key.py,sha256=ET2OIQ6jZK2FSxsdnCvhLCrNJ2Fp3zipQ-gvINgAjhQ,33668
191
+ sqlalchemy/sql/coercions.py,sha256=lRciS5agnpVvx_vHYxJV-aN6QOVb_O4yCnMZ0s07GUE,40750
192
+ sqlalchemy/sql/compiler.py,sha256=eT_zrKvApimVfycvcTdubQK8-QAzGHm5xWKdhOgnWUY,274965
193
+ sqlalchemy/sql/crud.py,sha256=vFegNw5557ayS4kv761zh0bx0yikEKh1ovMrhErHelg,56514
194
+ sqlalchemy/sql/ddl.py,sha256=rfb7gDvLmn_ktgH2xiXLRTczqnMOED1eakXuGuRPklg,45641
195
+ sqlalchemy/sql/default_comparator.py,sha256=uXLr8B-X6KbybwTjLjZ2hN-WZAvqoMhZ-DDHJX7rAUw,16707
196
+ sqlalchemy/sql/dml.py,sha256=oTW8PB-55qf6crAkbxh2JD-TvkT3MO1zqkKDrt5-2c8,65611
197
+ sqlalchemy/sql/elements.py,sha256=RYq5N-IEPnhcDKtokeaCDIGZiUex8oDgwRLCDqjkk_g,176482
198
+ sqlalchemy/sql/events.py,sha256=iWjc_nm1vClDBLg4ZhDnY75CkBdnlDPSPe0MGBSmbiM,18312
199
+ sqlalchemy/sql/expression.py,sha256=rw5tAm8vbd5Vm4MofTZ0ZcXsphz4z9xO_exy-gem6TM,7586
200
+ sqlalchemy/sql/functions.py,sha256=tbBxIeAqLV3kc1YDxyt68mxw0fFy6e93ctRUZSuuf3I,63858
201
+ sqlalchemy/sql/lambdas.py,sha256=h9sPCETBgAanLtVHQsRPHeY-hTEjM5nscq3m4bDstwM,49196
202
+ sqlalchemy/sql/naming.py,sha256=BU0ZdSzXXKHTPhoaKMWJ3gPMoeZSJJe9-3YDYflmjJw,6858
203
+ sqlalchemy/sql/operators.py,sha256=h5bgu31gukGdsYsN_0-1C7IGAdSCFpBxuRjOUnu1Two,76792
204
+ sqlalchemy/sql/roles.py,sha256=drAeWbevjgFAKNcMrH_EuJ-9sSvcq4aeXwAqMXXZGYw,7662
205
+ sqlalchemy/sql/schema.py,sha256=WKKwxkC9oNRHN-B4s35NkWcr5dvavccKf-_1t35Do8A,229896
206
+ sqlalchemy/sql/selectable.py,sha256=5Za7eh4USrgVwJgQGVX1bb2w1qXcy-hGzGpWNPbhf68,237610
207
+ sqlalchemy/sql/sqltypes.py,sha256=yXHvZXfZJmaRvMoX4_jXqazAev33pk0Ltwl5c-D5Ha4,128609
208
+ sqlalchemy/sql/traversals.py,sha256=7GALHt5mFceUv2SMUikIdAb9SUcSbACqhwoei5rPkxc,33664
209
+ sqlalchemy/sql/type_api.py,sha256=wdi3nmOBRdhG6L1z21V_PwQGB8CIRouMdNKoIzJA4Zo,84440
210
+ sqlalchemy/sql/util.py,sha256=G-2ZI6rZ7XxVu5YXaVvLrApeAk5VwSG4C--lqtglgGE,48086
211
+ sqlalchemy/sql/visitors.py,sha256=URpw-GxxUkwjEDbD2xXJGyFJavG5lN6ISoY34JlYRS8,36319
212
+ sqlalchemy/testing/__init__.py,sha256=GgUEqxUNCxg-92_GgBDnljUHsdCxaGPMG1TWy5tjwgk,3160
213
+ sqlalchemy/testing/assertions.py,sha256=RFTkxGq-kDvn3JSUuT_6bU1y0vtoI6pE6ryZgV2YEx4,31439
214
+ sqlalchemy/testing/assertsql.py,sha256=cmhtZrgPBjrqIfzFz3VBWxVNvxWoRllvmoWcUCoqsio,16817
215
+ sqlalchemy/testing/asyncio.py,sha256=QsMzDWARFRrpLoWhuYqzYQPTUZ80fymlKrqOoDkmCmQ,3830
216
+ sqlalchemy/testing/config.py,sha256=HySdB5_FgCW1iHAJVxYo-4wq5gUAEi0N8E93IC6M86Q,12058
217
+ sqlalchemy/testing/engines.py,sha256=c1gFXfpo5S1dvNjGIL03mbW2eVYtUD_9M_ZEfQO2ArM,13414
218
+ sqlalchemy/testing/entities.py,sha256=KdgTVPSALhi9KkAXj2giOYl62ld-1yZziIDBSV8E3vw,3354
219
+ sqlalchemy/testing/exclusions.py,sha256=jzVrBXqyQlyMgvfChMjJOd0ZtReKgkJ4Ik-0mkWe6KM,12460
220
+ sqlalchemy/testing/pickleable.py,sha256=G3L0xL9OtbX7wThfreRjWd0GW7q0kUKcTUuCN5ETGno,2833
221
+ sqlalchemy/testing/profiling.py,sha256=SWhWiZImJvDsNn0rQyNki70xdNxZL53ZI98ihxiykbQ,10148
222
+ sqlalchemy/testing/provision.py,sha256=6r2FTnm-t7u8MMbWo7eMhAH3qkL0w0WlmE29MUSEIu4,14702
223
+ sqlalchemy/testing/requirements.py,sha256=MVuTKtZjeTZaYlrAU8XFIB1bhJA_AedqL_q7NwVEGiw,52956
224
+ sqlalchemy/testing/schema.py,sha256=IImFumAdpzOyoKAs0WnaGakq8D3sSU4snD9W4LVOV3s,6513
225
+ sqlalchemy/testing/util.py,sha256=KsUInolFBXUPIXVZKAdb_8rQrW8yW8OCtiA3GXuYRvA,14571
226
+ sqlalchemy/testing/warnings.py,sha256=sj4vfTtjodcfoX6FPH_Zykb4fomjmgqIYj81QPpSwH8,1546
227
+ sqlalchemy/testing/fixtures/__init__.py,sha256=e5YtfSlkKDRuyIZhEKBCycMX5BOO4MZ-0d97l1JDhJE,1198
228
+ sqlalchemy/testing/fixtures/base.py,sha256=y5iEEdUZIft06fvAOXwKU73ciIFTO5AVgDDGzYD9nOY,12256
229
+ sqlalchemy/testing/fixtures/mypy.py,sha256=9fuJ90F9LBki26dVEVOEtRVXG2koaK803k4nukTnA8o,11973
230
+ sqlalchemy/testing/fixtures/orm.py,sha256=3JJoYdI2tj5-LL7AN8bVa79NV3Guo4d9p6IgheHkWGc,6095
231
+ sqlalchemy/testing/fixtures/sql.py,sha256=ht-OD6fMZ0inxucRzRZG4kEMNicqY8oJdlKbZzHhAJc,15900
232
+ sqlalchemy/testing/plugin/__init__.py,sha256=vRfF7M763cGm9tLQDWK6TyBNHc80J1nX2fmGGxN14wY,247
233
+ sqlalchemy/testing/plugin/bootstrap.py,sha256=VYnVSMb-u30hGY6xGn6iG-LqiF0CubT90AJPFY_6UiY,1685
234
+ sqlalchemy/testing/plugin/plugin_base.py,sha256=TBWdg2XgXB6QgUUFdKLv1O9-SXMitjHLm2rNNIzXZhQ,21578
235
+ sqlalchemy/testing/plugin/pytestplugin.py,sha256=0rRCp7RlnhJBg3gJEq0t0kJ-BCTQ34bqBE_lEQk5U3U,27656
236
+ sqlalchemy/testing/suite/__init__.py,sha256=S8TLwTiif8xX67qlZUo5I9fl9UjZAFGSzvlptp2WoWc,722
237
+ sqlalchemy/testing/suite/test_cte.py,sha256=d3OWDBNhnAwlyAz_QhFk-vKSWaAI3mADVnqdtTWOuwI,6451
238
+ sqlalchemy/testing/suite/test_ddl.py,sha256=MItp-votCzvahlRqHRagte2Omyq9XUOFdFsgzCb6_-g,12031
239
+ sqlalchemy/testing/suite/test_deprecations.py,sha256=7C6IbxRmq7wg_DLq56f1V5RCS9iVrAv3epJZQTB-dOo,5337
240
+ sqlalchemy/testing/suite/test_dialect.py,sha256=eGJFZCwKmLrIl66ZlkLLZf5Fq6bzWI174gQsJt2bY2c,22923
241
+ sqlalchemy/testing/suite/test_insert.py,sha256=pR0VWMQ9JJPbnANE6634PzR0VFmWMF8im6OTahc4vsQ,18824
242
+ sqlalchemy/testing/suite/test_reflection.py,sha256=EJvTjRDimw9k90zlI5VCkmCzf7Tv5VF9y4O3D8SZMFU,109648
243
+ sqlalchemy/testing/suite/test_results.py,sha256=9FFBNLeXcNRIC9FHfEjFKwfV6w2Bb58ulml_M8Zdokg,16914
244
+ sqlalchemy/testing/suite/test_rowcount.py,sha256=UVyHHQsU0TxkzV_dqCOKR1aROvIq7frKYMVjwUqLWfE,7900
245
+ sqlalchemy/testing/suite/test_select.py,sha256=S81w-Dox6W29Tjmi6LIBJ4HuB5E8dDAzmePDm0PKTYo,61732
246
+ sqlalchemy/testing/suite/test_sequence.py,sha256=DMqyJkL1o4GClrNjzoy7GDn_jPNPTZNvk9t5e-MVXeo,9923
247
+ sqlalchemy/testing/suite/test_types.py,sha256=gPA6t-90Icnpj2ZzITwbqka1DB-rNOoh6_xS9dC-4HU,67805
248
+ sqlalchemy/testing/suite/test_unicode_ddl.py,sha256=0zVc2e3zbCQag_xL4b0i7F062HblHwV46JHLMweYtcE,6141
249
+ sqlalchemy/testing/suite/test_update_delete.py,sha256=_OxH0wggHUqPImalGEPI48RiRx6mO985Om1PtRYOCzA,3994
250
+ sqlalchemy/util/__init__.py,sha256=tYWkZV6PYVfEW32zt48FCLH12VyV_kaNUa3KBAOYpSM,8312
251
+ sqlalchemy/util/_collections.py,sha256=RbP4UixqNtRBUrl_QqYDiadVmELSVxxXm2drhvQaIKo,20078
252
+ sqlalchemy/util/_concurrency_py3k.py,sha256=UtPDkb67OOVWYvBqYaQgENg0k_jOA2mQOE04XmrbYq0,9170
253
+ sqlalchemy/util/_has_cy.py,sha256=3oh7s5iQtW9qcI8zYunCfGAKG6fzo2DIpzP5p1BnE8Q,1247
254
+ sqlalchemy/util/_py_collections.py,sha256=irOg3nkzxmtdYfIS46un2cp0JqSiACI7WGQBg-BaEXU,16714
255
+ sqlalchemy/util/compat.py,sha256=TdDfvL21VnBEdSUnjcx-F8XhmVFg9Mvyr67a4omWZAM,8760
256
+ sqlalchemy/util/concurrency.py,sha256=eQVS3YDH3GwB3Uw5pbzmqEBSYTK90EbnE5mQ05fHERg,3304
257
+ sqlalchemy/util/deprecations.py,sha256=L7D4GqeIozpjO8iVybf7jL9dDlgfTbAaQH4TQAX74qE,12012
258
+ sqlalchemy/util/langhelpers.py,sha256=G67avnsStFbslILlbCHmsyAMnShS7RYftFr9a8uFDL8,65140
259
+ sqlalchemy/util/preloaded.py,sha256=RMarsuhtMW8ZuvqLSuR0kwbp45VRlzKpJMLUe7p__qY,5904
260
+ sqlalchemy/util/queue.py,sha256=w1ufhuiC7lzyiZDhciRtRz1uyxU72jRI7SWhhL-p600,10185
261
+ sqlalchemy/util/tool_support.py,sha256=e7lWu6o1QlKq4e6c9PyDsuyFyiWe79vO72UQ_YX2pUA,6135
262
+ sqlalchemy/util/topological.py,sha256=HcJgdCeU0XFIskgIBnTaHXfRXaulaEJRYRwKv4yPNek,3458
263
+ sqlalchemy/util/typing.py,sha256=C4jF7QTNo0w0bjvcIqSSTOvoy8FttuZtyTzjiyoIzQQ,20920
264
+ SQLAlchemy-2.0.37.dist-info/LICENSE,sha256=mCFyC1jUpWW2EyEAeorUOraZGjlZ5mzV203Z6uacffw,1100
265
+ SQLAlchemy-2.0.37.dist-info/METADATA,sha256=U0OcluY6KNHDIczc03PmWkLp1DGtzongNDkQ6THEvDo,9641
266
+ SQLAlchemy-2.0.37.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
267
+ SQLAlchemy-2.0.37.dist-info/top_level.txt,sha256=rp-ZgB7D8G11ivXON5VGPjupT1voYmWqkciDt5Uaw_Q,11
268
+ SQLAlchemy-2.0.37.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
sqlalchemy/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # __init__.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -269,7 +269,7 @@ from .types import Uuid as Uuid
269
269
  from .types import VARBINARY as VARBINARY
270
270
  from .types import VARCHAR as VARCHAR
271
271
 
272
- __version__ = "2.0.35"
272
+ __version__ = "2.0.37"
273
273
 
274
274
 
275
275
  def __go(lcls: Any) -> None:
@@ -1,5 +1,5 @@
1
1
  # connectors/__init__.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -1,5 +1,5 @@
1
1
  # connectors/aioodbc.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -1,5 +1,5 @@
1
1
  # connectors/asyncio.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -1,5 +1,5 @@
1
1
  # connectors/pyodbc.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -1,5 +1,5 @@
1
1
  # cyextension/__init__.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -1,5 +1,5 @@
1
1
  # dialects/__init__.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -1,5 +1,5 @@
1
1
  # dialects/_typing.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -12,14 +12,19 @@ from typing import Mapping
12
12
  from typing import Optional
13
13
  from typing import Union
14
14
 
15
- from ..sql._typing import _DDLColumnArgument
16
- from ..sql.elements import DQLDMLClauseElement
15
+ from ..sql import roles
16
+ from ..sql.base import ColumnCollection
17
+ from ..sql.schema import Column
17
18
  from ..sql.schema import ColumnCollectionConstraint
18
19
  from ..sql.schema import Index
19
20
 
20
21
 
21
22
  _OnConflictConstraintT = Union[str, ColumnCollectionConstraint, Index, None]
22
- _OnConflictIndexElementsT = Optional[Iterable[_DDLColumnArgument]]
23
- _OnConflictIndexWhereT = Optional[DQLDMLClauseElement]
24
- _OnConflictSetT = Optional[Mapping[Any, Any]]
25
- _OnConflictWhereT = Union[DQLDMLClauseElement, str, None]
23
+ _OnConflictIndexElementsT = Optional[
24
+ Iterable[Union[Column[Any], str, roles.DDLConstraintColumnRole]]
25
+ ]
26
+ _OnConflictIndexWhereT = Optional[roles.WhereHavingRole]
27
+ _OnConflictSetT = Optional[
28
+ Union[Mapping[Any, Any], ColumnCollection[Any, Any]]
29
+ ]
30
+ _OnConflictWhereT = Optional[roles.WhereHavingRole]
@@ -1,5 +1,5 @@
1
1
  # dialects/mssql/__init__.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -1,5 +1,5 @@
1
1
  # dialects/mssql/aioodbc.py
2
- # Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
2
+ # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
3
3
  # <see AUTHORS file>
4
4
  #
5
5
  # This module is part of SQLAlchemy and is released under
@@ -32,13 +32,12 @@ This dialect should normally be used only with the
32
32
  styles are otherwise equivalent to those documented in the pyodbc section::
33
33
 
34
34
  from sqlalchemy.ext.asyncio import create_async_engine
35
+
35
36
  engine = create_async_engine(
36
37
  "mssql+aioodbc://scott:tiger@mssql2017:1433/test?"
37
38
  "driver=ODBC+Driver+18+for+SQL+Server&TrustServerCertificate=yes"
38
39
  )
39
40
 
40
-
41
-
42
41
  """
43
42
 
44
43
  from __future__ import annotations