SQLAlchemy 2.0.47__cp313-cp313t-win_amd64.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 (274) hide show
  1. sqlalchemy/__init__.py +283 -0
  2. sqlalchemy/connectors/__init__.py +18 -0
  3. sqlalchemy/connectors/aioodbc.py +184 -0
  4. sqlalchemy/connectors/asyncio.py +429 -0
  5. sqlalchemy/connectors/pyodbc.py +250 -0
  6. sqlalchemy/cyextension/__init__.py +6 -0
  7. sqlalchemy/cyextension/collections.cp313t-win_amd64.pyd +0 -0
  8. sqlalchemy/cyextension/collections.pyx +409 -0
  9. sqlalchemy/cyextension/immutabledict.cp313t-win_amd64.pyd +0 -0
  10. sqlalchemy/cyextension/immutabledict.pxd +8 -0
  11. sqlalchemy/cyextension/immutabledict.pyx +133 -0
  12. sqlalchemy/cyextension/processors.cp313t-win_amd64.pyd +0 -0
  13. sqlalchemy/cyextension/processors.pyx +68 -0
  14. sqlalchemy/cyextension/resultproxy.cp313t-win_amd64.pyd +0 -0
  15. sqlalchemy/cyextension/resultproxy.pyx +102 -0
  16. sqlalchemy/cyextension/util.cp313t-win_amd64.pyd +0 -0
  17. sqlalchemy/cyextension/util.pyx +90 -0
  18. sqlalchemy/dialects/__init__.py +62 -0
  19. sqlalchemy/dialects/_typing.py +30 -0
  20. sqlalchemy/dialects/mssql/__init__.py +88 -0
  21. sqlalchemy/dialects/mssql/aioodbc.py +63 -0
  22. sqlalchemy/dialects/mssql/base.py +4093 -0
  23. sqlalchemy/dialects/mssql/information_schema.py +285 -0
  24. sqlalchemy/dialects/mssql/json.py +129 -0
  25. sqlalchemy/dialects/mssql/provision.py +185 -0
  26. sqlalchemy/dialects/mssql/pymssql.py +126 -0
  27. sqlalchemy/dialects/mssql/pyodbc.py +760 -0
  28. sqlalchemy/dialects/mysql/__init__.py +104 -0
  29. sqlalchemy/dialects/mysql/aiomysql.py +250 -0
  30. sqlalchemy/dialects/mysql/asyncmy.py +231 -0
  31. sqlalchemy/dialects/mysql/base.py +3949 -0
  32. sqlalchemy/dialects/mysql/cymysql.py +106 -0
  33. sqlalchemy/dialects/mysql/dml.py +225 -0
  34. sqlalchemy/dialects/mysql/enumerated.py +282 -0
  35. sqlalchemy/dialects/mysql/expression.py +146 -0
  36. sqlalchemy/dialects/mysql/json.py +91 -0
  37. sqlalchemy/dialects/mysql/mariadb.py +72 -0
  38. sqlalchemy/dialects/mysql/mariadbconnector.py +322 -0
  39. sqlalchemy/dialects/mysql/mysqlconnector.py +302 -0
  40. sqlalchemy/dialects/mysql/mysqldb.py +314 -0
  41. sqlalchemy/dialects/mysql/provision.py +153 -0
  42. sqlalchemy/dialects/mysql/pymysql.py +158 -0
  43. sqlalchemy/dialects/mysql/pyodbc.py +157 -0
  44. sqlalchemy/dialects/mysql/reflection.py +727 -0
  45. sqlalchemy/dialects/mysql/reserved_words.py +570 -0
  46. sqlalchemy/dialects/mysql/types.py +835 -0
  47. sqlalchemy/dialects/oracle/__init__.py +81 -0
  48. sqlalchemy/dialects/oracle/base.py +3802 -0
  49. sqlalchemy/dialects/oracle/cx_oracle.py +1555 -0
  50. sqlalchemy/dialects/oracle/dictionary.py +507 -0
  51. sqlalchemy/dialects/oracle/oracledb.py +941 -0
  52. sqlalchemy/dialects/oracle/provision.py +297 -0
  53. sqlalchemy/dialects/oracle/types.py +316 -0
  54. sqlalchemy/dialects/oracle/vector.py +365 -0
  55. sqlalchemy/dialects/postgresql/__init__.py +167 -0
  56. sqlalchemy/dialects/postgresql/_psycopg_common.py +189 -0
  57. sqlalchemy/dialects/postgresql/array.py +519 -0
  58. sqlalchemy/dialects/postgresql/asyncpg.py +1284 -0
  59. sqlalchemy/dialects/postgresql/base.py +5378 -0
  60. sqlalchemy/dialects/postgresql/dml.py +339 -0
  61. sqlalchemy/dialects/postgresql/ext.py +540 -0
  62. sqlalchemy/dialects/postgresql/hstore.py +406 -0
  63. sqlalchemy/dialects/postgresql/json.py +404 -0
  64. sqlalchemy/dialects/postgresql/named_types.py +524 -0
  65. sqlalchemy/dialects/postgresql/operators.py +129 -0
  66. sqlalchemy/dialects/postgresql/pg8000.py +669 -0
  67. sqlalchemy/dialects/postgresql/pg_catalog.py +326 -0
  68. sqlalchemy/dialects/postgresql/provision.py +183 -0
  69. sqlalchemy/dialects/postgresql/psycopg.py +862 -0
  70. sqlalchemy/dialects/postgresql/psycopg2.py +892 -0
  71. sqlalchemy/dialects/postgresql/psycopg2cffi.py +61 -0
  72. sqlalchemy/dialects/postgresql/ranges.py +1031 -0
  73. sqlalchemy/dialects/postgresql/types.py +313 -0
  74. sqlalchemy/dialects/sqlite/__init__.py +57 -0
  75. sqlalchemy/dialects/sqlite/aiosqlite.py +482 -0
  76. sqlalchemy/dialects/sqlite/base.py +3056 -0
  77. sqlalchemy/dialects/sqlite/dml.py +263 -0
  78. sqlalchemy/dialects/sqlite/json.py +92 -0
  79. sqlalchemy/dialects/sqlite/provision.py +229 -0
  80. sqlalchemy/dialects/sqlite/pysqlcipher.py +157 -0
  81. sqlalchemy/dialects/sqlite/pysqlite.py +756 -0
  82. sqlalchemy/dialects/type_migration_guidelines.txt +145 -0
  83. sqlalchemy/engine/__init__.py +62 -0
  84. sqlalchemy/engine/_py_processors.py +136 -0
  85. sqlalchemy/engine/_py_row.py +128 -0
  86. sqlalchemy/engine/_py_util.py +74 -0
  87. sqlalchemy/engine/base.py +3390 -0
  88. sqlalchemy/engine/characteristics.py +155 -0
  89. sqlalchemy/engine/create.py +893 -0
  90. sqlalchemy/engine/cursor.py +2298 -0
  91. sqlalchemy/engine/default.py +2394 -0
  92. sqlalchemy/engine/events.py +965 -0
  93. sqlalchemy/engine/interfaces.py +3471 -0
  94. sqlalchemy/engine/mock.py +134 -0
  95. sqlalchemy/engine/processors.py +61 -0
  96. sqlalchemy/engine/reflection.py +2102 -0
  97. sqlalchemy/engine/result.py +2399 -0
  98. sqlalchemy/engine/row.py +400 -0
  99. sqlalchemy/engine/strategies.py +16 -0
  100. sqlalchemy/engine/url.py +924 -0
  101. sqlalchemy/engine/util.py +167 -0
  102. sqlalchemy/event/__init__.py +26 -0
  103. sqlalchemy/event/api.py +220 -0
  104. sqlalchemy/event/attr.py +676 -0
  105. sqlalchemy/event/base.py +472 -0
  106. sqlalchemy/event/legacy.py +258 -0
  107. sqlalchemy/event/registry.py +390 -0
  108. sqlalchemy/events.py +17 -0
  109. sqlalchemy/exc.py +832 -0
  110. sqlalchemy/ext/__init__.py +11 -0
  111. sqlalchemy/ext/associationproxy.py +2027 -0
  112. sqlalchemy/ext/asyncio/__init__.py +25 -0
  113. sqlalchemy/ext/asyncio/base.py +281 -0
  114. sqlalchemy/ext/asyncio/engine.py +1471 -0
  115. sqlalchemy/ext/asyncio/exc.py +21 -0
  116. sqlalchemy/ext/asyncio/result.py +965 -0
  117. sqlalchemy/ext/asyncio/scoping.py +1599 -0
  118. sqlalchemy/ext/asyncio/session.py +1947 -0
  119. sqlalchemy/ext/automap.py +1701 -0
  120. sqlalchemy/ext/baked.py +570 -0
  121. sqlalchemy/ext/compiler.py +600 -0
  122. sqlalchemy/ext/declarative/__init__.py +65 -0
  123. sqlalchemy/ext/declarative/extensions.py +564 -0
  124. sqlalchemy/ext/horizontal_shard.py +478 -0
  125. sqlalchemy/ext/hybrid.py +1535 -0
  126. sqlalchemy/ext/indexable.py +364 -0
  127. sqlalchemy/ext/instrumentation.py +450 -0
  128. sqlalchemy/ext/mutable.py +1085 -0
  129. sqlalchemy/ext/mypy/__init__.py +6 -0
  130. sqlalchemy/ext/mypy/apply.py +324 -0
  131. sqlalchemy/ext/mypy/decl_class.py +515 -0
  132. sqlalchemy/ext/mypy/infer.py +590 -0
  133. sqlalchemy/ext/mypy/names.py +335 -0
  134. sqlalchemy/ext/mypy/plugin.py +303 -0
  135. sqlalchemy/ext/mypy/util.py +357 -0
  136. sqlalchemy/ext/orderinglist.py +439 -0
  137. sqlalchemy/ext/serializer.py +185 -0
  138. sqlalchemy/future/__init__.py +16 -0
  139. sqlalchemy/future/engine.py +15 -0
  140. sqlalchemy/inspection.py +174 -0
  141. sqlalchemy/log.py +288 -0
  142. sqlalchemy/orm/__init__.py +171 -0
  143. sqlalchemy/orm/_orm_constructors.py +2661 -0
  144. sqlalchemy/orm/_typing.py +179 -0
  145. sqlalchemy/orm/attributes.py +2845 -0
  146. sqlalchemy/orm/base.py +971 -0
  147. sqlalchemy/orm/bulk_persistence.py +2135 -0
  148. sqlalchemy/orm/clsregistry.py +571 -0
  149. sqlalchemy/orm/collections.py +1627 -0
  150. sqlalchemy/orm/context.py +3334 -0
  151. sqlalchemy/orm/decl_api.py +2004 -0
  152. sqlalchemy/orm/decl_base.py +2192 -0
  153. sqlalchemy/orm/dependency.py +1302 -0
  154. sqlalchemy/orm/descriptor_props.py +1092 -0
  155. sqlalchemy/orm/dynamic.py +300 -0
  156. sqlalchemy/orm/evaluator.py +379 -0
  157. sqlalchemy/orm/events.py +3252 -0
  158. sqlalchemy/orm/exc.py +237 -0
  159. sqlalchemy/orm/identity.py +302 -0
  160. sqlalchemy/orm/instrumentation.py +754 -0
  161. sqlalchemy/orm/interfaces.py +1496 -0
  162. sqlalchemy/orm/loading.py +1686 -0
  163. sqlalchemy/orm/mapped_collection.py +557 -0
  164. sqlalchemy/orm/mapper.py +4444 -0
  165. sqlalchemy/orm/path_registry.py +809 -0
  166. sqlalchemy/orm/persistence.py +1788 -0
  167. sqlalchemy/orm/properties.py +935 -0
  168. sqlalchemy/orm/query.py +3459 -0
  169. sqlalchemy/orm/relationships.py +3508 -0
  170. sqlalchemy/orm/scoping.py +2148 -0
  171. sqlalchemy/orm/session.py +5280 -0
  172. sqlalchemy/orm/state.py +1168 -0
  173. sqlalchemy/orm/state_changes.py +196 -0
  174. sqlalchemy/orm/strategies.py +3470 -0
  175. sqlalchemy/orm/strategy_options.py +2568 -0
  176. sqlalchemy/orm/sync.py +164 -0
  177. sqlalchemy/orm/unitofwork.py +796 -0
  178. sqlalchemy/orm/util.py +2403 -0
  179. sqlalchemy/orm/writeonly.py +674 -0
  180. sqlalchemy/pool/__init__.py +44 -0
  181. sqlalchemy/pool/base.py +1524 -0
  182. sqlalchemy/pool/events.py +375 -0
  183. sqlalchemy/pool/impl.py +588 -0
  184. sqlalchemy/py.typed +0 -0
  185. sqlalchemy/schema.py +69 -0
  186. sqlalchemy/sql/__init__.py +145 -0
  187. sqlalchemy/sql/_dml_constructors.py +132 -0
  188. sqlalchemy/sql/_elements_constructors.py +1872 -0
  189. sqlalchemy/sql/_orm_types.py +20 -0
  190. sqlalchemy/sql/_py_util.py +75 -0
  191. sqlalchemy/sql/_selectable_constructors.py +763 -0
  192. sqlalchemy/sql/_typing.py +482 -0
  193. sqlalchemy/sql/annotation.py +587 -0
  194. sqlalchemy/sql/base.py +2293 -0
  195. sqlalchemy/sql/cache_key.py +1057 -0
  196. sqlalchemy/sql/coercions.py +1404 -0
  197. sqlalchemy/sql/compiler.py +8081 -0
  198. sqlalchemy/sql/crud.py +1752 -0
  199. sqlalchemy/sql/ddl.py +1444 -0
  200. sqlalchemy/sql/default_comparator.py +551 -0
  201. sqlalchemy/sql/dml.py +1850 -0
  202. sqlalchemy/sql/elements.py +5589 -0
  203. sqlalchemy/sql/events.py +458 -0
  204. sqlalchemy/sql/expression.py +159 -0
  205. sqlalchemy/sql/functions.py +2158 -0
  206. sqlalchemy/sql/lambdas.py +1442 -0
  207. sqlalchemy/sql/naming.py +209 -0
  208. sqlalchemy/sql/operators.py +2623 -0
  209. sqlalchemy/sql/roles.py +323 -0
  210. sqlalchemy/sql/schema.py +6222 -0
  211. sqlalchemy/sql/selectable.py +7265 -0
  212. sqlalchemy/sql/sqltypes.py +3930 -0
  213. sqlalchemy/sql/traversals.py +1024 -0
  214. sqlalchemy/sql/type_api.py +2368 -0
  215. sqlalchemy/sql/util.py +1485 -0
  216. sqlalchemy/sql/visitors.py +1164 -0
  217. sqlalchemy/testing/__init__.py +96 -0
  218. sqlalchemy/testing/assertions.py +994 -0
  219. sqlalchemy/testing/assertsql.py +520 -0
  220. sqlalchemy/testing/asyncio.py +135 -0
  221. sqlalchemy/testing/config.py +434 -0
  222. sqlalchemy/testing/engines.py +483 -0
  223. sqlalchemy/testing/entities.py +117 -0
  224. sqlalchemy/testing/exclusions.py +476 -0
  225. sqlalchemy/testing/fixtures/__init__.py +28 -0
  226. sqlalchemy/testing/fixtures/base.py +384 -0
  227. sqlalchemy/testing/fixtures/mypy.py +332 -0
  228. sqlalchemy/testing/fixtures/orm.py +227 -0
  229. sqlalchemy/testing/fixtures/sql.py +482 -0
  230. sqlalchemy/testing/pickleable.py +155 -0
  231. sqlalchemy/testing/plugin/__init__.py +6 -0
  232. sqlalchemy/testing/plugin/bootstrap.py +51 -0
  233. sqlalchemy/testing/plugin/plugin_base.py +828 -0
  234. sqlalchemy/testing/plugin/pytestplugin.py +892 -0
  235. sqlalchemy/testing/profiling.py +329 -0
  236. sqlalchemy/testing/provision.py +603 -0
  237. sqlalchemy/testing/requirements.py +1945 -0
  238. sqlalchemy/testing/schema.py +198 -0
  239. sqlalchemy/testing/suite/__init__.py +19 -0
  240. sqlalchemy/testing/suite/test_cte.py +237 -0
  241. sqlalchemy/testing/suite/test_ddl.py +389 -0
  242. sqlalchemy/testing/suite/test_deprecations.py +153 -0
  243. sqlalchemy/testing/suite/test_dialect.py +776 -0
  244. sqlalchemy/testing/suite/test_insert.py +630 -0
  245. sqlalchemy/testing/suite/test_reflection.py +3557 -0
  246. sqlalchemy/testing/suite/test_results.py +504 -0
  247. sqlalchemy/testing/suite/test_rowcount.py +258 -0
  248. sqlalchemy/testing/suite/test_select.py +2010 -0
  249. sqlalchemy/testing/suite/test_sequence.py +317 -0
  250. sqlalchemy/testing/suite/test_types.py +2147 -0
  251. sqlalchemy/testing/suite/test_unicode_ddl.py +189 -0
  252. sqlalchemy/testing/suite/test_update_delete.py +139 -0
  253. sqlalchemy/testing/util.py +535 -0
  254. sqlalchemy/testing/warnings.py +52 -0
  255. sqlalchemy/types.py +74 -0
  256. sqlalchemy/util/__init__.py +162 -0
  257. sqlalchemy/util/_collections.py +712 -0
  258. sqlalchemy/util/_concurrency_py3k.py +288 -0
  259. sqlalchemy/util/_has_cy.py +40 -0
  260. sqlalchemy/util/_py_collections.py +541 -0
  261. sqlalchemy/util/compat.py +421 -0
  262. sqlalchemy/util/concurrency.py +110 -0
  263. sqlalchemy/util/deprecations.py +401 -0
  264. sqlalchemy/util/langhelpers.py +2203 -0
  265. sqlalchemy/util/preloaded.py +150 -0
  266. sqlalchemy/util/queue.py +322 -0
  267. sqlalchemy/util/tool_support.py +201 -0
  268. sqlalchemy/util/topological.py +120 -0
  269. sqlalchemy/util/typing.py +734 -0
  270. sqlalchemy-2.0.47.dist-info/METADATA +243 -0
  271. sqlalchemy-2.0.47.dist-info/RECORD +274 -0
  272. sqlalchemy-2.0.47.dist-info/WHEEL +5 -0
  273. sqlalchemy-2.0.47.dist-info/licenses/LICENSE +19 -0
  274. sqlalchemy-2.0.47.dist-info/top_level.txt +1 -0
