crate / sqlalchemy-cratedb

SQLAlchemy dialect for CrateDB.
https://cratedb.com/docs/sqlalchemy-cratedb/
Apache License 2.0
3 stars 2 forks source link

SA20: Evaluate compatibility with SQLAlchemy 2.0 #109

Closed amotl closed 1 year ago

amotl commented 2 years ago

SQLAlchemy 2.0.0b1 Released

The 2.0 series represents over three years of effort towards updating SQLAlchemy's usage model and architectures for modern Python use. The update's origins lie within the three major Python paradigms that came into existence well after SQLAlchemy's first releases in 2006: Python 3, pep-484 typing support, and asyncio. It's also in response to the changing nature of the Python programming community, vastly larger and home to many new developers with higher standards for strictness, ease of use and documentation than was the case sixteen years ago.

[...]

SQLAlchemy 2.0 also finalizes a very large number of API changes first introduced in 1.4. As such, even though SQLAlchemy 1.4 provided a very comprehensive upgrade path, we expect there to be lots of issues within the beginning of the series, both as projects accommodate the changes as well as for users of the new features, in particular the Declarative annotation support. We therefore hope that the beta series will have lots of testing done, and we will likely move from beta releases into release candidates as well, anticipating a 2.0 final release after some months.

-- https://www.sqlalchemy.org/blog/2022/10/13/sqlalchemy-2.0.0b1-released/

What's new?, migration guide, changelog, and release notes

On PyPI

image

-- https://pypi.org/project/SQLAlchemy/#history

amotl commented 2 years ago

After making sure we are on Python 3, the suggested second step of the migration guide is to run the test suite with RemovedIn20Warnings enabled.

# Unit tests tests only (~2 seconds)
SQLALCHEMY_WARN_20=1 ./bin/test -vvv -t SqlAlchemy
# Integration tests (~50 seconds)
SQLALCHEMY_WARN_20=1 ./bin/test -vvv -t sqlalchemy

Here we go. Lot's of stuff to work on. Corresponding patches will be conceived on top of crate/crate-python#464 / amo/doctests-refactoring, and crate/crate-python#485 makes a start by enabling RemovedIn20Warnings and by mitigating all corresponding deprecation warnings.

-- SQLAlchemy migration to 2.0 Step Two - Turn on RemovedIn20Warnings

amotl commented 1 year ago

SQLAlchemy 2.0.0rc1 has been released ^1. With crate/crate-python#488, and a subsequent release, the CrateDB dialect will be compatible with SA20.