mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-07-25 15:51:29 -04:00
b38fb59fe4
pymssql seems to be maintained again and seems to be working completely, so let's try re-enabling it. Fixed issue in the new :class:`.Uuid` datatype which prevented it from working with the pymssql driver. As pymssql seems to be maintained again, restored testing support for pymssql. Tweaked the pymssql dialect to take better advantage of RETURNING for INSERT statements in order to retrieve last inserted primary key values, in the same way as occurs for the mssql+pyodbc dialect right now. Identified that the ``sqlite`` and ``mssql+pyodbc`` dialects are now compatible with the SQLAlchemy ORM's "versioned rows" feature, since SQLAlchemy now computes rowcount for a RETURNING statement in this specific case by counting the rows returned, rather than relying upon ``cursor.rowcount``. In particular, the ORM versioned rows use case (documented at :ref:`mapper_version_counter`) should now be fully supported with the SQL Server pyodbc dialect. Change-Id: I38a0666587212327aecf8f98e86031ab25d1f14d References: #5321 Fixes: #9414
177 lines
6.0 KiB
INI
177 lines
6.0 KiB
INI
[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 :: 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;(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.2.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
|
|
oracle =
|
|
cx_oracle>=7
|
|
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
|
|
pymysql =
|
|
pymysql
|
|
aiomysql =
|
|
%(asyncio)s
|
|
aiomysql
|
|
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 = dev
|
|
|
|
[options.packages.find]
|
|
where = lib
|
|
|
|
# [tool:pytest]
|
|
# pytest settings moved to pyproject.toml
|
|
|
|
[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
|
|
test/*:FA100
|
|
test/ext/mypy/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
|
|
|
|
[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
|
|
# create public database link test_link2 connect to test_schema identified by tiger
|
|
# using 'xe';
|
|
oracle_db_link2 = test_link2
|
|
|
|
# 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:
|
|
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@mssql2017:1433/test?driver=ODBC+Driver+13+for+SQL+Server
|
|
pymssql = mssql+pymssql://scott:tiger^5HHH@mssql2017:1433/test
|
|
docker_mssql = mssql+pyodbc://scott:tiger^5HHH@127.0.0.1:1433/test?driver=ODBC+Driver+17+for+SQL+Server
|
|
oracle = oracle+cx_oracle://scott:tiger@oracle18c/xe
|
|
cxoracle = oracle+cx_oracle://scott:tiger@oracle18c/xe
|
|
oracledb = oracle+oracledb://scott:tiger@oracle18c/xe
|
|
docker_oracle = oracle+cx_oracle://scott:tiger@127.0.0.1:1521/?service_name=XEPDB1
|