Skip to content

Commit da49a7a

Browse files
committed
packages: Update versions and status
Automatically generated by the nightly `check_versions.py` run. Each `- version:` entry below is built by this PR's own `build-<pkg>.yml` run; merging publishes the wheels. Split off from the full nightly-upgrades batch (#1940): next 10 packages (cachebox, caio, casadi, cchardet, clang-format, clickhouse-connect, complexipy, confluent-kafka, contourpy, cramjam), to reduce load on the runner pool. Includes the casadi, cchardet and clickhouse-connect workflow fixes, and the caio/casadi/confluent-kafka patches those need to build. ## Upgrades (10) - **cachebox** v6.2.5 -> v6.2.6 - **caio** v0.12.2 -> v0.12.4 - **casadi** v3.8.0 -> v3.8.1 - **cchardet** v2.1.7 -> v2.2.0, v2.3.0 - **clang-format** v23.1.0 -> v23.1.1 - **clickhouse-connect** v1.7.2 -> v1.8.0 - **complexipy** v8.0.0 -> v8.0.1 - **confluent-kafka** v2.15.0 -> v2.15.1 - **contourpy** v1.3.3 -> v1.4.0 - **cramjam** v2.12.0 -> v2.12.1
1 parent ab05e3f commit da49a7a

18 files changed

Lines changed: 425 additions & 88 deletions

‎.github/workflows/build-casadi.yml‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@ on:
2323
paths:
2424
- '.github/workflows/build-casadi.yml'
2525
- 'docs/packages/casadi.yaml'
26+
- 'patches/casadi/**'
2627
push:
2728
branches: [main]
2829
paths:
2930
- '.github/workflows/build-casadi.yml'
3031
- 'docs/packages/casadi.yaml'
32+
- 'patches/casadi/**'
3133

3234
concurrency:
3335
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -69,6 +71,16 @@ jobs:
6971
submodules: recursive
7072
persist-credentials: false
7173

