[Debian-med-packaging] Bug#995781: Bug#995781: python-sqlsoup autopkgtest fails with SQLAlchemy 1.4.23+ds1-2

Étienne Mollier emollier at emlwks999.eu
Fri Oct 8 21:22:57 BST 2021


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 <emollier at emlwks999.eu>
Fingerprint:  8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/2, please excuse my verbosity.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: migrate-to-mapper-events.patch
Type: text/x-diff
Size: 673 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20211008/fb440ff8/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20211008/fb440ff8/attachment.sig>


More information about the Debian-med-packaging mailing list