History log of /sqlalchemy/setup.py (Results 1 - 25 of 122)
Revision Date Author Comments
# 629273a3 18-Feb.-2021 Federico Caselli <cfederico87@gmail.com>

Minor optimization to the code

* remove the c version of distill params since it's actually slower than
the python one
* add a function to langhelpers to check if the cextensions are

Minor optimization to the code

* remove the c version of distill params since it's actually slower than
the python one
* add a function to langhelpers to check if the cextensions are active
* minor cleanup to the OrderedSet implementation

Change-Id: Iec3d0c3f0f42cdf51f802aaca342ba37b8783b85

show more ...


# e3fbbf83 27-Jan.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

Repair incorrect symbol PyDict_GetItemWithError for Python 2

* ensure on python 2 correct cflags to fail on undefined
symbols take effect

* fail for implicit function declaratio

Repair incorrect symbol PyDict_GetItemWithError for Python 2

* ensure on python 2 correct cflags to fail on undefined
symbols take effect

* fail for implicit function declaration

* python 2 does not publish PyDict_GetItemWithError but has
it as _PyDict_GetItemWIthError but only as of Python 2.7.12

Change-Id: I007509afddf7f44ca64e52fa9140be39f815fa7a

show more ...


# cd03b8f0 12-Aug.-2020 Mike Bayer <mike_mp@zzzcomputing.com>

Use importlib_metadata; add namespace for mariadb

The ``importlib_metadata`` library is used to scan for setuptools
entrypoints rather than pkg_resources. as importlib_metadata is a sm

Use importlib_metadata; add namespace for mariadb

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

show more ...


# 9ca81f5f 18-Jun.-2020 Mike Bayer <mike_mp@zzzcomputing.com>

Move most setup options to setup.cfg

Installation has been modernized to use setup.cfg for most package
metadata.

Fixes: #5404
Change-Id: Id59c0c4e7f81eca89999d1f1f8b03c8983

Move most setup options to setup.cfg

Installation has been modernized to use setup.cfg for most package
metadata.

Fixes: #5404
Change-Id: Id59c0c4e7f81eca89999d1f1f8b03c89835a09d1

show more ...


# fcbd03e4 21-May-2020 Mike Bayer <mike_mp@zzzcomputing.com>

Add immutabledict C code

Start trying to convert fundamental objects to
C as we now rely on a fairly small core of things,
and 1.4 is having problems with complexity added being

Add immutabledict C code

Start trying to convert fundamental objects to
C as we now rely on a fairly small core of things,
and 1.4 is having problems with complexity added being
slower than the performance gains we are trying to build in.

immutabledict here does seem to bench as twice as fast as the
Python one, see below. However, it does not appear to be
used prominently enough to make any dent in the performance
tests.

at the very least it may provide us some more lift-and-copy
code for more C extensions.

import timeit

from sqlalchemy.util._collections import not_immutabledict, immutabledict

def run(dict_cls):
for i in range(1000000):
d1 = dict_cls({"x": 5, "y": 4})

d2 = d1.union({"x": 17, "new key": "some other value"}, None)

assert list(d2) == ["x", "y", "new key"]

print(
timeit.timeit(
"run(d)", "from __main__ import run, not_immutabledict as d", number=1
)
)
print(
timeit.timeit(
"run(d)", "from __main__ import run, immutabledict as d", number=1
)
)

output:

python: 1.8799766399897635
C code: 0.8880784640205093

Change-Id: I29e7104dc21dcc7cdf895bf274003af2e219bf6d

show more ...


# 4bd4b483 29-Mar.-2020 Federico Caselli <cfederico87@gmail.com>

Remove support for python 3.4

Also remove no longer used compat code

Change-Id: Ifda239fd84b425e43f4028cb55a5b3b8efa4dfc6


# 5b6a1a98 28-Mar.-2020 Federico Caselli <cfederico87@gmail.com>

Fix typo in resultproxy.c and test compatibility with python 3.5