@@ -0,0 +1,243 @@
1
+ Metadata-Version: 2.4
2
+ Name: SQLAlchemy
3
+ Version: 2.0.47
4
+ Summary: Database Abstraction Library
5
+ Home-page: https://www.sqlalchemy.org
6
+ Author: Mike Bayer
7
+ Author-email: mike_mp@zzzcomputing.com
8
+ License: MIT
9
+ Project-URL: Documentation, https://docs.sqlalchemy.org
10
+ Project-URL: Issue Tracker, https://github.com/sqlalchemy/sqlalchemy/
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.7
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: Implementation :: CPython
24
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
25
+ Classifier: Topic :: Database :: Front-Ends
26
+ Requires-Python: >=3.7
27
+ Description-Content-Type: text/x-rst
28
+ License-File: LICENSE
29
+ Requires-Dist: importlib-metadata; python_version < "3.8"
30
+ Requires-Dist: greenlet>=1; 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: typing-extensions>=4.6.0
32
+ Provides-Extra: asyncio
33
+ Requires-Dist: greenlet>=1; extra == "asyncio"
34
+ Provides-Extra: mypy
35
+ Requires-Dist: mypy>=0.910; extra == "mypy"
36
+ Provides-Extra: mssql
37
+ Requires-Dist: pyodbc; extra == "mssql"
38
+ Provides-Extra: mssql-pymssql
39
+ Requires-Dist: pymssql; extra == "mssql-pymssql"
40
+ Provides-Extra: mssql-pyodbc
41
+ Requires-Dist: pyodbc; extra == "mssql-pyodbc"
42
+ Provides-Extra: mysql
43
+ Requires-Dist: mysqlclient>=1.4.0; extra == "mysql"
44
+ Provides-Extra: mysql-connector
45
+ Requires-Dist: mysql-connector-python; extra == "mysql-connector"
46
+ Provides-Extra: mariadb-connector
47
+ Requires-Dist: mariadb!=1.1.10,!=1.1.2,!=1.1.5,>=1.0.1; extra == "mariadb-connector"
48
+ Provides-Extra: oracle
49
+ Requires-Dist: cx_oracle>=8; extra == "oracle"
50
+ Provides-Extra: oracle-oracledb
51
+ Requires-Dist: oracledb>=1.0.1; extra == "oracle-oracledb"
52
+ Provides-Extra: postgresql
53
+ Requires-Dist: psycopg2>=2.7; extra == "postgresql"
54
+ Provides-Extra: postgresql-pg8000
55
+ Requires-Dist: pg8000>=1.29.1; extra == "postgresql-pg8000"
56
+ Provides-Extra: postgresql-asyncpg
57
+ Requires-Dist: greenlet>=1; extra == "postgresql-asyncpg"
58
+ Requires-Dist: asyncpg; extra == "postgresql-asyncpg"
59
+ Provides-Extra: postgresql-psycopg2binary
60
+ Requires-Dist: psycopg2-binary; extra == "postgresql-psycopg2binary"
61
+ Provides-Extra: postgresql-psycopg2cffi
62
+ Requires-Dist: psycopg2cffi; extra == "postgresql-psycopg2cffi"
63
+ Provides-Extra: postgresql-psycopg
64
+ Requires-Dist: psycopg>=3.0.7; extra == "postgresql-psycopg"
65
+ Provides-Extra: postgresql-psycopgbinary
66
+ Requires-Dist: psycopg[binary]>=3.0.7; extra == "postgresql-psycopgbinary"
67
+ Provides-Extra: pymysql
68
+ Requires-Dist: pymysql; extra == "pymysql"
69
+ Provides-Extra: aiomysql
70
+ Requires-Dist: greenlet>=1; extra == "aiomysql"
71
+ Requires-Dist: aiomysql>=0.2.0; extra == "aiomysql"
72
+ Provides-Extra: aioodbc
73
+ Requires-Dist: greenlet>=1; extra == "aioodbc"
74
+ Requires-Dist: aioodbc; extra == "aioodbc"
75
+ Provides-Extra: asyncmy
76
+ Requires-Dist: greenlet>=1; extra == "asyncmy"
77
+ Requires-Dist: asyncmy!=0.2.4,!=0.2.6,>=0.2.3; extra == "asyncmy"
78
+ Provides-Extra: aiosqlite
79
+ Requires-Dist: greenlet>=1; extra == "aiosqlite"
80
+ Requires-Dist: aiosqlite; extra == "aiosqlite"
81
+ Requires-Dist: typing_extensions!=3.10.0.1; extra == "aiosqlite"
82
+ Provides-Extra: sqlcipher
83
+ Requires-Dist: sqlcipher3_binary; extra == "sqlcipher"
84
+ Dynamic: license-file
85
+
86
+ SQLAlchemy
87
+ ==========
88
+
89
+ |PyPI| |Python| |Downloads|
90
+
91
+ .. |PyPI| image:: https://img.shields.io/pypi/v/sqlalchemy
92
+ :target: https://pypi.org/project/sqlalchemy
93
+ :alt: PyPI
94
+
95
+ .. |Python| image:: https://img.shields.io/pypi/pyversions/sqlalchemy
96
+ :target: https://pypi.org/project/sqlalchemy
97
+ :alt: PyPI - Python Version
98
+
99
+ .. |Downloads| image:: https://static.pepy.tech/badge/sqlalchemy/month
100
+ :target: https://pepy.tech/project/sqlalchemy
101
+ :alt: PyPI - Downloads
102
+
103
+
104
+ The Python SQL Toolkit and Object Relational Mapper
105
+
106
+ Introduction
107
+ -------------
108
+
109
+ SQLAlchemy is the Python SQL toolkit and Object Relational Mapper
110
+ that gives application developers the full power and
111
+ flexibility of SQL. SQLAlchemy provides a full suite
112
+ of well known enterprise-level persistence patterns,
113
+ designed for efficient and high-performing database
114
+ access, adapted into a simple and Pythonic domain
115
+ language.
116
+
117
+ Major SQLAlchemy features include:
118
+
119
+ * An industrial strength ORM, built
120
+ from the core on the identity map, unit of work,
121
+ and data mapper patterns. These patterns
122
+ allow transparent persistence of objects
123
+ using a declarative configuration system.
124
+ Domain models
125
+ can be constructed and manipulated naturally,
126
+ and changes are synchronized with the
127
+ current transaction automatically.
128
+ * A relationally-oriented query system, exposing
129
+ the full range of SQL's capabilities
130
+ explicitly, including joins, subqueries,
131
+ correlation, and most everything else,
132
+ in terms of the object model.
133
+ Writing queries with the ORM uses the same
134
+ techniques of relational composition you use
135
+ when writing SQL. While you can drop into
136
+ literal SQL at any time, it's virtually never
137
+ needed.
138
+ * A comprehensive and flexible system
139
+ of eager loading for related collections and objects.
140
+ Collections are cached within a session,
141
+ and can be loaded on individual access, all
142
+ at once using joins, or by query per collection
143
+ across the full result set.
144
+ * A Core SQL construction system and DBAPI
145
+ interaction layer. The SQLAlchemy Core is
146
+ separate from the ORM and is a full database
147
+ abstraction layer in its own right, and includes
148
+ an extensible Python-based SQL expression
149
+ language, schema metadata, connection pooling,
150
+ type coercion, and custom types.
151
+ * All primary and foreign key constraints are
152
+ assumed to be composite and natural. Surrogate
153
+ integer primary keys are of course still the
154
+ norm, but SQLAlchemy never assumes or hardcodes
155
+ to this model.
156
+ * Database introspection and generation. Database
157
+ schemas can be "reflected" in one step into
158
+ Python structures representing database metadata;
159
+ those same structures can then generate
160
+ CREATE statements right back out - all within
161
+ the Core, independent of the ORM.
162
+
163
+ SQLAlchemy's philosophy:
164
+
165
+ * SQL databases behave less and less like object
166
+ collections the more size and performance start to
167
+ matter; object collections behave less and less like
168
+ tables and rows the more abstraction starts to matter.
169
+ SQLAlchemy aims to accommodate both of these
170
+ principles.
171
+ * An ORM doesn't need to hide the "R". A relational
172
+ database provides rich, set-based functionality
173
+ that should be fully exposed. SQLAlchemy's
174
+ ORM provides an open-ended set of patterns
175
+ that allow a developer to construct a custom
176
+ mediation layer between a domain model and
177
+ a relational schema, turning the so-called
178
+ "object relational impedance" issue into
179
+ a distant memory.
180
+ * The developer, in all cases, makes all decisions
181
+ regarding the design, structure, and naming conventions
182
+ of both the object model as well as the relational
183
+ schema. SQLAlchemy only provides the means
184
+ to automate the execution of these decisions.
185
+ * With SQLAlchemy, there's no such thing as
186
+ "the ORM generated a bad query" - you
187
+ retain full control over the structure of
188
+ queries, including how joins are organized,
189
+ how subqueries and correlation is used, what
190
+ columns are requested. Everything SQLAlchemy
191
+ does is ultimately the result of a developer-initiated
192
+ decision.
193
+ * Don't use an ORM if the problem doesn't need one.
194
+ SQLAlchemy consists of a Core and separate ORM
195
+ component. The Core offers a full SQL expression
196
+ language that allows Pythonic construction
197
+ of SQL constructs that render directly to SQL
198
+ strings for a target database, returning
199
+ result sets that are essentially enhanced DBAPI
200
+ cursors.
201
+ * Transactions should be the norm. With SQLAlchemy's
202
+ ORM, nothing goes to permanent storage until
203
+ commit() is called. SQLAlchemy encourages applications
204
+ to create a consistent means of delineating
205
+ the start and end of a series of operations.
206
+ * Never render a literal value in a SQL statement.
207
+ Bound parameters are used to the greatest degree
208
+ possible, allowing query optimizers to cache
209
+ query plans effectively and making SQL injection
210
+ attacks a non-issue.
211
+
212
+ Documentation
213
+ -------------
214
+
215
+ Latest documentation is at:
216
+
217
+ https://www.sqlalchemy.org/docs/
218
+
219
+ Installation / Requirements
220
+ ---------------------------
221
+
222
+ Full documentation for installation is at
223
+ `Installation <https://www.sqlalchemy.org/docs/intro.html#installation>`_.
224
+
225
+ Getting Help / Development / Bug reporting
226
+ ------------------------------------------
227
+
228
+ Please refer to the `SQLAlchemy Community Guide <https://www.sqlalchemy.org/support.html>`_.
229
+
230
+ Code of Conduct
231
+ ---------------
232
+
233
+ Above all, SQLAlchemy places great emphasis on polite, thoughtful, and
234
+ constructive communication between users and developers.
235
+ Please see our current Code of Conduct at
236
+ `Code of Conduct <https://www.sqlalchemy.org/codeofconduct.html>`_.
237
+
238
+ License
239
+ -------
240
+
241
+ SQLAlchemy is distributed under the `MIT license
242
+ <https://www.opensource.org/licenses/mit-license.php>`_.
243
+
@@ -0,0 +1,274 @@
1
+ sqlalchemy/__init__.py,sha256=xKALSV0JJK_SWrxTRqRFWCchcl-3rPHFsrl6tBJt_5M,12942
2
+ sqlalchemy/events.py,sha256=RNMl9OBkZcXb7zKGPGeexKOyAtU4P8a_4TSog32bvD8,542
3
+ sqlalchemy/exc.py,sha256=IiUsI8ZQ8wcwgLcxTDMceWQtedm6td2Oh6tHo-r0ffk,24810
4
+ sqlalchemy/inspection.py,sha256=FSVTj048T5PQ_u50uG-F0t41UtCQVQiLkwL2Rgrgj44,5237
5
+ sqlalchemy/log.py,sha256=BpUXutflpA7gDjB0OTMUd25lo5MDY45G0dtVsM9ttco,8895
6
+ sqlalchemy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ sqlalchemy/schema.py,sha256=5EA1Ll7IOf5A7GwPzf2ZL7AX3zbc6XLcUD1MrVzK5ws,3320
8
+ sqlalchemy/types.py,sha256=mmhvsFZydNk_Gkjdo6g0YpQSwRhinrAcDaPta3eWvxk,3240
9
+ sqlalchemy/connectors/__init__.py,sha256=7oOxG0_IkVoE68W0WNEqBeLbFJjdE2V78VKH-W2P5sg,494
10
+ sqlalchemy/connectors/aioodbc.py,sha256=Yzk32xc9krxjsx1DVoWItSbJH1GVRtNwTmdb3x6WPQE,5761
11
+ sqlalchemy/connectors/asyncio.py,sha256=zkVNN2LRsFm8azLwL6XqHlN0pWcHMR4_KT3Jv4Zp78U,13486
12
+ sqlalchemy/connectors/pyodbc.py,sha256=fGDkQeboGJa-gl9-ZTOaDxrd-EljGidUH0i_YJ2TRlk,8868
13
+ sqlalchemy/cyextension/__init__.py,sha256=LIaUeo69uAKgrdxErcbkU29-wOveE4Oh4BASYKXI5Rw,250
14
+ sqlalchemy/cyextension/collections.cp313t-win_amd64.pyd,sha256=P8u6ZYQe9mRcIqIaE5JH-k4fOdeOYREP-BurNl8m-sg,210944
15
+ sqlalchemy/cyextension/collections.pyx,sha256=GXPkr9cHRLW3Vcu-ik3dVBZMR-zf0Q5_K4J-_8yV-gk,12980
16
+ sqlalchemy/cyextension/immutabledict.cp313t-win_amd64.pyd,sha256=bFG3onD5DYyFl_0vCfqAhZj5he0N4sKWxYhwxgZ5qCo,83968
17
+ sqlalchemy/cyextension/immutabledict.pxd,sha256=5iGndSbJCgCkNmRbJ_z14RANs2dSSnAzyiRPUTBk58Y,299
18
+ sqlalchemy/cyextension/immutabledict.pyx,sha256=IhB2pR49CrORXQ3LXMFpuCIRc6I08QNvIylE1cPQA5o,3668
19
+ sqlalchemy/cyextension/processors.cp313t-win_amd64.pyd,sha256=m2SQKAZQgLzCWXv8u3mm9h-UL2L9QBnvqf5scXDKTzk,69632
20
+ sqlalchemy/cyextension/processors.pyx,sha256=V9gzqXiNHWsa5DBgYl-3KzclFHY8kXGF_TD1xHFE7eM,1860
21
+ sqlalchemy/cyextension/resultproxy.cp313t-win_amd64.pyd,sha256=MZR_3e3uGcWznFfBRsc7_QkXc9Gu97LXXTVaNEbkArk,70656
22
+ sqlalchemy/cyextension/resultproxy.pyx,sha256=h_RrKasbLtKK3LqUh6UiWtkumBlKtcN5eeB_1bZROMA,2827
23
+ sqlalchemy/cyextension/util.cp313t-win_amd64.pyd,sha256=UFbNvgAobmeGhX2OprDgsDoOJPFNkTuMvS_wYVIdhUM,85504
24
+ sqlalchemy/cyextension/util.pyx,sha256=WWWdM3u5Jb5cKCg96AuGR3tx16rD_CcHFndqskxQBdU,2659
25
+ sqlalchemy/dialects/__init__.py,sha256=fAfd-IFgzc633HvdyKL5Z4VzHrQaLkaMouYxIwmD-_o,1860
26
+ sqlalchemy/dialects/_typing.py,sha256=uCPOHgYHSCFdDCWZ4XeuTa8inzKuZoI-P5_GnMSJV2E,1001
27
+ sqlalchemy/dialects/type_migration_guidelines.txt,sha256=gyh3JCauAIFi_9XEfqm3vYv_jb2Eqcz2HjpmC9ZEPMM,8384
28
+ sqlalchemy/dialects/mssql/__init__.py,sha256=-35z1EQQI7bpJxxglqhUO0dtIKjN3w53L6anDlDCHJY,1968
29
+ sqlalchemy/dialects/mssql/aioodbc.py,sha256=UD0DwiUHtZsNmSTG3rLabzTu_a63jzSGMgevMZgac9A,2084
30
+ sqlalchemy/dialects/mssql/base.py,sha256=2S7lNO7y1EPiYWFC6J1q53QBWJq-lZzNDzM2i-7BbWA,138410
31
+ sqlalchemy/dialects/mssql/information_schema.py,sha256=2CnNdCwYNcHLqG_J1oF26gv3d1iKLI8kJmp8ZTkdlEI,9248
32
+ sqlalchemy/dialects/mssql/json.py,sha256=TRQl7EAIGxL5uSuVeZhB7a5O9japw71M1Z2wNmaDtVE,4885
33
+ sqlalchemy/dialects/mssql/provision.py,sha256=KQjIgGc0FNcQ84KMIOhq-VQl6r6ovhGE8-rKDnBlg6w,6665
34
+ sqlalchemy/dialects/mssql/pymssql.py,sha256=wVWccEknLQQoZmuw8Ll4eHsM6eI4KmhDePo_Dl5Y4Kw,4223
35
+ sqlalchemy/dialects/mssql/pyodbc.py,sha256=03scWaSG6j5nTkqCZGekHllYHDOg_isy40pfmk-MKvw,27933
36
+ sqlalchemy/dialects/mysql/__init__.py,sha256=J6laQ8g0t2X0iX2pjyEVr42Bgtkmxs1DLEiE4nEqsto,2310
37
+ sqlalchemy/dialects/mysql/aiomysql.py,sha256=sin_YE6UOnpXHUB-c3lGurmQmMIcrDmc6iYS5dG9Ygc,8177
38
+ sqlalchemy/dialects/mysql/asyncmy.py,sha256=33_mk50p6FXiUdeUyrJsgdbEWs3zZsi1m0QOFn1KL6E,7523
39
+ sqlalchemy/dialects/mysql/base.py,sha256=nP2CpQy7LvUTzj0zLpxC_vYBsW1s73EIcdV-YpC3KXo,142493
40
+ sqlalchemy/dialects/mysql/cymysql.py,sha256=0AGkBCXuN6Gq9SzAJnx1G_seBXyI7bTJQiDqEGcE4Xo,3321
41
+ sqlalchemy/dialects/mysql/dml.py,sha256=ylUGAfWIKdmkKzSOun8D4dmY-UrnEaSVVVDt12U68pE,7993
42
+ sqlalchemy/dialects/mysql/enumerated.py,sha256=lwNig3q3EzUfQU1upDC3Tc_WgVeoPc0tMB9toNzRLt0,10574
43
+ sqlalchemy/dialects/mysql/expression.py,sha256=u9bvvTrZJ6W0GWR_EAESWk3UwvU9RfE5UIDg-VKhu3I,4387
44
+ sqlalchemy/dialects/mysql/json.py,sha256=KzGdjJ-U29c69U-fKC-i7YQZ_XiTAMwELtZ0ClxmD9I,2897
45
+ sqlalchemy/dialects/mysql/mariadb.py,sha256=tjEM1IIDsXq4pF0RBQRKNHSa4oNhS9svI5eX67DxrM0,1916
46
+ sqlalchemy/dialects/mysql/mariadbconnector.py,sha256=HYqDfF7iSld-ll7e7BPhBoLkKD8u0rBK2mHXt_dpoeM,10707
47
+ sqlalchemy/dialects/mysql/mysqlconnector.py,sha256=iL-jYK9abTTVd-Ehe_3SSHkTD2yYpMIT0bfB3uYnaF8,10399
48
+ sqlalchemy/dialects/mysql/mysqldb.py,sha256=-TJPjXpygxI5VE0ILT-Jd5ToUE_8sIh0Ru1dHeaHXng,10257
49
+ sqlalchemy/dialects/mysql/provision.py,sha256=D22XuUf_f8NHHo7pYF3Xr49A9GXub6jv1TsMbO79PNs,4969
50
+ sqlalchemy/dialects/mysql/pymysql.py,sha256=b394-1yVFVYocwyx87uiXxy6v6niJs3JdIsXJ2L5RJ8,5044
51
+ sqlalchemy/dialects/mysql/pyodbc.py,sha256=zJOSYU687rhmdFkJU8mj8-gXcCX1eIgf42sfRg4qDhA,5268
52
+ sqlalchemy/dialects/mysql/reflection.py,sha256=cJ0WVmWaHsqnOYKPx8SbqQpuKse5B1vze01KbKQsjOw,25417
53
+ sqlalchemy/dialects/mysql/reserved_words.py,sha256=4hcsKL5T3E1x61Y41s1MM8whp5A_ev-s2Xi66JsaLKU,9806
54
+ sqlalchemy/dialects/mysql/types.py,sha256=zoSFdiZrcs7anNuq7kFrTds8iUZsIQVG1W7dwytZGkY,27294
55
+ sqlalchemy/dialects/oracle/__init__.py,sha256=d8Plj04ZyEkpkqQCYkYteqjYOTqsk4xZGiGyj3r9zr4,1979
56
+ sqlalchemy/dialects/oracle/base.py,sha256=0lP4FoA0JqDi-F9sJNzXEkAYAwak-ky6T4Uj28b9G3I,142959
57
+ sqlalchemy/dialects/oracle/cx_oracle.py,sha256=OuxIoQ5xtx4gBc2Majdy-GnnjlYjdOp_ZpT6pNQFpCY,58272
58
+ sqlalchemy/dialects/oracle/dictionary.py,sha256=b9cq4tORe_nbSaehyNSPfma5aV0rZikZQp3NIB4-eQQ,20026
59
+ sqlalchemy/dialects/oracle/oracledb.py,sha256=QtnYMI_squ3haoL8NTE8xxQO-Ar8hmUF82oPVA_WaJg,34511
60
+ sqlalchemy/dialects/oracle/provision.py,sha256=FwArGFyDaZZPy90S7Baw9tckS-_H1ZcbVzJvjmdqCpg,11328
61
+ sqlalchemy/dialects/oracle/types.py,sha256=qOfxyT6eTG_vnx6tf5hzDiwLdbcQiC-7WPbfbncG5cQ,9374
62
+ sqlalchemy/dialects/oracle/vector.py,sha256=pWVTm5rJS437Dgp0pXtAyxNfOa8W3xmalS-WDoujShI,11218
63
+ sqlalchemy/dialects/postgresql/__init__.py,sha256=kBSHRe5C4gqa4fRB3fG7VqQ3KlhVnDKi5XC546429gs,4059
64
+ sqlalchemy/dialects/postgresql/_psycopg_common.py,sha256=rJyDK81N58XEUkHYiU46nnzMAKlPNo8mMl2jLIYe6_Y,5972
65
+ sqlalchemy/dialects/postgresql/array.py,sha256=1ObY-7Bs9_om1-5Emz4S5OxBQC499kS90-YE7lsmtOw,17798
66
+ sqlalchemy/dialects/postgresql/asyncpg.py,sha256=VVM9xf8LP8mEpVUjNqiDOb4PmrskzfUT6RCzuvKILYI,42261
67
+ sqlalchemy/dialects/postgresql/base.py,sha256=SH0oJOSVpvLQSyUBoUS2Bk_exYtKvaQ2jA3LoynmpQk,196925
68
+ sqlalchemy/dialects/postgresql/dml.py,sha256=EZn9FdqCg9P5lHGhA80-7IIpDA5ubNpPpjhy5d11y90,12465
69
+ sqlalchemy/dialects/postgresql/ext.py,sha256=cnLBWs8OLOdptVf32WuDSP-4couwDwzbNK2g8yiFsZc,18021
70
+ sqlalchemy/dialects/postgresql/hstore.py,sha256=_4rq0T40pvhqqDXtIoNbOV18PLRb2SE0Akw0hCRRiCg,12340
71
+ sqlalchemy/dialects/postgresql/json.py,sha256=Wf-FkqkCf8cu9bKjz1X3Hf8HrxZ4rdO1vED7s2OheE0,15033
72
+ sqlalchemy/dialects/postgresql/named_types.py,sha256=TAf3w5jX75nA9JhIqTpdkpOIEfhF_60EMCT8v6xW9Ow,18336
73
+ sqlalchemy/dialects/postgresql/operators.py,sha256=1-we0Fu4nJk_O3eUsl8Tf1KM9OhhvDurbITCSqhSrz8,2937
74
+ sqlalchemy/dialects/postgresql/pg8000.py,sha256=V8Ujz3PGmyrx9f3yRFt9GpTNSUY1zxTojXOYDGRurpY,19412
75
+ sqlalchemy/dialects/postgresql/pg_catalog.py,sha256=khNqkA_KvCvperpugEX7xkZjwdmQeaR2LoMXN4TxLow,10325
76
+ sqlalchemy/dialects/postgresql/provision.py,sha256=m_SWtWQ09mA1a6RZWAU-u8djTNfbMttg_L4uK34icBQ,6078
77
+ sqlalchemy/dialects/postgresql/psycopg.py,sha256=2Km_hfmXpAfxjsba8_fHoMWxf8FZJk6WKpgXaZi6N-c,27310
78
+ sqlalchemy/dialects/postgresql/psycopg2.py,sha256=EbZqoYyMb5VSB1Ykx1qQ8Og3ufszWxuaDMR9_2At3SU,32924
79
+ sqlalchemy/dialects/postgresql/psycopg2cffi.py,sha256=Kqd5u3qWqjDr2FIYMQqrzUX9gy2i4_zNKHwlSYjqvYg,1817
80
+ sqlalchemy/dialects/postgresql/ranges.py,sha256=wygD2eld9o-WKOB8HDkhkUBPIWnIcS0fRs7bzCHU4Ko,33977
81
+ sqlalchemy/dialects/postgresql/types.py,sha256=ZYRDd7JvkyF9T3fJVxaK9cPI8H-r4-dJ63qVi81oiGo,7942
82
+ sqlalchemy/dialects/sqlite/__init__.py,sha256=3cX3Y5KRb0ACMP1RkLAb7B5PpNkyuOYE_lmilwVo8aw,1239
83
+ sqlalchemy/dialects/sqlite/aiosqlite.py,sha256=OVHg6ZSItt6BY-Y6b8G244Grzj0VE_hehFG7xg5CnYs,16515
84
+ sqlalchemy/dialects/sqlite/base.py,sha256=_3b-d6R33BnM-jHTEj_8YHDfgQw4zF8iKjfxsBJ3j3w,110436
85
+ sqlalchemy/dialects/sqlite/dml.py,sha256=TGSl-OnlHGvn5ELTCGCGU-CarsvMgfTXSOzAfPJXq3k,9401
86
+ sqlalchemy/dialects/sqlite/json.py,sha256=bGnTBv9CdxFdyrK_MpSzCug8pA-dxO4qbW3yv1FDl-4,2869
87
+ sqlalchemy/dialects/sqlite/provision.py,sha256=GHfy0fFaWii9nyKXk0E0LnriPJzMB445FupWY7dywGU,6939
88
+ sqlalchemy/dialects/sqlite/pysqlcipher.py,sha256=3zmRCosR9Qll-ah1wsl7Jp3v4XK-4OxAXb9WWcQBmbM,5528
89
+ sqlalchemy/dialects/sqlite/pysqlite.py,sha256=E8171bQnT_69EXyTpepAQDgXjV6oV_r-lxi4dOBzMig,28547
90
+ sqlalchemy/engine/__init__.py,sha256=FskfoMeTB8ZS28brPFRpITIKt43uxGcPZe9rLiMi_Ik,2880
91
+ sqlalchemy/engine/_py_processors.py,sha256=9Fx_nmNVZ322AcbrI4uSoZ4KFgYSd1CZtIayVIZPCuM,3880
92
+ sqlalchemy/engine/_py_row.py,sha256=-Tp6ebGRw3U4cg5W4fRyv9lR8u2yvP7Ne1B-9ue3CTY,3915
93
+ sqlalchemy/engine/_py_util.py,sha256=6gRkjw4m20QmjbiG5nW7ecqBFqLe81XgVjRB66rA5Kk,2539
94
+ sqlalchemy/engine/base.py,sha256=lMotcTfGRdAV9XcsonuuPot-dIVrluZ81aqX2HbXfCQ,127185
95
+ sqlalchemy/engine/characteristics.py,sha256=ChrFbXAy6RaE10gDMGGvTnZsWs5PTbjpVmmGfpo2LmU,4920
96
+ sqlalchemy/engine/create.py,sha256=AVhTFgNYIPjGm-tNVF73Vc4C9_3_euDHIEUdeDLCbKs,34740
97
+ sqlalchemy/engine/cursor.py,sha256=iivdcGLLGDWn1AefoteRl_a8n9JA8chy5xfsRpjuXGY,83084
98
+ sqlalchemy/engine/default.py,sha256=RYuiOLomZVrDj9WLPBixLfyPGtJ5vmvwW1wgfjAqIS4,88290
99
+ sqlalchemy/engine/events.py,sha256=kQyG0Q1GjAORDNwf9Gi5hv05hWbp4zsDI7g0HA96i6A,38365
100
+ sqlalchemy/engine/interfaces.py,sha256=8jEcNv9WO4c6o7WG1eTC9qDOvB1FMRS8RQe7T6rIfMM,118855
101
+ sqlalchemy/engine/mock.py,sha256=zN-pavAhygqIuwHVX6PXu76IQkN_dsJ8IHCSa-E7PQY,4290
102
+ sqlalchemy/engine/processors.py,sha256=TnEEGHeV92JqNvCacbE0DOa0iKwgXxwk69tLxJFPaX4,2440
103
+ sqlalchemy/engine/reflection.py,sha256=dfvPLTmcLxITgKKuNipH_mudaMScwO8LxV9FVQNTLEc,77667
104
+ sqlalchemy/engine/result.py,sha256=3nqgKtq4sDNQKnlTKG1xUba914YRX04Ec68tQ8NG40s,80493
105
+ sqlalchemy/engine/row.py,sha256=_eEvGe9xhvFCi3g0Yv-1ecmSRJtP84jbwz2KqQUlgXI,12431
106
+ sqlalchemy/engine/strategies.py,sha256=Da7gZRUf6leCk5f56Li503WLjs8g_YiWLrWIwLWS6lM,455
107
+ sqlalchemy/engine/url.py,sha256=1YaF6bOw5YqiEzVL3SMb2ckBsdOwXCJYAtSR23LMdYo,31991
108
+ sqlalchemy/engine/util.py,sha256=2sKmUgaUGQq1hhk9n4-07twIjyS38OXc0mIW__0TczY,5849
109
+ sqlalchemy/event/__init__.py,sha256=a4bNtsM8XWTaa1Ho6IQFlB8RkZ9tM6RDu4M2Q0d4Hak,1092
110
+ sqlalchemy/event/api.py,sha256=BhrPMqH3JsDfiPvjbmVNy43TX1PqxFa9TO-Fat3cpFo,8329
111
+ sqlalchemy/event/attr.py,sha256=R5AyyU0su3_AYFyOQVMac9KOFpkB8g5PzhQjmmrfvQg,22265
112
+ sqlalchemy/event/base.py,sha256=1osLkaI2xKe6BdEvNaVSaop8IoBIv4UX8ydefGMDIQQ,15726
113
+ sqlalchemy/event/legacy.py,sha256=P3yJej0SH-Mywa0imz6MZGj4uLxLQNh5Iw31Qw50SgM,8715
114
+ sqlalchemy/event/registry.py,sha256=g-EoC1HPIwrPdwPuukOcJ_j-MjLrI4QKyXhofP5nukQ,11534
115
+ sqlalchemy/ext/__init__.py,sha256=qc2FpNgCQC4X-OTu6EOyhf0FgbObks9pva4DAWQbSew,333
116
+ sqlalchemy/ext/associationproxy.py,sha256=anH9lkRzB_hv_eVsggXFrOhkifNV7fhEcjMIj_JbMNs,68470
117
+ sqlalchemy/ext/automap.py,sha256=o37WEP-hpewQKjNKgFlVbhWLpexuihJ5454hMzQ7PZ0,63376
118
+ sqlalchemy/ext/baked.py,sha256=cp-qpZ5euaXbPQPOJ9lFGbYc8Vs5Dqvvkl8h4YICeRs,18323
119
+ sqlalchemy/ext/compiler.py,sha256=2x2SDatJ8AZTz0PdWlS7Bs37LpPBeKdB0uitKfgfhPQ,21489
120
+ sqlalchemy/ext/horizontal_shard.py,sha256=3qkuGGOXuuKZyKYetE8hCnJg2Y_vnb3gooY2egVBp_U,17170
121
+ sqlalchemy/ext/hybrid.py,sha256=pcZuijElXkylQtH7BHjXL7YE2dwEKTjf5kps1dWedjs,54140
122
+ sqlalchemy/ext/indexable.py,sha256=bY8RWUTG6eISnMFYWydxp7AWrOEmqvJuE_wC_r1gIiw,12126
123
+ sqlalchemy/ext/instrumentation.py,sha256=yWbPssOTPyrDvuwgjANRk-IPyV9uWSjVsJDGXGkh72M,16157
124
+ sqlalchemy/ext/mutable.py,sha256=Y9O2LTWlQq0C7SPIvNfYMWeI6G18SgR5cT1nkzn_kPo,38249
125
+ sqlalchemy/ext/orderinglist.py,sha256=htHqNnewp0LXcZzYBgZ_IdgE1LB47N88ARuregT49k4,15602
126
+ sqlalchemy/ext/serializer.py,sha256=vt-UFy_5XX1NskOrumJqNLyjkdfY2vBZgMGumfDUTt0,6354
127
+ sqlalchemy/ext/asyncio/__init__.py,sha256=NsL1i3TO_1ATHUnWm33rENxcLsmR7clGz6IqHURGzJg,1342
128
+ sqlalchemy/ext/asyncio/base.py,sha256=EII2iyG-bQAwSjjS9wIeNRKm0nG3qyh8oDRVAcweoU0,9315
129
+ sqlalchemy/ext/asyncio/engine.py,sha256=urEu9-7D0Kj_tvABFKawmPHCxsWajJxVFL_4qJJXVfY,49953
130
+ sqlalchemy/ext/asyncio/exc.py,sha256=xpg9IY5Cnn9H4E3WEK3-TaAtTsEBSxDSn0mQEP02Yu0,660
131
+ sqlalchemy/ext/asyncio/result.py,sha256=wAtcP84-iJ2AdgXz5gc7UxcgyFO-T_wvBbMVUfeZQTA,31624
132
+ sqlalchemy/ext/asyncio/scoping.py,sha256=ewbQFcCg5ny82AVVoH0_XjaQbrx5UnBOJpmC2zzOPs0,53685
133
+ sqlalchemy/ext/asyncio/session.py,sha256=9pksaWLX0ttv0cV8IDEk5_IF-IykTH0h3gx6ZF-asYU,65206
134
+ sqlalchemy/ext/declarative/__init__.py,sha256=pT5dfNi_a3mgdxsc1-kCY_NVh0lUZwyACZTMTeCh9r8,1883
135
+ sqlalchemy/ext/declarative/extensions.py,sha256=Wigh1BErgLAJSw-EKCTDbQJl-KyyEN5svvPJJ_vygAw,20095
136
+ sqlalchemy/ext/mypy/__init__.py,sha256=CaRY6EaOZYe9snswiNqZuZUkxFpGeayJJkutus1-hAE,247
137
+ sqlalchemy/ext/mypy/apply.py,sha256=FmeZg6RVVnunzgkS2VVH-XBHU7CWkBnPFOZzag9Ca5k,10915
138
+ sqlalchemy/ext/mypy/decl_class.py,sha256=7uXXXrKkjsRw1t5M6MMrTC-OP_7JFtpc29gGpig4Q4w,17899
139
+ sqlalchemy/ext/mypy/infer.py,sha256=rXvvIGo1m0MmJq2KQQHVTUOUMw_CsFYfalV5q6XuOrk,19957
140
+ sqlalchemy/ext/mypy/names.py,sha256=hGfLd2FC_cQ411A_meymRX15WE8QDdYnhzdofhrU854,10815
141
+ sqlalchemy/ext/mypy/plugin.py,sha256=mFjP56yfir1PGExFX5kI7Us830UmOCu43iiIzz-e5Z8,10053
142
+ sqlalchemy/ext/mypy/util.py,sha256=-cSZ5CIsOrWZD4nRU6ewisoqmWf8bVQz5EKNODIqi2Y,10317
143
+ sqlalchemy/future/__init__.py,sha256=Ofus3ySFIOCgQbP8d0DIQnRYxxrEbOvhkR-_UP8Z1HQ,528
144
+ sqlalchemy/future/engine.py,sha256=3hVT8-uwvpFZ2B65DaacXyYbN9aBZnF-WBb4580Mdls,510
145
+ sqlalchemy/orm/__init__.py,sha256=Tq2MZiLgnN-tQ4fFzN19jMU_nDtApN3Z7zC_M5UbUWI,8699
146
+ sqlalchemy/orm/_orm_constructors.py,sha256=uQ-oyRm-SCbaYucjNaPymVZV4EMKhFn4D1g5W5fZnhc,108260
147
+ sqlalchemy/orm/_typing.py,sha256=RPxXCA2N0tqoYvjnpVjVV_kGqMhKlfD8S7ODpD62b6c,5152
148
+ sqlalchemy/orm/attributes.py,sha256=s_--AeTjjN0uaVZMdAhEFHdqF_7zwxrVr2q9zDy3eRs,95962
149
+ sqlalchemy/orm/base.py,sha256=YCUELH4Dat8lWJGMtyXeyPwaE258IdEMSKOn59wQQlk,28472
150
+ sqlalchemy/orm/bulk_persistence.py,sha256=PuKj8d5jaDIGjfCAomv3Mm0mL_uSt_bDxcE53GzPwqQ,75118
151
+ sqlalchemy/orm/clsregistry.py,sha256=_DRo6pPqmx5TpD4CcWEpm8wdLKQTkJDlv2NxC1pDGy4,18523
152
+ sqlalchemy/orm/collections.py,sha256=DgMrOGyLg4SJ7Sb5sNNlEbKxAZ0HT8Hsy2q0bDBabhM,53908
153
+ sqlalchemy/orm/context.py,sha256=QbBT6zlB8iEzWDTJetHlHTJhOuyoVxPzpdwxZ1USgbw,118416
154
+ sqlalchemy/orm/decl_api.py,sha256=mNCm4uVj_fqrQSP24e2lRD8ZS5T2fddu8CFqQW0p8JY,69845
155
+ sqlalchemy/orm/decl_base.py,sha256=CI52LL1qX3DrPlJ8vuSflwgW6H18BcWJpt9UGe5McvI,85708
156
+ sqlalchemy/orm/dependency.py,sha256=v8_DFkjKC6TzTzPN-phpdpQDhxfiQHz8fi2UCvljp_g,48921
157
+ sqlalchemy/orm/descriptor_props.py,sha256=jwCdtvX3urfH9xG3ZKVz1BlCOiPe39zdG3pZC3LYEsQ,38887
158
+ sqlalchemy/orm/dynamic.py,sha256=MKnBAzyyvMTO5pFz601CnZ2L8XCgGGmYSasrV8XnL-E,10116
159
+ sqlalchemy/orm/evaluator.py,sha256=KjAPPud08uFojYFS-DLl4tfe_wY5T_JoGJrSguhH9KU,12732
160
+ sqlalchemy/orm/events.py,sha256=itDiNeoUcJj3BrlXZTqZhCpkJaMv3TUYyPRcDxKIED0,130483
161
+ sqlalchemy/orm/exc.py,sha256=8YMMyGmQEkFlpAuGnA0ia67Wn4ARBdG1hc_Tj64ctos,7873
162
+ sqlalchemy/orm/identity.py,sha256=MVvpGE9L3ImpsSZSPx4d6z4pOMWiHdAPNL-npin2nGo,9551
163
+ sqlalchemy/orm/instrumentation.py,sha256=jO_Sj6IdJv9ONVvaPKI1n2TfKGSKc5kw_vLhjk2Se0Y,25075
164
+ sqlalchemy/orm/interfaces.py,sha256=NJ32CC4SRswR7VVD15m7j0hx6wnFwWuyPajk0Po9YIY,50569
165
+ sqlalchemy/orm/loading.py,sha256=M1plTrgo8JFuaN5j3dCQatPqf6ph47GXcMjNzYIg2Ms,60174
166
+ sqlalchemy/orm/mapped_collection.py,sha256=58m9XQZhRSkmigEHqQNwlXJj49FJi980v9ook7N28hY,20291
167
+ sqlalchemy/orm/mapper.py,sha256=qYIPnTu2p6LgvFUofDzJGj0naztyoihGvrWuclSKKeE,176598
168
+ sqlalchemy/orm/path_registry.py,sha256=YMhhmbr30WDlIhVueV26GZRxG3i2UCO_-B2wB6g3Yk0,26723
169
+ sqlalchemy/orm/persistence.py,sha256=3kO2sDqs5pCZ4R1yhhD1AAA9reNfoQJj2CzZ37rU-jE,63600
170
+ sqlalchemy/orm/properties.py,sha256=jiQSOPAQv8mHR-QKTr59JFoPOQe37JvwC3AVIcBJw8M,32168
171
+ sqlalchemy/orm/query.py,sha256=Ml0UHnz3Jn2wWzB5hxEWHa-EAYZw2aqSvZFvMD2gTss,122315
172
+ sqlalchemy/orm/relationships.py,sha256=OHC1T9ujeH_leh21rX2eFxrpAyVnHrjvYisMp_sgUCs,132271
173
+ sqlalchemy/orm/scoping.py,sha256=rGQJVFUUtEhiv7WFMZcgCz1462khbx21VuaK2yzpeVo,80271
174
+ sqlalchemy/orm/session.py,sha256=M7zyORj7B2GZA3gy6ZgcYfAAHsF8BEnOOVhP7TtU_WM,200680
175
+ sqlalchemy/orm/state.py,sha256=TMep4RMfo6HklzVkvXj-ZflRbgYJl1u0oKlzHGZuNmA,39601
176
+ sqlalchemy/orm/state_changes.py,sha256=lnNl1aNPRMDtbzM2fvnXkZVo6q_JnvPR5Q3_JzOfLQk,7012
177
+ sqlalchemy/orm/strategies.py,sha256=IHaPKbNehbJIBcF5BVAlmDqd3y2j0Od8NgFjsFNpeSs,123272
178
+ sqlalchemy/orm/strategy_options.py,sha256=lrm1KvOaGhOwnkh2H_F4EWDIBwZsv7P9d1nsapW-8tE,88194
179
+ sqlalchemy/orm/sync.py,sha256=4rSlXBuZlkcqloFUInRhAW40XIkKszZsBSR1segachE,5943
180
+ sqlalchemy/orm/unitofwork.py,sha256=wdYuvLqVOyxLPugqV9JWLgQ9cT39k0Grceh2LkztiKk,27829
181
+ sqlalchemy/orm/util.py,sha256=U_WadVARhqlTnakWPH5dHjY20CqG7LaYPGCql4JRRJo,83292
182
+ sqlalchemy/orm/writeonly.py,sha256=H8_4v8b3htB3F_-TaTgfEmfEeu31nwge53ceOnsBfBI,22971
183
+ sqlalchemy/pool/__init__.py,sha256=oYWrEjHKPnPCCvJa9T9CeRqCgei82z7Rg79Xrc4FFck,1848
184
+ sqlalchemy/pool/base.py,sha256=B0jHE9O47jQmYjT-RH0whLFzw9zpjg-ZJRwUhoMSBF4,54112
185
+ sqlalchemy/pool/events.py,sha256=hP05378mLLmdZXuYu1CteQC5nxSiJIz4NeUgqwFIRfk,13830
186
+ sqlalchemy/pool/impl.py,sha256=OY7iDYx8sRlWuqn9VC0p80-yJeMAbXnQn0hu0K8eSzI,19894
187
+ sqlalchemy/sql/__init__.py,sha256=cfdN64hxgzhrYkj3JeG2nDW8T29KpgsnPS3TgsnPgKg,5965
188
+ sqlalchemy/sql/_dml_constructors.py,sha256=CbbhnEgHCiLHfYANejmni_b8y7igxSsfFdGmvuhswW4,3927
189
+ sqlalchemy/sql/_elements_constructors.py,sha256=dqBSKxtwnajvhyQUD7_rpY9ArQMj6yDn5W5xNcmCMME,64968
190
+ sqlalchemy/sql/_orm_types.py,sha256=1M_QEa6nKcYkTgQR7fyOj1t-6w124z8M-FHyPsjawKA,645
191
+ sqlalchemy/sql/_py_util.py,sha256=2RFQeJgoXfJ2PvZAye5oEkHMYZw68tj4rKdVFolViD0,2248
192
+ sqlalchemy/sql/_selectable_constructors.py,sha256=9h6Radwa5hBoI2sUHjFaoj-HKe5aA7P7MnyvH_ws8sI,22985
193
+ sqlalchemy/sql/_typing.py,sha256=rg_kVWYObgsGpeZTqkoNXj4X_62Dexlr3tjJsRrXy0o,13925
194
+ sqlalchemy/sql/annotation.py,sha256=Cvx5C5twz8bs97ApUY0YJX2phwDYPIWTvsIOlAg5s0w,18942
195
+ sqlalchemy/sql/base.py,sha256=0cVE8n9isF2BswCVAPBeovBrR1hkNP-KKj7i7WZuaWc,81270
196
+ sqlalchemy/sql/cache_key.py,sha256=ktiHw_0BCNevuAY0yQTTCkvddhHlBy4EQAsw9Ix5Y-Y,34710
197
+ sqlalchemy/sql/coercions.py,sha256=tXHxkbU09qb7JAPraMftr88T0mMfW3LKkeh7JyBgnT0,42186
198
+ sqlalchemy/sql/compiler.py,sha256=9WtXCsW3CF3ulebxOqsEVkLZy1qWiAIuXdMjB-vnG3g,294197
199
+ sqlalchemy/sql/crud.py,sha256=F7sW-n4GSlwbCdNBkXMdJ_L5PpBDGMoYYDSzwef5qeM,61633
200
+ sqlalchemy/sql/ddl.py,sha256=KiboVDQo6a_UMtQ6Bmsep6zVaNmZTsZ18b2dhGPoobM,49437
201
+ sqlalchemy/sql/default_comparator.py,sha256=Hz9pqZ4ZcjKtTFw7fuFPCXDRrZAl6pCufpqjmHNp89U,17257
202
+ sqlalchemy/sql/dml.py,sha256=SJDyd_h6flLBZ9KCeuu400X9WLral8FXXZcwTnw_Mxc,68423
203
+ sqlalchemy/sql/elements.py,sha256=UDKLXYt45UiHi58TGouVQZsmv-tWddI7RujcATimuEE,185234
204
+ sqlalchemy/sql/events.py,sha256=ZOGhc_7G2Fu4A8cOTPb42oyoJxV396oByn9j05faOzc,18770
205
+ sqlalchemy/sql/expression.py,sha256=a_ghlKLyUAD1XMoBv54gWTk5G8J5d_LTVM9zcfa6Xd8,7742
206
+ sqlalchemy/sql/functions.py,sha256=_XAAicI-HxubLZUJeGQdDgy429M4LhCTrHJotGeNUwI,68850
207
+ sqlalchemy/sql/lambdas.py,sha256=ApqnbmLNpnc8lnrlixV9d-WxYo_8GfPdV3D4TnA2vYY,50842
208
+ sqlalchemy/sql/naming.py,sha256=DyfkXcvzMty8KUdsTSvxaPHVRsO3D1lZtG-NEndOCro,7064
209
+ sqlalchemy/sql/operators.py,sha256=PffrQXdWFnXwCYTRlbxM5t2Rrl8GS7hkHfKRvtEObOg,79415
210
+ sqlalchemy/sql/roles.py,sha256=3fLsWvc80DMlpPjXsXmPFcTlF3p_4_O6c3X25gpLJ7A,7985
211
+ sqlalchemy/sql/schema.py,sha256=O6ASb22asRj9Df8VIoChth6i6pi8X85kakKyVIYXGDU,236778
212
+ sqlalchemy/sql/selectable.py,sha256=-4Sbx1UER3v4nPKFvCqtruV1700QfS2lRFxAzy9V8dg,251631
213
+ sqlalchemy/sql/sqltypes.py,sha256=62HWiRJo_SqyV1OLmVrTnv2CsT6Z2ZefX7TdwKXpqaY,136089
214
+ sqlalchemy/sql/traversals.py,sha256=2uZYptdCw06VFsJX3g9U7d6Fo_QEXE4wYf5BJguDjdo,34688
215
+ sqlalchemy/sql/type_api.py,sha256=T8RyxMuVnf5kaC6WfERq66YE3xYCV-HRQ_d1xPqr7WA,87793
216
+ sqlalchemy/sql/util.py,sha256=hwWUXjJedqA4uQJSS7R6AB1rz2esbDGOoiDOaFCGOC8,49595
217
+ sqlalchemy/sql/visitors.py,sha256=fs40cfiNDVcv_FChikUh95Ze8qh7_S48bFtPe_yPGjg,37481
218
+ sqlalchemy/testing/__init__.py,sha256=jhJ_zim3L4ccGGGPmo9nwaqrcyKjbO1OvYpn4WpWOEk,3256
219
+ sqlalchemy/testing/assertions.py,sha256=h6TzLPLNt0hEnNHjfSl5YqpkbAWWjWY57CeuiNO5FcY,32698
220
+ sqlalchemy/testing/assertsql.py,sha256=Zb9MGj5V8iqrZJplOMnPjby7Eanc3YltHvk-1gsWVD4,17420
221
+ sqlalchemy/testing/asyncio.py,sha256=r8XSkWciOFe8tTJ3PO3AgVoFIEgX-UwpSWT2qL3Crek,3965
222
+ sqlalchemy/testing/config.py,sha256=6mLZTIjs9KZJrpQCCJPNXt0Dj9FpPcJdlIoBpS5Z31o,12804
223
+ sqlalchemy/testing/engines.py,sha256=AHLaOFU6JzUcjI82mCrnShhdehqpSfoZUwd0F0skQAM,14365
224
+ sqlalchemy/testing/entities.py,sha256=mq_NFmlKmUmp2OFcWiZCO-Crm_-IFwuASky0CdHB5Qc,3471
225
+ sqlalchemy/testing/exclusions.py,sha256=1vATTWsW8Jbaagf-iSt4oMjLWZCfPdQ9KEF8cniN4oc,14180
226
+ sqlalchemy/testing/pickleable.py,sha256=XhtQ5g4OX6Sve57NNBfm9TT5g5IWtBPoGvyMMFGZdAE,2988
227
+ sqlalchemy/testing/profiling.py,sha256=L5bXngFZY4N1jeSac-uLzs74pvN6IhwxQU1UVDrKXlA,10639
228
+ sqlalchemy/testing/provision.py,sha256=wkkYCMfHiBqSG7Bt211sdOpNMRFGGVbo8sKPxqc4rOU,18122
229
+ sqlalchemy/testing/requirements.py,sha256=VXgrFbMkPA3PLWWtnteS7ZBsUVJENQna-NaUVVBLeC4,58416
230
+ sqlalchemy/testing/schema.py,sha256=8Thf2d3E_mQzcmgM54bbef8mvJyJnJCzYm_HcBCtBag,5558
231
+ sqlalchemy/testing/util.py,sha256=XRqS2Ogo0V17xTo9m0GeYoXjYTVvO88m0MGTv27YK8Y,15061
232
+ sqlalchemy/testing/warnings.py,sha256=vmdpv92WvCdcBqltnRDT_xbYmaOnioPFEAsrCgjZdU8,1598
233
+ sqlalchemy/testing/fixtures/__init__.py,sha256=7tCWEBAV5j-KwBbxNrC-b-s9O_1sar230iotZ5k2YSQ,1226
234
+ sqlalchemy/testing/fixtures/base.py,sha256=TUYwzq7c7TjZqa_6eiC2s5o5CvO3hBktZkxR7QUDEi8,12996
235
+ sqlalchemy/testing/fixtures/mypy.py,sha256=-lWmjJ-3dIJX2ob5eM06Me-sCuDZLoHhOSueLbHJBvU,13087
236
+ sqlalchemy/testing/fixtures/orm.py,sha256=Fc-PWnONsDjzpAwoCrB6yQ2lScvM1ALRlRjbYJ8hT5w,6322
237
+ sqlalchemy/testing/fixtures/sql.py,sha256=kHq7JF9qlsW0urCjnuqTIU-lgIHYNwchtJazUJnYqCs,15556
238
+ sqlalchemy/testing/plugin/__init__.py,sha256=YUuADNPL2HvVJWfc5qP4XNSW-N-Euq3-XWAETszMZ6E,253
239
+ sqlalchemy/testing/plugin/bootstrap.py,sha256=0IMAkd9sCAFOqoMY9yaphgoxe6eZOndlnF9BI3X7CpI,1736
240
+ sqlalchemy/testing/plugin/plugin_base.py,sha256=qpq2iTe7LyjAkIQvtIoU6DepJ3EjkZd0xQKZxtadsBI,23930
241
+ sqlalchemy/testing/plugin/pytestplugin.py,sha256=TYjnxDet4-TY1sNpYob2BDoETtA-qEz5BZ-BOQRhSPM,29420
242
+ sqlalchemy/testing/suite/__init__.py,sha256=yqFrvgUqh2WDlW-EaXZMIATitbR6Y9wBHySjrWqIL8Q,741
243
+ sqlalchemy/testing/suite/test_cte.py,sha256=R7eHjHbo_HTpYnthcLGTbtWuis2Uib5C_qpDNRzBBcU,7513
244
+ sqlalchemy/testing/suite/test_ddl.py,sha256=J6a9e4nkMRZ52XqTjnyq4x1B63gdfiIAdyu4rPznSY8,12448
245
+ sqlalchemy/testing/suite/test_deprecations.py,sha256=ly9zB8nUBzIBvUJP7t7i9kmOuWxrPVi9FLAwku9BNAA,5490
246
+ sqlalchemy/testing/suite/test_dialect.py,sha256=zzvmWuSBRW31Io3lMgaMeY8bGvGFhFBbazPGTIjzs4U,24991
247
+ sqlalchemy/testing/suite/test_insert.py,sha256=euw_yKgQQ4REgws6eaWzeagL8TQ5AxvwrB8hkq53A58,19454
248
+ sqlalchemy/testing/suite/test_reflection.py,sha256=69Jgfc_6U_U1A7e-tSUVHzsuvVojG0q1ZQGKZVTYgOc,123619
249
+ sqlalchemy/testing/suite/test_results.py,sha256=Ry98Xe9jjrOThVL54ZPAAA7MRU9lBisSKyK9ybBRQCc,17546
250
+ sqlalchemy/testing/suite/test_rowcount.py,sha256=pebAIkPtCwantehyoHWIovGn3rx0vyD1rycne7cPge8,8158
251
+ sqlalchemy/testing/suite/test_select.py,sha256=lOcLtI_AQWhtBeVS-e4YfEWoMmCBpVMo3wwVQB7u5yw,64264
252
+ sqlalchemy/testing/suite/test_sequence.py,sha256=8_Iv2wnxmbhE_qsgtq5xfGrdpC2uzHMCmOGx0jq3Wc0,10296
253
+ sqlalchemy/testing/suite/test_types.py,sha256=UJqGgR5E2eYTnqjViPfHNOIzMwhWyB6Chw2IU_woJJA,70206
254
+ sqlalchemy/testing/suite/test_unicode_ddl.py,sha256=lAPT2h_Zjn1GFDOx9V3cQyHX46Is4CljpR-wEcvIX-g,6330
255
+ sqlalchemy/testing/suite/test_update_delete.py,sha256=-ZO2pnBPbtHtv4zoMIy8kjtVdqpmAUrwkIja-x8PAkY,4147
256
+ sqlalchemy/util/__init__.py,sha256=2rBat6QG_MqGQFVb8-_WsgJFrutit_5bAEU8tot_UT8,8563
257
+ sqlalchemy/util/_collections.py,sha256=eXWOHL8CMaXNLFbLIw9FeCJJbNEf5gEIY9sYI8s8z7Q,20723
258
+ sqlalchemy/util/_concurrency_py3k.py,sha256=K9-8ek7LvZBDwRpnVEd5NU_OsY9ubfGPtxRkoEV969A,9458
259
+ sqlalchemy/util/_has_cy.py,sha256=DflWTDYnw5sFUKBADsECKt73aMnGsgIYd89bMLVV3bk,1287
260
+ sqlalchemy/util/_py_collections.py,sha256=2MTeNTIhgeImpNE6p-0O91nFqleiFiVtoN5GpJPFB54,17191
261
+ sqlalchemy/util/compat.py,sha256=hxGti9cykknOP36hNazyAwMqIVsJJ_zajVboj-kqvb0,13283
262
+ sqlalchemy/util/concurrency.py,sha256=zdaL5tsI2IsiMXGZJI5XWpenipWczHq_gZrbcVogz1Y,3460
263
+ sqlalchemy/util/deprecations.py,sha256=vJkTa5SKCnz54rp2bYe_0ztLk17Oi8_RyjeoQQIR5c4,12413
264
+ sqlalchemy/util/langhelpers.py,sha256=btKRdakvqEmkGApS7zsccnfaSaxxGygHJJAc726UCQY,67075
265
+ sqlalchemy/util/preloaded.py,sha256=R9h49WyaIgIS01jH7bzh02dbXjVZe7T6jw-2pmGIegQ,6054
266
+ sqlalchemy/util/queue.py,sha256=qTDWqoeYCD7uEBsDdSJXxXLHyk_Z-2jnp13L5Z-3-dM,10507
267
+ sqlalchemy/util/tool_support.py,sha256=2UViKUsRi3nw7TVo8pw7SpdYAra4mljJA57O-bN1jAU,6336
268
+ sqlalchemy/util/topological.py,sha256=5gL2CzoW1kT8cwGL1RX6ZdZ9KAKpxHruC8nUMtvreZk,3571
269
+ sqlalchemy/util/typing.py,sha256=3M7lip22D-haox-VgJIQBJt_-Tobhwt6YctFA7D-A0s,23227
270
+ sqlalchemy-2.0.47.dist-info/licenses/LICENSE,sha256=m7dUBx5xHPdXKLkFGxcL-4-eO4ecCDhslqNpicQs1fE,1119
271
+ sqlalchemy-2.0.47.dist-info/METADATA,sha256=jzGVWFT-im-Ds5wGvqfDTUwlLKlKrYfugkUgEnUhzNs,9790
272
+ sqlalchemy-2.0.47.dist-info/WHEEL,sha256=7dHBQPeSZC8DdFZADU20YsfYVospDjuepQZ-HJ4WQjs,102
273
+ sqlalchemy-2.0.47.dist-info/top_level.txt,sha256=rp-ZgB7D8G11ivXON5VGPjupT1voYmWqkciDt5Uaw_Q,11
274
+ sqlalchemy-2.0.47.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313t-win_amd64
5
+
@@ -0,0 +1,19 @@
1
+ Copyright 2005-2026 SQLAlchemy authors and contributors <see AUTHORS file>.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ sqlalchemy