Skip to content

Commit 97625ab

Browse files
authored
Apply updates for CRDB v26.1 (cockroachdb#292)
Also: - Fix compatibility issues with Alembic 1.18 (via SQLA 2.0.47) - Update minimum Python version to 3.10
1 parent d57d176 commit 97625ab

File tree

14 files changed

+87
-208
lines changed

14 files changed

+87
-208
lines changed

.github/workflows/ci.yml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,41 +24,40 @@ jobs:
2424
if: ${{ always() }}
2525
runs-on: ubuntu-latest
2626
name: Test Results
27-
needs: [test-py39]
27+
needs: [test-py310]
2828
steps:
2929
- run: |
30-
result="${{ needs.test-py39.result }}"
30+
result="${{ needs.test-py310.result }}"
3131
if [[ $result == "success" || $result == "skipped" ]]; then
3232
exit 0
3333
else
3434
exit 1
3535
fi
3636
37-
test-py39:
37+
test-py310:
3838
runs-on: ubuntu-latest
3939
strategy:
4040
fail-fast: false
4141
matrix:
4242
crdb-version: [
43-
"cockroach:latest-v24.1",
4443
"cockroach:latest-v24.3",
4544
"cockroach:latest-v25.2",
46-
"cockroach:latest-v25.3",
47-
"cockroach:latest-v25.4"
45+
"cockroach:latest-v25.4",
46+
"cockroach:latest-v26.1"
4847
]
4948
db-alias: [
5049
"psycopg2",
5150
"asyncpg",
5251
"psycopg"
5352
]
5453
env:
55-
TOXENV: py39
56-
TOX_VERSION: 3.23.1
54+
TOXENV: py310
55+
TOX_VERSION: 4.34.1
5756
steps:
5857
- uses: actions/checkout@v4
5958
- uses: actions/setup-python@v5
6059
with:
61-
python-version: '3.9'
60+
python-version: '3.10'
6261
- name: Start CockroachDB
6362
run: |
6463
docker pull cockroachdb/${{ matrix.crdb-version }}
@@ -75,13 +74,13 @@ jobs:
7574
lint:
7675
runs-on: ubuntu-latest
7776
env:
78-
TOXENV: py39
79-
TOX_VERSION: 3.23.1
77+
TOXENV: py310
78+
TOX_VERSION: 4.34.1
8079
steps:
8180
- uses: actions/checkout@v4
8281
- uses: actions/setup-python@v5
8382
with:
84-
python-version: '3.9'
83+
python-version: '3.10'
8584
- name: Install testrunner
8685
run: pip install --user tox==${TOX_VERSION}
8786
- name: Lint

CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ Unreleased
44
- Fix reflection of CHAR columns (#275)
55
- Fix reflection of TIMESTAMPTZ columns (#276), thanks to @nvachhar
66
- Fix reflection of JSONB columns (#277)
7+
- Fix compatibility issues with Alembic 1.18 (via SQLA 2.0.47)
8+
- Update minimum Python version to 3.10
79

810

911
# Version 2.0.3

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ Use `pip` to install the latest release of this dialect.
4848
pip install sqlalchemy-cockroachdb
4949
```
5050

51-
NOTE: This version of the dialect requires SQLAlchemy 2.0 or later. To work with
51+
NOTE: This version of the dialect requires SQLAlchemy 2.0.x. To work with
5252
earlier versions of SQLAlchemy you'll need to install an earlier version of this
5353
dialect.
5454

5555
```
56-
pip install sqlalchemy-cockroachdb<2.0.0
56+
pip install "sqlalchemy-cockroachdb<2.0"
5757
```
5858

5959
Use a `cockroachdb` connection string when creating the `Engine`. For example,

dev-requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# generated dev-requirements.txt), run make update-requirements,
55
# then make bootstrap.
66

7-
tox==3.23.1
7+
tox==4.34.1
88

99
# Twine is used in the release process to upload the package.
1010
twine

dev-requirements.txt

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,107 @@
1-
certifi==2025.11.12
1+
backports-tarfile==1.2.0
2+
# via jaraco-context
3+
cachetools==7.0.1
4+
# via tox
5+
certifi==2026.1.4
26
# via requests
37
cffi==2.0.0
48
# via cryptography
9+
chardet==6.0.0.post1
10+
# via tox
511
charset-normalizer==3.4.4
612
# via requests
13+
colorama==0.4.6
14+
# via tox
715
cryptography==46.0.5
816
# via secretstorage
917
distlib==0.4.0
1018
# via virtualenv
11-
docutils==0.22.3
19+
docutils==0.22.4
1220
# via readme-renderer
13-
filelock==3.20.3
21+
filelock==3.24.3
1422
# via
1523
# tox
1624
# virtualenv
17-
id==1.5.0
25+
id==1.6.1
1826
# via twine
1927
idna==3.11
2028
# via requests
29+
importlib-metadata==8.7.1
30+
# via keyring
2131
jaraco-classes==3.4.0
2232
# via keyring
23-
jaraco-context==6.0.1
33+
jaraco-context==6.1.0
2434
# via keyring
25-
jaraco-functools==4.3.0
35+
jaraco-functools==4.4.0
2636
# via keyring
2737
jeepney==0.9.0
2838
# via
2939
# keyring
3040
# secretstorage
3141
keyring==25.7.0
3242
# via twine
33-
markdown-it-py==3.0.0
43+
markdown-it-py==4.0.0
3444
# via rich
3545
mdurl==0.1.2
3646
# via markdown-it-py
3747
more-itertools==10.8.0
3848
# via
3949
# jaraco-classes
4050
# jaraco-functools
41-
nh3==0.3.2
51+
nh3==0.3.3
4252
# via readme-renderer
43-
packaging==25.0
53+
packaging==26.0
4454
# via
55+
# pyproject-api
4556
# tox
4657
# twine
47-
platformdirs==4.4.0
48-
# via virtualenv
58+
platformdirs==4.9.2
59+
# via
60+
# tox
61+
# virtualenv
4962
pluggy==1.6.0
5063
# via tox
51-
py==1.11.0
52-
# via tox
53-
pycparser==2.23
64+
pycparser==3.0
5465
# via cffi
5566
pygments==2.19.2
5667
# via
5768
# readme-renderer
5869
# rich
70+
pyproject-api==1.10.0
71+
# via tox
5972
readme-renderer==44.0
6073
# via twine
6174
requests==2.32.5
6275
# via
63-
# id
6476
# requests-toolbelt
6577
# twine
6678
requests-toolbelt==1.0.0
6779
# via twine
6880
rfc3986==2.0.0
6981
# via twine
70-
rich==14.2.0
82+
rich==14.3.3
7183
# via twine
72-
secretstorage==3.3.3
84+
secretstorage==3.5.0
7385
# via keyring
74-
six==1.17.0
75-
# via tox
76-
toml==0.10.2
77-
# via tox
78-
tox==3.23.1
86+
tomli==2.4.0
87+
# via
88+
# pyproject-api
89+
# tox
90+
tox==4.34.1
7991
# via -r dev-requirements.in
8092
twine==6.2.0
8193
# via -r dev-requirements.in
94+
typing-extensions==4.15.0
95+
# via
96+
# cryptography
97+
# tox
98+
# virtualenv
8299
urllib3==2.6.3
83100
# via
101+
# id
84102
# requests
85103
# twine
86-
virtualenv==20.36.1
104+
virtualenv==20.39.0
87105
# via tox
106+
zipp==3.23.0
107+
# via importlib-metadata

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ addopts = "--tb native -v -r sfxX --maxfail=250 -p warnings -p logging --strict-
66
markers = [
77
"backend: tests that should run on all backends; typically dialect-sensitive",
88
"mypy: mypy integration / plugin tests",
9+
"sparse_driver_backend: tests that should run on just one kind of driver for each kind of db",
910
]

setup.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@
2323
"License :: OSI Approved :: Apache Software License",
2424
"Programming Language :: Python :: 3",
2525
"Programming Language :: Python :: 3 :: Only",
26-
"Programming Language :: Python :: 3.8",
27-
"Programming Language :: Python :: 3.9",
2826
"Programming Language :: Python :: 3.10",
2927
"Programming Language :: Python :: 3.11",
28+
"Programming Language :: Python :: 3.12",
29+
"Programming Language :: Python :: 3.13",
30+
"Programming Language :: Python :: 3.14",
3031
],
3132
keywords="SQLAlchemy CockroachDB",
3233
project_urls={
@@ -36,7 +37,7 @@
3637
},
3738
packages=find_packages(include=["sqlalchemy_cockroachdb"]),
3839
include_package_data=True,
39-
install_requires=["SQLAlchemy"],
40+
install_requires=["SQLAlchemy>=2.0.47,<2.1"],
4041
zip_safe=False,
4142
entry_points={
4243
"sqlalchemy.dialects": [

0 commit comments

Comments
 (0)