Hi Michael, Sorry to contact you like this, but since the forge disappeared from bitbucket, we were keeping track of the pypi repository instead, but it hasn't much moved since 2016 [0], and we don't know where else to pull upgrades, report issues, etc. Per chance, do you still happen to work on sqlsoup on some public location?
[0]: https://pypi.org/project/sqlsoup/ There is an impending upgrade of SQLAlchemy from version 1.3 to 1.4 in Debian Testing, but there are a couple of issues which hold the process in Unstable. One of them is that it introduces regressions in our current version of sqlsoup, per Thomas' bug report [1]. [1]: http://bugs.debian.org/995781 Excerpt from the migration test log [2], which basically consist in running `python3 -c "import sqlsoup; print(sqlsoup)"`: Testing with python3.9: Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3/dist-packages/sqlsoup.py", line 11, in <module> from sqlalchemy.orm.interfaces import MapperExtension, EXT_CONTINUE ImportError: cannot import name 'MapperExtension' from 'sqlalchemy.orm.interfaces' (/usr/lib/python3/dist-packages/sqlalchemy/orm/interfaces.py) [2]: https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-sqlsoup/15788076/log.gz I begun to have a peek at the issue and rapidly found changelogs for SQLAchemy [3], but once the first symptom is worked around, I begin pull more hairy issues with relation to functions which were apparently not documented on sqlalchemy side, while running the unit test suite: ====================================================================== ERROR: test_bad_names (tests.test_sqlsoup.SQLSoupTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sqlsoup/build/tests/test_sqlsoup.py", line 105, in tes t_bad_names str(db.bad_names.c.query) File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sqlsoup/build/sqlsoup.py", line 463, in __getattr__ return self.entity(attr) File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sqlsoup/build/sqlsoup.py", line 460, in entity return self.map_to(attr, tablename=attr, schema=schema) File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sqlsoup/build/sqlsoup.py", line 366, in map_to mapped_cls = _class_for_table( File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_sqlsoup/build/sqlsoup.py", line 133, in _class_for_table selectable = expression._clause_element_as_expr(selectable) AttributeError: module 'sqlalchemy.sql.expression' has no attribute '_clause_element_as_expr' [3]: https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-6daf2f59ac2438ef9c8213e9ebeac157 (I wrote a patch, in attachment, to get there, but I am not too happy about it, feels like just a crude workaround to hide the first symptom.) Please let us know if you have time to investigate this, otherwise the sqlsoup package is at risk of being removed from Debian Testing to avoid blocking further the SQLAlchemy upgrade. Kind Regards, -- Étienne Mollier <emoll...@emlwks999.eu> Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/2, please excuse my verbosity.
--- python-sqlsoup.orig/sqlsoup.py +++ python-sqlsoup/sqlsoup.py @@ -8,7 +8,8 @@ from sqlalchemy.orm import scoped_session, sessionmaker, mapper, \ class_mapper, relationship, session,\ object_session, attributes -from sqlalchemy.orm.interfaces import MapperExtension, EXT_CONTINUE +from sqlalchemy.orm.interfaces import EXT_CONTINUE +from sqlalchemy.orm.events import MapperEvents from sqlalchemy.sql import expression import sys @@ -31,7 +32,7 @@ """ -class AutoAdd(MapperExtension): +class AutoAdd(MapperEvents): def __init__(self, scoped_session): self.scoped_session = scoped_session
signature.asc
Description: PGP signature