[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 :: 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 in 'x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 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 = mysqlconnector 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 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" 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=25 -p no:warnings -p no:logging python_files = test/*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 mariadb = mariadb://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:masterkey@localhost//Users/classic/foo.fdb