74+
- name: Checkout python-wheels
75+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
76+
with:
77+
path: python-wheels
78+
persist-credentials: false
79+
80+
- name: Patch casadi source
81+
working-directory: casadi
82+
run: git apply ../python-wheels/patches/casadi/${{ env.CASADI_VERSION }}/*.patch
83+
7284
- name: Build casadi core and cp312-abi3 wheel
7385
run: |
7486
mkdir -p output

‎.github/workflows/build-cchardet.yml‎

Lines changed: 32 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,13 @@ jobs:
5151
CCHARDET_VERSION: ${{ matrix.version }}
5252

5353
steps:
54-
- name: Checkout cChardet ${{ env.CCHARDET_VERSION }}
54+
# Upstream tagged 2.1.7 and earlier bare (2.1.7); starting at 2.2.0 tags
55+
# carry a "v" prefix (v2.2.0, v2.3.0).
56+
- name: Checkout cChardet v${{ env.CCHARDET_VERSION }}
5557
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
5658
with:
5759
repository: PyYoshi/cChardet
58-
ref: ${{ env.CCHARDET_VERSION }}
60+
ref: v${{ env.CCHARDET_VERSION }}
5961
submodules: recursive
6062
persist-credentials: false
6163

@@ -68,10 +70,10 @@ jobs:
6870

6971
- name: Build sdist
7072
id: sdist
71-
# This tag ships no pyproject.toml: setup.py cythonises _cchardet.pyx
72-
# itself whenever Cython is importable, so Cython has to be
73-
# preinstalled with isolation off, or the bundled .cpp is whatever a
74-
# bare `setuptools`+`wheel` env leaves behind (nothing, in practice).
73+
# setup.py cythonises _cchardet.pyx itself whenever Cython is
74+
# importable, so Cython has to be preinstalled with isolation off, or
75+
# the bundled .cpp is whatever a bare `setuptools`+`wheel` env leaves
76+
# behind (nothing, in practice).
7577
run: |
7678
uv pip install cython setuptools wheel build twine
7779
python -m build --sdist --no-isolation
@@ -84,6 +86,18 @@ jobs:
8486
path: dist/*.tar.gz
8587
if-no-files-found: error
8688

89+
# tools/wheel_smoke.py (upstream's own [tool.cibuildwheel] test-command)
90+
# isn't part of the sdist (not listed in MANIFEST.in - that only
91+
# ships what the installable package needs), so carry it separately
92+
# from this checkout rather than freezing a copy into the workflow,
93+
# which would silently drift from upstream on the next version bump.
94+
- name: Upload wheel_smoke.py artifact
95+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
96+
with:
97+
name: cchardet-${{ env.CCHARDET_VERSION }}-smoke
98+
path: tools/wheel_smoke.py
99+
if-no-files-found: error
100+
87101
build_wheels:
88102
needs: [setup, build_sdist]
89103
if: needs.setup.outputs.versions != '[]'
@@ -106,87 +120,18 @@ jobs:
106120
name: cchardet-${{ env.CCHARDET_VERSION }}-sdist
107121
path: dist/
108122

109-
- name: Extract sdist and stage the wheel smoke tests
110-
# Upstream's own suite (src/tests/test.py) uses nose, dead on modern
111-
# Python; this reproduces its checks with plain pytest assertions
112-
# against the same bundled testdata/samples.
123+
- name: Download wheel_smoke.py
124+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
125+
with:
126+
name: cchardet-${{ env.CCHARDET_VERSION }}-smoke
127+
path: smoke/
128+
129+
- name: Extract sdist and stage the wheel smoke test
113130
run: |
114131
mkdir pkg
115132
tar xzf dist/*.tar.gz --strip-components=1 -C pkg
116-
cat > pkg/riscv64_test_cchardet.py <<'EOF'
117-
import glob
118-
import os
119-
120-
import cchardet
121-
122-
TESTDATA_DIR = "pkg/src/tests/testdata"
123-
SAMPLES_DIR = "pkg/src/tests/samples"
124-
125-
SKIP_LIST = [
126-
TESTDATA_DIR + "/ja/utf-16le.txt",
127-
TESTDATA_DIR + "/ja/utf-16be.txt",
128-
TESTDATA_DIR + "/es/iso-8859-15.txt",
129-
TESTDATA_DIR + "/da/iso-8859-1.txt",
130-
TESTDATA_DIR + "/he/iso-8859-8.txt",
131-
]
132-
SKIP_LIST_DECODE = SKIP_LIST + [
133-
TESTDATA_DIR + "/vi/viscii.txt",
134-
TESTDATA_DIR + "/zh/euc-tw.txt",
135-
]
136-
137-
138-
def test_ascii():
139-
assert cchardet.detect(b"abcdefghijklmnopqrstuvwxyz")["encoding"].lower() == "ascii"
140-
141-
142-
def test_detect():
143-
testfiles = glob.glob(TESTDATA_DIR + "/*/*.txt")
144-
assert testfiles
145-
for testfile in testfiles:
146-
if testfile in SKIP_LIST:
147-
continue
148-
expected = os.path.splitext(os.path.basename(testfile))[0]
149-
with open(testfile, "rb") as f:
150-
result = cchardet.detect(f.read())
151-
assert result["encoding"] is not None, testfile
152-
assert result["encoding"].lower() == expected.lower(), (testfile, result)
153-
154-
155-
def test_detector():
156-
detector = cchardet.UniversalDetector()
157-
with open(SAMPLES_DIR + "/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt", "rb") as f:
158-
for line in f:
159-
detector.feed(line)
160-
if detector.done:
161-
break
162-
detector.close()
163-
assert detector.result["encoding"].lower() == "shift_jis"
164-
165-
166-
def test_github_issue_20():
167-
msg = b"\x8f"
168-
cchardet.detect(msg)
169-
detector = cchardet.UniversalDetector()
170-
detector.feed(msg)
171-
detector.close()
172-
173-
174-
def test_decode():
175-
for testfile in glob.glob(TESTDATA_DIR + "/*/*.txt"):
176-
if testfile in SKIP_LIST_DECODE:
177-
continue
178-
with open(testfile, "rb") as f:
179-
msg = f.read()
180-
msg.decode(cchardet.detect(msg)["encoding"])
181-
182-
183-
def test_utf8_with_bom():
184-
assert cchardet.detect(b"\xef\xbb\xbf")["encoding"].lower() == "utf-8-sig"
185-
186-
187-
def test_null_bytes():
188-
assert cchardet.detect(b"ABC\x00\x80\x81")["encoding"] is None
189-
EOF
133+
mkdir -p pkg/tools
134+
cp smoke/wheel_smoke.py pkg/tools/wheel_smoke.py
190135
191136
- name: Build and test wheels
192137
uses: pypa/cibuildwheel@1828c10ab37f080699c7b81cea34097c684a7074 # v4.2.0
@@ -196,10 +141,10 @@ jobs:
196141
only: ${{ matrix.python }}-manylinux_riscv64
197142
env:
198143
CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }}
199-
CIBW_TEST_REQUIRES: pytest
144+
# Mirrors upstream's own [tool.cibuildwheel] test-command/test-sources.
200145
# CIBW_TEST_SOURCES is relative to the cwd, not package-dir, hence "pkg/".
201-
CIBW_TEST_SOURCES: pkg/riscv64_test_cchardet.py pkg/src/tests/testdata pkg/src/tests/samples
202-
CIBW_TEST_COMMAND: python -m pytest pkg/riscv64_test_cchardet.py -v
146+
CIBW_TEST_SOURCES: pkg/tools/wheel_smoke.py
147+
CIBW_TEST_COMMAND: python pkg/tools/wheel_smoke.py
203148

