]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Switch to cython pure python mode
authorFederico Caselli <cfederico87@gmail.com>
Sat, 23 Sep 2023 21:39:42 +0000 (23:39 +0200)
committerFederico Caselli <cfederico87@gmail.com>
Mon, 25 Mar 2024 22:44:27 +0000 (23:44 +0100)
commit0be89aaa38d06a9beced7f1bfe2987f4b6afebb8
treec951ec9e5b5ed37f422a747fbe7f0f21bd8f3004
parente6ad64b1eb29607baf0f456a77fcf0eb337cb313
Switch to cython pure python mode

Replaces the pyx files with py files that can be both compiled
by cython or imported as is by python.
This avoids the need of duplicating the code to have a python
only fallback.
The cython files are also reorganized to be in the module they use
instead of all being in the cyextension package, that has been
removed.

The performance is pretty much equal between main and this change.
A detailed comparison is at this link
https://docs.google.com/spreadsheets/d/1jkmGpnCyEcPyy6aRK9alElGjxlNHu44Wxjr4VrD99so/edit?usp=sharing

Change-Id: Iaed232ea5dfb41534cc9f58f6ea2f912a93263af
45 files changed:
.gitignore
MANIFEST.in
doc/build/conf.py
lib/sqlalchemy/cyextension/.gitignore [deleted file]
lib/sqlalchemy/cyextension/__init__.py [deleted file]
lib/sqlalchemy/cyextension/collections.pyx [deleted file]
lib/sqlalchemy/cyextension/immutabledict.pxd [deleted file]
lib/sqlalchemy/cyextension/immutabledict.pyx [deleted file]
lib/sqlalchemy/cyextension/processors.pyx [deleted file]
lib/sqlalchemy/cyextension/resultproxy.pyx [deleted file]
lib/sqlalchemy/cyextension/util.pyx [deleted file]
lib/sqlalchemy/engine/_processors_cy.py [new file with mode: 0644]
lib/sqlalchemy/engine/_py_processors.py [deleted file]
lib/sqlalchemy/engine/_py_row.py [deleted file]
lib/sqlalchemy/engine/_py_util.py [deleted file]
lib/sqlalchemy/engine/_row_cy.py [new file with mode: 0644]
lib/sqlalchemy/engine/_util_cy.py [new file with mode: 0644]
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/engine/processors.py
lib/sqlalchemy/engine/result.py
lib/sqlalchemy/engine/row.py
lib/sqlalchemy/engine/util.py
lib/sqlalchemy/orm/collections.py
lib/sqlalchemy/sql/_py_util.py [deleted file]
lib/sqlalchemy/sql/_util_cy.py [new file with mode: 0644]
lib/sqlalchemy/sql/visitors.py
lib/sqlalchemy/testing/plugin/pytestplugin.py
lib/sqlalchemy/util/_collections.py
lib/sqlalchemy/util/_collections_cy.py [new file with mode: 0644]
lib/sqlalchemy/util/_has_cy.py [deleted file]
lib/sqlalchemy/util/_has_cython.py [new file with mode: 0644]
lib/sqlalchemy/util/_immutabledict_cy.py [new file with mode: 0644]
lib/sqlalchemy/util/_py_collections.py [deleted file]
lib/sqlalchemy/util/cython.py [new file with mode: 0644]
lib/sqlalchemy/util/langhelpers.py
pyproject.toml
setup.py
test/aaa_profiling/test_memusage.py
test/base/test_result.py
test/base/test_utils.py
test/engine/test_processors.py
test/perf/compiled_extensions.py
test/profiles.txt
tools/cython_imports.py [new file with mode: 0644]
tox.ini