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