[metadata]
name = SQLAlchemy
version = attr: sqlalchemy.__version__
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_files = 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 :: 3
	Programming Language :: Python :: 3.7
	Programming Language :: Python :: 3.8
	Programming Language :: Python :: 3.9
	Programming Language :: Python :: 3.10
	Programming Language :: Python :: 3.11
	Programming Language :: Python :: 3.12
	Programming Language :: Python :: 3.13
	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:
include_package_data = True
python_requires = >=3.7
package_dir = 
	=lib
install_requires = 
	importlib-metadata;python_version<"3.8"
	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')))))))
	typing-extensions >= 4.6.0

[options.extras_require]
asyncio = 
	greenlet!=0.4.17
mypy = 
	mypy >= 0.910
mssql = pyodbc
mssql_pymssql = pymssql
mssql_pyodbc = pyodbc
mysql = 
	mysqlclient>=1.4.0
mysql_connector = 
	mysql-connector-python
mariadb_connector = 
	mariadb>=1.0.1,!=1.1.2,!=1.1.5,!=1.1.10
oracle = 
	cx_oracle>=8
oracle_oracledb = 
	oracledb>=1.0.1
postgresql = psycopg2>=2.7
postgresql_pg8000 = pg8000>=1.29.1
postgresql_asyncpg = 
	%(asyncio)s
	asyncpg
postgresql_psycopg2binary = psycopg2-binary
postgresql_psycopg2cffi = psycopg2cffi
postgresql_psycopg = psycopg>=3.0.7
postgresql_psycopgbinary = psycopg[binary]>=3.0.7
pymysql = 
	pymysql
aiomysql = 
	%(asyncio)s
	aiomysql>=0.2.0
aioodbc = 
	%(asyncio)s
	aioodbc
asyncmy = 
	%(asyncio)s
	asyncmy>=0.2.3,!=0.2.4,!=0.2.6
aiosqlite = 
	%(asyncio)s
	aiosqlite
	typing_extensions!=3.10.0.1
sqlcipher = 
	sqlcipher3_binary

[egg_info]
tag_build = 
tag_date = 0

[options.packages.find]
where = lib

[upload]
sign = 1
identity = C4DAFEE1

[flake8]
show-source = false
enable-extensions = G
ignore = 
	A003,A005
	D,
	E203,E305,E701,E704,E711,E712,E721,E722,E741,
	N801,N802,N806,
	RST304,RST303,RST299,RST399,
	W503,W504,W601
extend-ignore = 
	U100,U101
exclude = .venv,.git,.tox,dist,doc,*egg,build
import-order-style = google
application-import-names = sqlalchemy,test
per-file-ignores = 
	**/__init__.py:F401
	test/*:FA100
	test/typing/plain_files/*:F821,E501,FA100
	test/ext/mypy/plugin_files/*:F821,E501,FA100
	lib/sqlalchemy/events.py:F401
	lib/sqlalchemy/schema.py:F401
	lib/sqlalchemy/types.py:F401
	lib/sqlalchemy/sql/expression.py:F401
	lib/sqlalchemy/util/typing.py:F401
unused-arguments-ignore-stub-functions = true
unused-arguments-ignore-dunder = true

[sqla_testing]
requirement_cls = test.requirements:DefaultRequirements
profile_file = test/profiles.txt
oracle_db_link = test_link
oracle_db_link2 = test_link2

[db]
default = sqlite:///:memory:
sqlite = sqlite:///:memory:
sqlite_numeric = sqlite+pysqlite_numeric:///:memory:
sqlite_dollar = sqlite+pysqlite_dollar:///: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+psycopg2://scott:tiger@127.0.0.1:5432/test
psycopg2 = postgresql+psycopg2://scott:tiger@127.0.0.1:5432/test
psycopg = postgresql+psycopg://scott:tiger@127.0.0.1:5432/test
psycopg_async = postgresql+psycopg_async://scott:tiger@127.0.0.1:5432/test
psycopg_async_fallback = postgresql+psycopg_async://scott:tiger@127.0.0.1:5432/test?async_fallback=true
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+mysqldb://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@mssql2022:1433/test?driver=ODBC+Driver+18+for+SQL+Server&TrustServerCertificate=yes&Encrypt=Optional
mssql_async = mssql+aioodbc://scott:tiger^5HHH@mssql2022:1433/test?driver=ODBC+Driver+18+for+SQL+Server&TrustServerCertificate=yes&Encrypt=Optional
pymssql = mssql+pymssql://scott:tiger^5HHH@mssql2022:1433/test
docker_mssql = mssql+pyodbc://scott:tiger^5HHH@127.0.0.1:1433/test?driver=ODBC+Driver+18+for+SQL+Server&TrustServerCertificate=yes&Encrypt=Optional
oracle = oracle+cx_oracle://scott:tiger@oracle18c/xe
cxoracle = oracle+cx_oracle://scott:tiger@oracle18c/xe
oracledb = oracle+oracledb://scott:tiger@oracle18c/xe
oracledb_async = oracle+oracledb_async://scott:tiger@oracle18c/xe
docker_oracle = oracle+cx_oracle://scott:tiger@127.0.0.1:1521/?service_name=FREEPDB1