- Fix typo in resultproxy.c that would error on windows.
- add -Wundef to C flags when linux is detected so that undefine

Fix typo in resultproxy.c and test compatibility with python 3.5

- Fix typo in resultproxy.c that would error on windows.
- add -Wundef to C flags when linux is detected so that undefined
symbols emit a warning
- a few adjustments for tests to succeed on python 3.5
- note minimum version still documented here as 3.4 but this should
move to at least 3.5 if not 3.6 for SQLAlchemy 1.4

Change-Id: Ia93ee1cb5c52e51e72eb0a24c100421c5157d04b

show more ...


# 9a7c65c9 27-Jan.-2020 Gord Thompson <gord@gordthompson.com>

Add py3.8, py3.9 token to setup.py

Fixes: #5113

<!-- Provide a general summary of your proposed changes in the Title field above -->

### Description
Add py3.8 and py3.9

Add py3.8, py3.9 token to setup.py

Fixes: #5113

<!-- Provide a general summary of your proposed changes in the Title field above -->

### Description
Add py3.8 and py3.9 tokens to setup.py

### Checklist
<!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once the PR is submitted, so no need to do everything at once)

-->

This pull request is:

- [ ] A documentation / typographical error fix
- Good to go, no issue or tests are needed
- [x] A short code fix
- please include the issue number, and create an issue if none exists, which
must include a complete example of the issue. one line code fixes without an
issue and demonstration will not be accepted.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests. one line code fixes without tests will not be accepted.
- [ ] A new feature implementation
- please include the issue number, and create an issue if none exists, which must
include a complete example of how the feature would look.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.

**Have a nice day!**

Closes: #5115
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5115
Pull-request-sha: 5ae662f1ec0d89a16a03fe60d6f12712d0d21398

Change-Id: I1313df9bd117b1356c1d06d588e8e04a07ba4e39

show more ...


# a54a0c6e 03-Jan.-2020 Mike Bayer <mike_mp@zzzcomputing.com>

Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded t

Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded to
non-C extensions without failing. Ensure that if cext is set,
there is no fallback to non-cext build if the C extension build
fails.

Repair C related issues introduced in cc718cccc0bf8a01abdf4068c.

As C extensions have been silently failing on 2.7 for some commits,
the callcounts also needed to be adjusted for recent performance-related
changes. That in turn required a fix to the profiling decorator
to use signature rewriting in order to support py.test's
fixture mechanism under Python 2, usage introduced under profiling
in 89bf6d80a9.

Fixes: #5076
Change-Id: Id968f10c85d6bf489298b1c318a1f869ad3e7d80

show more ...


# 4a2dd490 08-Nov.-2019 Mike Bayer <mike_mp@zzzcomputing.com>

Work around setuptools issue #1902

Added a workaround for a setuptools-related failure that has been observed
as occurring on Windows installations, where setuptools is not correctly

Work around setuptools issue #1902

Added a workaround for a setuptools-related failure that has been observed
as occurring on Windows installations, where setuptools is not correctly
reporting a build error when the MSVC build dependencies are not installed
and therefore not allowing graceful degradation into non C extensions
builds.

Setuptools issue https://github.com/pypa/setuptools/issues/1902

Fixes: #4967
Change-Id: I5e21e7e78cb6d927b18afce64cacf8643b98354e

show more ...


# c312b3b2 22-Oct.-2019 Mike Bayer <mike_mp@zzzcomputing.com>

Remove python setup.py test; fix SQL Server URL

general README.unittest.rst edits

Fixes: #4789
Fixes: #4900
Change-Id: Ifddd3bfd1e6a4d24d3b0a3e1702e04e66a42a4dd


# fff65b81 28-May-2019 Mike Bayer <mike_mp@zzzcomputing.com>

Reformat license name

While we have the OSI classifier for "MIT License", it looks
like for the "license" field, this is normally just the word
"MIT" and not "MIT License". While t

