1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
[metadata]
name = SQLAlchemy
# version comes from setup.py; setuptools
# can't read the "attr:" here without importing
# until version 47.0.0 which is too recent
description = Database Abstraction Library
long_description = file: README.rst
long_description_content_type = text/x-rst
url = https://www.sqlalchemy.org
author = Mike Bayer
author_email = mike_mp@zzzcomputing.com
license = MIT
license_file = LICENSE
classifiers =
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy
Topic :: Database :: Front-Ends
project_urls =
Documentation=https://docs.sqlalchemy.org
Issue Tracker=https://github.com/sqlalchemy/sqlalchemy/
[options]
packages = find:
python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*
package_dir =
=lib
install_requires =
importlib-metadata;python_version<"3.8"
greenlet != 0.4.17;python_version>='3' 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'))))))
[options.extras_require]
asyncio =
greenlet!=0.4.17;python_version>="3"
mypy =
mypy >= 0.910;python_version>="3"
sqlalchemy2-stubs
mssql = pyodbc
mssql_pymssql = pymssql
mssql_pyodbc = pyodbc
mysql =
mysqlclient>=1.4.0,<2;python_version<"3"
mysqlclient>=1.4.0;python_version>="3"
mysql_connector =
mysql-connector-python
mariadb_connector =
mariadb>=1.0.1;python_version>="3"
oracle =
cx_oracle>=7,<8;python_version<"3"
cx_oracle>=7;python_version>="3"
postgresql = psycopg2>=2.7
postgresql_pg8000 = pg8000>=1.16.6,!=1.29.0
postgresql_asyncpg =
%(asyncio)s
asyncpg;python_version>="3"
postgresql_psycopg2binary = psycopg2-binary
postgresql_psycopg2cffi = psycopg2cffi
pymysql =
pymysql;python_version>="3"
pymysql<1;python_version<"3"
aiomysql =
%(asyncio)s
aiomysql;python_version>="3"
asyncmy =
%(asyncio)s
asyncmy>=0.2.3,!=0.2.4;python_version>="3"
aiosqlite =
%(asyncio)s
aiosqlite;python_version>="3"
typing_extensions!=3.10.0.1
sqlcipher =
sqlcipher3_binary;python_version>="3"
[egg_info]
tag_build = dev
[options.packages.find]
where = lib
[tool:pytest]
addopts = --tb native -v -r sfxX --maxfail=250 -p no:warnings -p no:logging
norecursedirs = examples build doc lib
python_files = test_*.py
[upload]
sign = 1
identity = C4DAFEE1
[flake8]
show-source = false
enable-extensions = G
# E203 is due to https://github.com/PyCQA/pycodestyle/issues/373
ignore =
A003,
D,
E203,E305,E711,E712,E721,E722,E741,
N801,N802,N806,
RST304,RST303,RST299,RST399,
W503,W504
exclude = .venv,.git,.tox,dist,doc,*egg,build
import-order-style = google
application-import-names = sqlalchemy,test
per-file-ignores =
**/__init__.py:F401
lib/sqlalchemy/events.py:F401
lib/sqlalchemy/schema.py:F401
lib/sqlalchemy/types.py:F401
lib/sqlalchemy/sql/expression.py:F401
[mypy]
# min mypy version 0.800
strict = True
incremental = True
plugins = sqlalchemy.ext.mypy.plugin
[mypy-sqlalchemy.*]
ignore_errors = True
[mypy-sqlalchemy.ext.mypy.*]
ignore_errors = False
[sqla_testing]
requirement_cls = test.requirements:DefaultRequirements
profile_file = test/profiles.txt
# name of a "loopback" link set up on the oracle database.
# to create this, suppose your DB is scott/tiger@xe. You'd create it
# like:
# create public database link test_link connect to scott identified by tiger
# using 'xe';
oracle_db_link = test_link
# host name of a postgres database that has the postgres_fdw extension.
# to create this run:
# CREATE EXTENSION postgres_fdw;
# GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO public;
# this can be localhost to create a loopback foreign table
# postgres_test_db_link = localhost
[db]
default = sqlite:///:memory:
sqlite = sqlite:///:memory:
aiosqlite = sqlite+aiosqlite:///:memory:
sqlite_file = sqlite:///querytest.db
aiosqlite_file = sqlite+aiosqlite:///async_querytest.db
pysqlcipher_file = sqlite+pysqlcipher://:test@/querytest.db.enc
postgresql = postgresql://scott:tiger@127.0.0.1:5432/test
asyncpg = postgresql+asyncpg://scott:tiger@127.0.0.1:5432/test
asyncpg_fallback = postgresql+asyncpg://scott:tiger@127.0.0.1:5432/test?async_fallback=true
pg8000 = postgresql+pg8000://scott:tiger@127.0.0.1:5432/test
postgresql_psycopg2cffi = postgresql+psycopg2cffi://scott:tiger@127.0.0.1:5432/test
mysql = mysql://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4
pymysql = mysql+pymysql://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4
aiomysql = mysql+aiomysql://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4
aiomysql_fallback = mysql+aiomysql://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4&async_fallback=true
asyncmy = mysql+asyncmy://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4
asyncmy_fallback = mysql+asyncmy://scott:tiger@127.0.0.1:3306/test?charset=utf8mb4&async_fallback=true
mariadb = mariadb+mysqldb://scott:tiger@127.0.0.1:3306/test
mariadb_connector = mariadb+mariadbconnector://scott:tiger@127.0.0.1:3306/test
mssql = mssql+pyodbc://scott:tiger^5HHH@mssql2017:1433/test?driver=ODBC+Driver+13+for+SQL+Server
mssql_pymssql = mssql+pymssql://scott:tiger@ms_2008
docker_mssql = mssql+pymssql://scott:tiger^5HHH@127.0.0.1:1433/test
oracle = oracle://scott:tiger@127.0.0.1:1521
oracle8 = oracle://scott:tiger@127.0.0.1:1521/?use_ansi=0
firebird = firebird://sysdba:mainkey@localhost//Users/classic/foo.fdb
|