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