Reformat license name

While we have the OSI classifier for "MIT License", it looks
like for the "license" field, this is normally just the word
"MIT" and not "MIT License". While the pypa docs suggest we
only need it as the OSI classifier, keep it also in "license"
in order to appease common tooling.

Change-Id: Ife51bbc74d6c1b8ab9a736024818fbba35316e17

show more ...


# 9feec16b 27-May-2019 Mike Bayer <mike_mp@zzzcomputing.com>

Add documentation / tracker URLs for pypi

Change-Id: I379b3d9e59ff8cda17c2d738fde794249f105510


# 1e278de4 05-Jan.-2019 Mike Bayer <mike_mp@zzzcomputing.com>

Post black reformatting

Applied on top of a pure run of black -l 79 in
I7eda77fed3d8e73df84b3651fd6cfcfe858d4dc9, this set of changes
resolves all remaining flake8 conditions for th

Post black reformatting

Applied on top of a pure run of black -l 79 in
I7eda77fed3d8e73df84b3651fd6cfcfe858d4dc9, this set of changes
resolves all remaining flake8 conditions for those codes
we have enabled in setup.cfg.

Included are resolutions for all remaining flake8 issues
including shadowed builtins, long lines, import order, unused
imports, duplicate imports, and docstring issues.

Change-Id: I4f72d3ba1380dd601610ff80b8fb06a2aff8b0fe

show more ...


# 1e1a38e7 05-Jan.-2019 Mike Bayer <mike_mp@zzzcomputing.com>

Run black -l 79 against all source files

This is a straight reformat run using black as is, with no edits
applied at all.

The black run will format code consistently, however in

Run black -l 79 against all source files

This is a straight reformat run using black as is, with no edits
applied at all.

The black run will format code consistently, however in
some cases that are prevalent in SQLAlchemy code it produces
too-long lines. The too-long lines will be resolved in the
following commit that will resolve all remaining flake8 issues
including shadowed builtins, long lines, import order, unused
imports, duplicate imports, and docstring issues.

Change-Id: I7eda77fed3d8e73df84b3651fd6cfcfe858d4dc9

show more ...


# 404e6942 05-Jan.-2019 Mike Bayer <mike_mp@zzzcomputing.com>

Assorted pre-Black fixes

Fixes to the test suite, a few errant imports, and setup.py:

- mysql and postgresql have unused 'json' imports; remove
- postgresql is exporting the 'js

Assorted pre-Black fixes

Fixes to the test suite, a few errant imports, and setup.py:

- mysql and postgresql have unused 'json' imports; remove
- postgresql is exporting the 'json' symbol, remove
- make sure setup.py can find __version__ using " or '
- retry logic in provision create database for postgresql fixed
- refactor test_magazine to use cls.tables rather than globals
- remove unused class in test_scoping
- add a comment to test_deprecations that this test suite itself
is deprecated
- don't use mapper() and orm_mapper() in test_unitofwork, just
use mapper()
- remove dupe test_scalar_set_None test in test_attributes
- Python 2.7 and above includes unittest.SkipTest, remove pre-2.7
fallback
- use imported SkipTest in profiling
- declarative test_reflection tests with "reflectable_autoincrement"
already don't run on oracle or firebird; remove conditional logic
for these, which also removes an "id" symbol
- clean up test in test_functions, remove print statement
- remove dupe test_literal_processor_coercion_native_int_out_of_range
in test/sql/test_types.py
- fix psycopg2_hstore ref

Change-Id: I7b3444f8546aac82be81cd1e7b6d8b2ad6834fe6

show more ...


# 664290ab 02-Nov.-2018 Mike Bayer <mike_mp@zzzcomputing.com>

- block py.test 3.9.1 and 3.9.2, 3.9.3 is OK

Change-Id: I35ecd78b92ea420ef7909de65f82e005b92bf986


# 580d1144 24-Oct.-2018 Mike Bayer <mike_mp@zzzcomputing.com>

