+[metadata]
+name = SQLAlchemy
+version = attr: sqlalchemy.__version__
+description = Database Abstraction Library
+long_description = file: README.dialects.rst
+long_description_content_type = text/x-rst
+url = http://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.5
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
+ 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.*
+package_dir =
+ =lib
+
+[options.extras_require]
+mssql = pyodbc
+mssql_pymssql = pymssql
+mssql_pyodbc = pyodbc
+mysql = mysqlclient
+oracle = cx_oracle
+postgresql = psycopg2
+postgresql_pg8000 = pg8000
+postgresql_psycopg2binary = psycopg2-binary
+postgresql_psycopg2cffi = psycopg2cffi
+pymysql = pymysql
+
[egg_info]
tag_build = dev
-[metadata]
-license_file = LICENSE
+[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
+addopts = --tb native -v -r sfxX --maxfail=25 -p no:warnings -p no:logging
+python_files = test/*test_*.py
[upload]
sign = 1
[flake8]
show-source = false
enable-extensions = G
+
# E203 is due to https://github.com/PyCQA/pycodestyle/issues/373
ignore =
A003,
import-order-style = google
application-import-names = sqlalchemy,test
-
[sqla_testing]
-requirement_cls=test.requirements:DefaultRequirements
-profile_file=test/profiles.txt
+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';
+# 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.
# this can be localhost to create a loopback foreign table
# postgres_test_db_link = localhost
-
[db]
-default=sqlite:///:memory:
-sqlite=sqlite:///:memory:
-sqlite_file=sqlite:///querytest.db
-
-postgresql=postgresql://scott:tiger@127.0.0.1:5432/test
-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
-
-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
+default = sqlite:///:memory:
+sqlite = sqlite:///:memory:
+sqlite_file = sqlite:///querytest.db
+postgresql = postgresql://scott:tiger@127.0.0.1:5432/test
+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
+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
from distutils.errors import DistutilsPlatformError
import os
import platform
-import re
import sys
from setuptools import Distribution as _Distribution
from setuptools import Extension
-from setuptools import find_packages
from setuptools import setup
from setuptools.command.test import test as TestCommand
cmdclass = {}
-if sys.version_info < (2, 7):
- raise Exception("SQLAlchemy requires Python 2.7 or higher.")
cpython = platform.python_implementation() == "CPython"
print("*" * 75)
-with open(
- os.path.join(os.path.dirname(__file__), "lib", "sqlalchemy", "__init__.py")
-) as v_file:
- VERSION = (
- re.compile(r""".*__version__ = ["'](.*?)['"]""", re.S)
- .match(v_file.read())
- .group(1)
- )
-
-with open(os.path.join(os.path.dirname(__file__), "README.rst")) as r_file:
- readme = r_file.read()
-
-
def run_setup(with_cext):
kwargs = {}
if with_cext:
kwargs["ext_modules"] = []
- setup(
- name="SQLAlchemy",
- version=VERSION,
- description="Database Abstraction Library",
- author="Mike Bayer",
- author_email="mike_mp@zzzcomputing.com",
- url="http://www.sqlalchemy.org",
- project_urls={
- "Documentation": "https://docs.sqlalchemy.org",
- "Issue Tracker": "https://github.com/sqlalchemy/sqlalchemy/",
- },
- packages=find_packages("lib"),
- package_dir={"": "lib"},
- license="MIT",
- cmdclass=cmdclass,
- long_description=readme,
- python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
- classifiers=[
- "Development Status :: 5 - Production/Stable",
- "Intended Audience :: Developers",
- "License :: OSI Approved :: MIT License",
- "Programming Language :: Python",
- "Programming Language :: Python :: 2",
- "Programming Language :: Python :: 2.7",
- "Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.5",
- "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",
- "Operating System :: OS Independent",
- ],
- distclass=Distribution,
- extras_require={
- "mysql": ["mysqlclient"],
- "pymysql": ["pymysql"],
- "postgresql": ["psycopg2"],
- "postgresql_psycopg2binary": ["psycopg2-binary"],
- "postgresql_pg8000": ["pg8000"],
- "postgresql_psycopg2cffi": ["psycopg2cffi"],
- "oracle": ["cx_oracle"],
- "mssql_pyodbc": ["pyodbc"],
- "mssql_pymssql": ["pymssql"],
- "mssql": ["pyodbc"],
- },
- **kwargs
- )
+ setup(cmdclass=cmdclass, distclass=Distribution, **kwargs)
if not cpython: