summaryrefslogtreecommitdiff
path: root/setup.cfg
Commit message (Collapse)AuthorAgeFilesLines
* MariaDB dialect implementationGeorg Richter2020-08-311-0/+5
| | | | | | | | | | Fixes: #5459 Closes: #5515 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5515 Pull-request-sha: 760090b9067304cc65fece12fcf10b522afc4a2a Change-Id: I30e8fbc02b7b5329ca228cd39f6fb7cfd0e43092
* Implement rudimentary asyncio support w/ asyncpgMike Bayer2020-08-131-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Using the approach introduced at https://gist.github.com/zzzeek/6287e28054d3baddc07fa21a7227904e We can now create asyncio endpoints that are then handled in "implicit IO" form within the majority of the Core internals. Then coroutines are re-exposed at the point at which we call into asyncpg methods. Patch includes: * asyncpg dialect * asyncio package * engine, result, ORM session classes * new test fixtures, tests * some work with pep-484 and a short plugin for the pyannotate package, which seems to have so-so results Change-Id: Idbcc0eff72c4cad572914acdd6f40ddb1aef1a7d Fixes: #3414
* Use importlib_metadata; add namespace for mariadbMike Bayer2020-08-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The ``importlib_metadata`` library is used to scan for setuptools entrypoints rather than pkg_resources. as importlib_metadata is a small library that is included as of Python 3.8, the compatibility library is installed as a dependency for Python versions older than 3.8. Unfortunately setuptools "attr:" is broken because it tries to import the module; seems like this is fixed as part of https://github.com/pypa/setuptools/pull/1753 however this is too recent to rely upon for now. Added a new dialect token "mariadb" that may be used in place of "mysql" in the :func:`_sa.create_engine` URL. This will deliver a MariaDB dialect subclass of the MySQLDialect in use that forces the "is_mariadb" flag to True. The dialect will raise an error if a server version string that does not indicate MariaDB in use is received. This is useful for MariaDB-specific testing scenarios as well as to support applications that are hardcoding to MariaDB-only concepts. As MariaDB and MySQL featuresets and usage patterns continue to diverge, this pattern may become more prominent. Fixes: #5400 Fixes: #5496 Change-Id: I330815ebe572b6a9818377da56621397335fa702
* Correct incorrect readme.rst fileMike Bayer2020-07-121-1/+1
| | | | | | | | in the move to setup.cfg at 9ca81f5f79498356c4f3387c17edda0ed3dad451 we put the wrong README file. Change-Id: I25193d248e325e9473f26901925f91bef54ca07a
* Use python version in extras_require; integrate with toxMike Bayer2020-06-291-2/+6
| | | | | | | | | | | | | | | We want to use Oracle version >=7 for all platforms, but <8 for Python 2. Similarly, we want to use mysqlclient >= 1.4.0 for all platforms, but < 2 for Python 2. Have tox.ini defer to setup.cfg for DBAPIs. We're not testing mysql-connector-python right now so remove this from tox.ini. Change-Id: I02611937da71d2950545e42c34f0b9798478e2a8
* Default psycopg2 executemany mode to "values_only"Mike Bayer2020-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The psycopg2 dialect now defaults to using the very performant ``execute_values()`` psycopg2 extension for compiled INSERT statements, and also impements RETURNING support when this extension is used. This allows INSERT statements that even include an autoincremented SERIAL or IDENTITY value to run very fast while still being able to return the newly generated primary key values. The ORM will then integrate this new feature in a separate change. Implements RETURNING for insert with executemany Adds support to return_defaults() mode and inserted_primary_key to support mutiple INSERTed rows, via return_defauls_rows and inserted_primary_key_rows accessors. within default execution context, new cached compiler getters are used to fetch primary keys from rows inserted_primary_key now returns a plain tuple. this is not yet a row-like object however this can be added. Adds distinct "values_only" and "batch" modes, as "values" has a lot of benefits but "batch" breaks cursor.rowcount psycopg2 minimum version 2.7 so we can remove the large number of checks for very old versions of psycopg2 simplify tests to no longer distinguish between native and non-native json Fixes: #5401 Change-Id: Ic08fd3423d4c5d16ca50994460c0c234868bd61c
* Move most setup options to setup.cfgMike Bayer2020-06-191-28/+72
| | | | | | | | Installation has been modernized to use setup.cfg for most package metadata. Fixes: #5404 Change-Id: Id59c0c4e7f81eca89999d1f1f8b03c89835a09d1
* Correct ambiguous func / class linksMike Bayer2020-03-251-1/+1
| | | | | | | | | :func:`.sql.expression.select`, :func:`.sql.expression.insert` and :class:`.sql.expression.Insert` were hitting many ambiguous symbol errors, due to future.select, as well as the PG/MySQL variants of Insert. Change-Id: Iac862bfc172a7f7f0cbba5353a83dc203bed376c
* Add docker commands to README.unittestsFederico Caselli2020-03-041-0/+1
| | | | | | | | Closes: #5116 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5116 Pull-request-sha: e70ad70426de03982c3abb78eb7b8292e86c3950 Change-Id: If9ef93312d8ce78908a76ea84cb95f3068ffb306
* Enable F821Mike Bayer2020-01-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In Ia63a510f9c1d08b055eef62cf047f1f427f0450c we introduced "lambda combinations" which use a bit of function closure inspection in order to allow for testing combinations that make use of symbols that come from test fixtures, or from the test itself. Two problems. One is that we can't use F821 flake8 rule without either adding lots of noqas, skipping the file, or adding arguments to the lambdas themselves that are then populated, which makes for a very verbose system. The other is that the system is already verbose with all those lambdas and the magic in use is a non-explicit kind, hence F821 reminds us that if we can improve upon this, we should. So let's improve upon it by making it so that the "lambda" is just once and up front for the whole thing, and let it accept the arguments directly. This still requires magic, because these test cases need to resolve at test collection time, not test runtime. But we will instead substitute a namespace up front that can be coerced into its desired form within the tests. Additionally, there's a little bit of py2k compatible type annotations present; f821 is checking these, so we have to add those imports also using the TYPE_CHECKING boolean so they don't take place in py2k. Change-Id: Idb7e7a0c8af86d9ab133f548511306ef68cdba14
* Move max-worker-restart to pytest-xdist options in tox.iniMike Bayer2019-11-191-1/+1
| | | | | | | | This way py.test can be run on the outside without a command line error. Change-Id: Ia3689806bffbabe176a827cca2f099e89a60ebf5 Closes: #4989
* Remove python setup.py test; fix SQL Server URLMike Bayer2019-10-281-1/+1
| | | | | | | | general README.unittest.rst edits Fixes: #4789 Fixes: #4900 Change-Id: Ifddd3bfd1e6a4d24d3b0a3e1702e04e66a42a4dd
* Enable F841Mike Bayer2019-06-201-5/+1
| | | | | | | | | | | This is a very useful assertion which prevents unused variables from being set up allows code to be more readable and sometimes even more efficient. test suites seem to be where the most problems are and there do not seem to be documentation examples that are using this, or at least the linter is not taking effect within rst blocks. Change-Id: I2b3341d8dd14da34879d8425838e66a4b9f8e27d
* - add --max-worker-restart to better tolerate oracle / python 3.8 crashesMike Bayer2019-06-081-1/+1
| | | | Change-Id: I4f59cd69dc2319732acf64cb000946c09124ceff
* Merge "Remove Nose support"mike bayer2019-02-031-6/+0
|\
| * Remove Nose supportParth Shandilya2019-02-021-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The test system has removed support for Nose, which is unmaintained for several years and is producing warnings under Python 3. The test suite is currently standardized on Pytest. Pull request courtesy Parth Shandilya. Fixes: #4460 Closes: #4476 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/4476 Pull-request-sha: e857af9c7d07355e52841149ee2e5d4448409e1e Change-Id: I76516fae1cf0eb58f2e9fc9f692e591e0fcf39a4
* | repair F632 issueMike Bayer2019-02-011-1/+1
|/ | | | | | | in b8f9517cddf41dbb47ae4ad120141c7ab1a29ac5 we disabled this new error coming up, but it's just this one line in a test that is in fact wrong. Change-Id: I4e3612596e9735c7db066832d13ccb454c93808f
* Add F632 another issue that just popped upMike Bayer2019-01-301-1/+1
| | | | Change-Id: I4658615f450ed670bbde39e085e1b1f913e3736f
* add F821 which for some reason is some new thing flake8 wants to complain aboutMike Bayer2019-01-301-1/+1
| | | | Change-Id: I27df129ae883d75217ec07ff6d0139447444cc60
* Render N'' for SQL Server unicode literalsMike Bayer2019-01-151-2/+2
| | | | | | | | | | | | | | | | | | The ``literal_processor`` for the :class:`.Unicode` and :class:`.UnicodeText` datatypes now render an ``N`` character in front of the literal string expression as required by SQL Server for Unicode string values rendered in SQL expressions. Note that this adds full unicode characters to the standard test suite, which means we also need to bump MySQL provisioning up to utf8mb4. Modern installs do not seem to be reproducing the 1271 issue locally, if it reproduces in CI it would be better for us to skip those ORM-centric tests for MySQL. Also remove unused _StringType from SQL Server dialect Fixes: #4442 Change-Id: Id55817b3e8a2d81ddc8b7b27f85e3f1dcc1cea7e
* Prep for flake8 refactoringMike Bayer2019-01-031-0/+20
| | | | | | | | a few code changes ahead of time to handle some __all__ issues better. also include new flake8 rules, since the existing flake8 doesn't pass in any case. Change-Id: I1efdf75124ae7bcac719c22e505bb5b13db06c04
* turn off pytest's latest plugin we didn't ask for, loggingMike Bayer2018-01-051-1/+1
| | | | Change-Id: I24d57894c519366febbce268b04474182dfbb0a1
* Add license to Wheel metadataJeff Widman2017-11-151-0/+2
| | | | | | | https://wheel.readthedocs.io/en/stable/index.html#including-the-license-in-the-generated-wheel-file Change-Id: Icf91b96ba534c8f835ad287e7840ac2a9d2ac502 Pull-request: https://github.com/zzzeek/sqlalchemy/pull/397
* Refactor for cx_Oracle version 6oracle_numericMike Bayer2017-09-111-1/+1
| | | | | | | | | Drops support for cx_Oracle prior to version 5.x, reworks numeric and binary support. Fixes: #4064 Change-Id: Ib9ae9aba430c15cd2a6eeb4e5e3fd8e97b5fe480
* - add option to disable py.test warnings plugin;Mike Bayer2017-05-231-1/+1
| | | | | | | lift cap on py.test. references: https://github.com/pytest-dev/pytest/issues/2430 Change-Id: Ieb8a6258ba1d15efa570d9cda2b51cf021499a23
* Correct pytest deprecation warningGábor Lipták2017-01-171-1/+1
| | | | | | | WC1 None [pytest] section in setup.cfg files is deprecated, use [tool:pytest] instead. Change-Id: I099c8207730ae1226f7357ff8be0d8ab149878ed Pull-request: https://github.com/zzzeek/sqlalchemy/pull/334
* - adjust to allow dblink tests to work with multiprocess users.Mike Bayer2016-02-081-1/+1
| | | | | | unfortunately the synonym doesn't work for SQL statements here when the dblink is on a different user, testing this is not really critical so just removed it.
* - add a new qualifier "native" vs. "dbapi" unicode to avoidMike Bayer2016-01-241-6/+9
| | | | | | profiling problems here - add extras_require to setup.py for the most common DBAPIs - rework tox.ini to use extras, specify a test matrix built in
* - set explicit encoding settings for default mysql driverMike Bayer2015-11-211-1/+1
|
* - additional test adjustments for pypy / psycopg2cffi. ThisMike Bayer2015-01-261-1/+1
| | | | | | | | | | consists mainly of adjusting fixtures to ensure connections are closed explicitly. psycopg2cffi also handles unicode bind parameter names differently than psycopg2, and seems to possibly have a little less control over floating point values at least in one test which is marked as a "fail", though will see if it runs differently on linux than osx.. - changelog for psycopg2cffi, fixes #3052
* Added psycopg2cffi dialectShaun Stanworth2015-01-261-0/+1
|
* - comment this out (again)Mike Bayer2014-09-171-1/+1
|
* - repair get_foreign_table_names() for PGInsp/dialect levelpr128Mike Bayer2014-09-171-1/+1
| | | | | - repair get_view_names() - changelog + migration note
* keep this off for the moment as jenkins isn't set up for this yetMike Bayer2014-09-171-1/+1
|
* Merge branch 'master' of https://github.com/zzzeek/sqlalchemy into ↵Rodrigo Menezes2014-08-261-1/+1
|\ | | | | | | feature/postgres-relkind
| * - max failures 25Mike Bayer2014-08-161-1/+1
| | | | | | | | - guard against some potential pytest snarkiness
* | Added support for postgres_relkind.Rodrigo Menezes2014-08-141-0/+7
|/
* add pg8000Mike Bayer2014-07-061-0/+1
|
* updateMike Bayer2014-03-301-1/+1
|
* - Tweaked the settings for mysql-connector-python; in Py2K, theMike Bayer2014-03-271-0/+1
| | | | | | | | | | | "supports unicode statements" flag is now False, so that SQLAlchemy will encode the *SQL string* (note: *not* the parameters) to bytes before sending to the database. This seems to allow all unicode-related tests to pass for mysql-connector, including those that use non-ascii table/column names, as well as some tests for the TEXT type using unicode under cursor.executemany(). - other mysql-connector fixes; latest version seems to do better on function call counts
* - Support has been added for pytest to run tests. This runnerMike Bayer2014-03-031-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | is currently being supported in addition to nose, and will likely be preferred to nose going forward. The nose plugin system used by SQLAlchemy has been split out so that it works under pytest as well. There are no plans to drop support for nose at the moment and we hope that the test suite itself can continue to remain as agnostic of testing platform as possible. See the file README.unittests.rst for updated information on running tests with pytest. The test plugin system has also been enhanced to support running tests against mutiple database URLs at once, by specifying the ``--db`` and/or ``--dburi`` flags multiple times. This does not run the entire test suite for each database, but instead allows test cases that are specific to certain backends make use of that backend as the test is run. When using pytest as the test runner, the system will also run specific test suites multiple times, once for each database, particularly those tests within the "dialect suite". The plan is that the enhanced system will also be used by Alembic, and allow Alembic to run migration operation tests against multiple backends in one run, including third-party backends not included within Alembic itself. Third party dialects and extensions are also encouraged to standardize on SQLAlchemy's test suite as a basis; see the file README.dialects.rst for background on building out from SQLAlchemy's test platform.
* no more wheels until they have a pointMike Bayer2014-02-221-2/+0
| | | | fixes #2970
* ill never remember this URL so put it hereMike Bayer2014-02-171-0/+1
| | | | e Please enter the commit message for your changes. Lines starting
* - this seems to be the best string for pymysqlMike Bayer2014-02-031-1/+1
|
* - Fixed bug which prevented MySQLdb-based dialects (e.g.Mike Bayer2014-02-031-1/+1
| | | | | | | | | | pymysql) from working in Py3K, where a check for "connection charset" would fail due to Py3K's more strict value comparison rules. The call in question wasn't taking the database version into account in any case as the server version was still None at that point, so the method overall has been simplified to rely upon connection.character_set_name(). [ticket:2933]
* do the wheel thingMike Bayer2013-11-141-0/+3
|
* - some tweaks to try to help out mssql+pyodbc support a bit, py3k is reallyMike Bayer2013-06-031-0/+1
| | | | not happening too well (I need to stick with linux + freetds 0.91, I know)
* - OK we have -w sql passing for: sqlite, postgresql, oursql 2.7 + 3.3, ↵Mike Bayer2013-05-041-0/+1
| | | | mysqldb 2.7
* - add pgp identityrel_0_8_0Mike Bayer2013-03-091-0/+4
|
* Fixed table reflection for Oracle when accessing a synonym that refersMike Bayer2012-12-091-0/+7
| | | | | | | | | | to a DBLINK remote database; while the syntax has been present in the Oracle dialect for some time, up until now it has never been tested. The syntax has been tested against a sample database linking to itself, however there's still some uncertainty as to what should be used for the "owner" when querying the remote database for table information. Currently, the value of "username" from user_db_links is used to match the "owner". [ticket:2619]