Pin pytest *before* 3.9.1 totally

Unfortunately they have released
3.9.2 before fixing issue 4181, which means we will have to
re-pin a third time after they eventually release with

Pin pytest *before* 3.9.1 totally

Unfortunately they have released
3.9.2 before fixing issue 4181, which means we will have to
re-pin a third time after they eventually release with
a fix

Change-Id: I9b6fab1b535f883a035f002264c41ad0166790ab
Reference: https://github.com/pytest-dev/pytest/issues/4181

show more ...


# b4d42a84 17-Oct.-2018 Mike Bayer <mike_mp@zzzcomputing.com>

block py.test 3.9.1

references:

https://github.com/pytest-dev/pytest/issues/4181

Change-Id: I216fde19dd0f5c4910d76c08400f2329b09ad584


# fb9f4c4d 26-Aug.-2018 Hugo <hugovk@users.noreply.github.com>

Add python_requires and update classifiers

- bump minimum Python 3 version to 3.4 in docs
- set up setup.py classifiers to cover 2.7, 3.4, 3.5, 3.6, 3.7 explicitly
- add python_requi

Add python_requires and update classifiers

- bump minimum Python 3 version to 3.4 in docs
- set up setup.py classifiers to cover 2.7, 3.4, 3.5, 3.6, 3.7 explicitly
- add python_requires

These are also the ones supported by the core Python team.
https://en.wikipedia.org/wiki/CPython#Version_history

Change-Id: I2ffa632c73c39bf38ba9d8b5dcc86d552b61aa68
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/468

show more ...


# 5469dd1b 18-Jul.-2018 Alex Rothberg <agrothberg@gmail.com>

Add `postgresql_psycopg2binary` install extra that installs `psycopg2-binary`

Fixes: #4306
Change-Id: I26edc1a4ac8a7f9f3f258bb03009ebfa4cc00e1a
Pull-request: https://github.com/zzzee

Add `postgresql_psycopg2binary` install extra that installs `psycopg2-binary`

Fixes: #4306
Change-Id: I26edc1a4ac8a7f9f3f258bb03009ebfa4cc00e1a
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/465

show more ...


# ef78334c 18-Jun.-2018 Mike Bayer <mike_mp@zzzcomputing.com>

Add oracle, mssql to profiling

As we are changing Oracle typing *again*, we should start tracking
if we trip over a big performance hit on the unicode stuff.

Change-Id: I72719cc

Add oracle, mssql to profiling

As we are changing Oracle typing *again*, we should start tracking
if we trip over a big performance hit on the unicode stuff.

Change-Id: I72719cca4b9424171b32e1f2e58d655426e3bbba

show more ...


# 2c594da2 14-Aug.-2017 Mike Bayer <mike_mp@zzzcomputing.com>

Isolate memory tests in forks

Swing the biggest hammer, run multiprocessing.Process() for
each memusage test individually so that they are fully isolated
from the parent process and

Isolate memory tests in forks

Swing the biggest hammer, run multiprocessing.Process() for
each memusage test individually so that they are fully isolated
from the parent process and any side effects of pytest-xdist

Also add --nomemory as a shortcut to exclude_tags=memory-intensive
and add this to the setup.py test runner as the memory tests
should not be running for quick runs

Change-Id: I3c16c781e21b33deb939a64e77a6e0e41fb86922

show more ...


# 1da9d375 10-Mar.-2017 Mike Bayer <mike_mp@zzzcomputing.com>

- bump minimum python version to 2.7
- add placeholder 1.2 release documentation, update intro numbers

Change-Id: I9f9969cbb9e95c2f750a5c16798e92c35a5ef6cf


# f2028dc5 17-Jan.-2017 Mike Bayer <mike_mp@zzzcomputing.com>

- further changes to avoid pytest warnings

Change-Id: Ia83a996ff97a6ba54a0666a32241e570f3852ab4


12345