204149
- name: Verify the wheel ships the compiled extension
205150
run: |

‎.github/workflows/build-clickhouse-connect.yml‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,10 @@ jobs:
5555
# Per-interpreter (not abi3), matching upstream's own wheel matrix.
5656
# `test_requires` varies because 3.14 has zstd in the stdlib, and the
5757
# registry ships no free-threaded pandas wheel — so on cp314t the two
58-
# modules that import pandas at module scope are skipped instead.
58+
# modules that import pandas at module scope are skipped instead, and
59+
# (new in 1.8.0) the one test in test_rustnumpy.py that exercises
60+
# rustnumpy's as_pandas=True path (pandas is accessed lazily via
61+
# `options.pd`, so the module itself still collects fine) is deselected.
5962
include:
6063
- python: "cp312"
6164
test_requires: "backports.zstd pandas<3.0.4"
@@ -71,6 +74,7 @@ jobs:
7174
pytest_ignore: >-
7275
--ignore tests/unit_tests/test_driver/test_params.py
7376
--ignore tests/unit_tests/test_driver/test_temporal.py
77+
--deselect tests/unit_tests/test_driver/test_rustnumpy.py::test_time_converter_uses_native_timedelta_dtype
7478
7579
env:
7680
CLICKHOUSE_CONNECT_VERSION: ${{ matrix.version }}

‎docs/packages/cachebox.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ versions:
1818
- filename: cachebox-6.2.5-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
1919
sha256: 3886b608248f45d10498a1dcd5ba5a53414ebb52f9167d58bdb073b3dd81a91f
2020
requires-python: '>=3.10'
21+
- version: 6.2.6

‎docs/packages/caio.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ versions:
1818
- filename: caio-0.12.2-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
1919
sha256: 5d83177ef6d468daca227b31743709741b3b6474e13218e176504bd104bc59ca
2020
requires-python: '>=3.10'
21+
- version: 0.12.4

‎docs/packages/casadi.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ versions:
77
files:
88
- filename: casadi-3.8.0-cp312-abi3-manylinux_2_39_riscv64.whl
99
sha256: cd6e31d008099910f9e27af90e4a64c45f72c930b35503c09d9fdadc2513b54f
10+
- version: 3.8.1

‎docs/packages/cchardet.yaml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ versions:
1313
sha256: 67838f79a8875e031075966675c11a61a335c5182da2bcdc264d98360a89b05f
1414
- filename: cchardet-2.1.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
1515
sha256: 6da91ac27d1f0150a5e9cf07f9f7cde30acbf415f351d2d1978dc9363fa3510a
16+
- version: 2.2.0
17+
- version: 2.3.0

‎docs/packages/clang-format.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ versions:
77
files:
88
- filename: clang_format-23.1.0-py2.py3-none-manylinux_2_36_riscv64.manylinux_2_39_riscv64.whl
99
sha256: ed483901fd9001d15d8ac2b4aefcc820d783b82aad1046600ca4144bcd951bed
10+
- version: 23.1.1

‎docs/packages/clickhouse-connect.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ versions:
1717
- filename: clickhouse_connect-1.7.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl
1818
sha256: c70bbe556cc1c6cf4c8a34429f627a2d25910a2b578f2a0bc6ad4e0a2d3ac845
1919
requires-python: '>=3.10,<3.15'
20+
- version: 1.8.0

‎docs/packages/complexipy.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ versions:
1717
- filename: complexipy-8.0.0-cp314-cp314t-manylinux_2_39_riscv64.whl
1818
sha256: acf0c88246af95c03a919a737ed5a1ef3684c6e7d9f86cf656b45a61e0613806
1919
requires-python: '>=3.8'
20+
- version: 8.0.1

0 commit comments

Comments
 (0)