Skip to content

Bump version to 1.9.4 for NumPy 2 / Linux sdist fix - #1

Closed
IncubatorShokuhou wants to merge 1 commit into
masterfrom
cursor/numpy2-linux-build-859a
Closed

IncubatorShokuhou wants to merge 1 commit into
masterfrom
cursor/numpy2-linux-build-859a

Conversation

@IncubatorShokuhou

@IncubatorShokuhou IncubatorShokuhou commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

Target: this bump is meant for upstream CyanideCN/PyCINRAD. Open the cross-repo PR from:

https://github.com/CyanideCN/PyCINRAD/compare/master...IncubatorShokuhou:PyCINRAD:cursor/numpy2-linux-build-859a?expand=1

(The automation here can only open a PR on this fork; the branch is already pushed and is 1 commit ahead of upstream master.)


Why

#147 (94adb2b) already fixed Linux source builds:

  • add pyproject.toml with setuptools / numpy / cython build-system requires
  • always Cythonize .pyx (no vendored .c fallback)

That is unreleased. Git master is still 1.9.3. PyPI latest is also 1.9.3 (2026-01-02), which predates the CyanideCN#147 merge (2026-05-26). On Linux there are no manylinux wheels, so pip install cinrad still downloads the broken sdist.

This PR only bumps 1.9.3 → 1.9.4 in the same three places as previous releases (cinrad/__init__.py, setup.py, docs/conf.py) so a tagged PyPI release can ship the fix. No functional code changes. 1.9.4 would also include already-merged CyanideCN#148 and CyanideCN#149.

PyPI still broken (verified)

python3 -m venv /tmp/pypi-broken && . /tmp/pypi-broken/bin/activate
pip install 'numpy>=2,<3'
pip install cinrad==1.9.3

FAIL (pypi_install_exit=1):

Getting requirements to build wheel did not run successfully.
ModuleNotFoundError: No module named 'numpy'

PyPI 1.9.3 files: Windows cp310–cp314 wheels + cinrad-1.9.3.tar.gz only. No Linux wheel.

Current master works (verified on Linux / Python 3.12 / NumPy 2.5.3)

HEAD tested: ca9ccd9 (use fmax to calc (#148)), which includes CyanideCN#147.

A. Isolated python -m build (sdist + wheel)

Clean venv with only build (no numpy). PEP 517 isolation installed cython==3.3.0, numpy==2.5.3, setuptools==84.0.0.

python3 -m venv /tmp/build-env
/tmp/build-env/bin/pip install build
/tmp/build-env/bin/python -m build

PASS — cinrad-1.9.3.tar.gz + cinrad-1.9.3-cp312-cp312-linux_x86_64.whl. Sdist contains pyproject.toml; setup.py uses ext_suffix = ".pyx".

B. Install wheel into a clean NumPy 2 venv

python3 -m venv /tmp/np2-wheel
/tmp/np2-wheel/bin/pip install 'numpy>=2,<3' pytest
/tmp/np2-wheel/bin/pip install --no-deps dist/cinrad-1.9.3-cp312-cp312-linux_x86_64.whl
# plus runtime deps: xarray scipy matplotlib cartopy pyshp vanadis metpy cinrad_data

From a directory outside the repo (so sys.path does not pick up the source tree):

Check Result
import cinrad PASS (1.9.3, site-packages; _utils / _unwrap_2d .so loaded)
pytest test/ PASS 10 passed
VIL / echo_top / unwrap_2d smoke PASS (cython VIL/ET match expected + py fallback; unwrap finite)

C. pip install the built sdist (Linux-from-source path)

python3 -m venv /tmp/np2-sdist
/tmp/np2-sdist/bin/pip install 'numpy>=2,<3' pytest
/tmp/np2-sdist/bin/pip install dist/cinrad-1.9.3.tar.gz   # PEP 517 isolated rebuild

PASS — wheel rebuilt; import cinrad OK; pytest 10 passed; extension smoke OK on NumPy 2.5.3.

Workaround until 1.9.4 is on PyPI

pip install git+https://github.com/CyanideCN/PyCINRAD.git

or pip install . from a clone (uses pyproject.toml).

Request

Please tag v1.9.4 and upload a new sdist (and wheels if convenient). Linux users currently cannot pip install cinrad under modern pip + NumPy 2. I did not add a CHANGELOG file because the repo has never kept one.

Open in Web Open in Cursor 

Unreleased master already includes CyanideCN#147 (PEP 517 pyproject.toml + force
Cython .pyx builds), which fixes Linux sdist installs under NumPy 2.
PyPI is still 1.9.3. Bump version so a source/wheel release can ship
the fix; no other code changes.

Co-authored-by: Hao Lyu <IncubatorShokuhou@users.noreply.github.com>
@cursor
cursor Bot deleted the cursor/numpy2-linux-build-859a branch September 16, 2026 08:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants