Advertisement · 728 × 90

Posts by Henry Schreiner

Preview
Release 26.1 · pypa/packaging Features: PEP 783: add handling for Emscripten wheel tags by @hoodmane in #804 PEP 803: add handling for the abi3.abi3t free-threading tag by @ngoldbaum in #1099 PEP 723: add packaging.dependency_...

Packaging 26.1 out! Another huge release, with lots of great stuff, like pyemscripten wheels, free-threading stable ABI, dependency-groups, direct-urls, more pylock, & key for filter. Benchmarking, property-based testing, 2x faster performance in places! github.com/pypa/packagi...

6 days ago 0 0 0 0
Preview
Release 2026.04.10 🧹 · wntrblm/nox This release drops Python 3.8 and adds a --usage command for full docstrings. Our .nox dir is now ignored by default, virtualenvs are recreated if symlinks are broken (such as after a Python upgrad...

I've just released nox 2026.04.10, with --usage (full docstrings), auto-ignored `.nox` folder, and several great fixes, like auto-recreating environment if Python symlinks are broken and `-t` selecting tags from all sessions. Enjoy! github.com/wntrblm/nox/...

1 week ago 2 0 0 0

Great release of pip with 26.0! Colorful --help, --requirements-from-script, --uploaded-prior-to, and all the performance optimization work we did on packaging 26.0! New build environment option, too.

2 months ago 4 0 0 0
Preview
Release 26.0 · pypa/packaging Read about the performance improvements here: https://iscinumpy.dev/post/packaging-faster. What's Changed Features: PEP 751: support pylock by @sbidoul in #900 PEP 794: import name metadata by @br...

Packaging 26.0 is out! Hopefully in time for pip 26.0. :) github.com/pypa/packagi...

2 months ago 2 0 0 0
Preview
How we made Python's packaging library 3x faster Along with a pip (and now packaging) maintainer, Damian Shaw, I have been working on making packaging, the library behind almost all packaging related tools, faster at reading versions and specifiers,...

On behalf of the packaging maintainers, I’d like to announce packaging 26.0rc1 is out! Please try it out, as it's a huge release. If you'd like to read about the performance work making this the fastest version of packaging ever, see my post:
iscinumpy.dev/post/packagi...

3 months ago 24 8 2 2
Preview
Advent of Code 2025 in Typescript After two years of Advent of Code in Rust, I thought I’d try TypeScript. I’ve always wanted to improve repo-review’s webapp, and that requires knowledge of the packaging systems for JavaScript, so I t...

I've written a post about my experience learning TypeScript and using AI for this year's Advent of Code (after learning Rust the last two years). iscinumpy.dev/post/aoc-2025 Merry Christmas!

3 months ago 2 0 0 0
Preview
PEP 808 – Partially dynamic project metadata | peps.python.org This PEP relaxes the constraint on dynamic metadata listed in the [project] section in pyproject.toml to allow the static portion of mixed metadata to be defined in the normal location if the field is...

Partially dynamic project metadata: peps.python.org/pep-0808

5 months ago 0 0 0 0
Preview
Release v3.3.0 · pypa/cibuildwheel 🐛 Fix an incompatibility with Docker v29 (#2660) ✨ Adds test-runtime option, to customise how tests on simulated/emulated environments are run (#2636) ✨ Adds support for new manylinux_2_35 images o...

cibuildwheel 3.3 out! Fix for docker 29 changing the capitalization of the version output, but also runner customization (for iOS on GHA macos-15), manylinux_2_35 on armv7l, build[uv] support on Android, removed build-system constraints, and more! github.com/pypa/cibuild...

5 months ago 1 0 0 0
Preview
UHI 1.0: histogram serialization UHI 1.0 is out, with a major new feature: a new histogram serialization spec! This spec supports multiple formats (HDF5, zip, and JSON initially), and can be supported by multiple libraries (Boost-his...

I've just finished uhi 1.0, following boost-histogram 1.6 and hist 2.9, with support for serializing histograms into JSON/ZIP/HDF5. There's also a new testing helper (libraries implementing UHI can get dozens of tests with a few lines), and much more! iscinumpy.dev/post/uhi-1-0/

8 months ago 0 0 0 0
Advertisement
Preview
Release v3.1.4 · pypa/cibuildwheel ✨ Add a --clean-cache command to clean up our cache (#2489) 🛠 Update Python to 3.14rc2 and other patch version bumps (#2542, #2556) 🛠 Update Pyodide to 0.28.2 (#2562, #2558) 🐛 Fix resolution with p...

cibuildwheel π is out! (3.1.4). A few nice things, like --clean-cache, Android fixes, and new versions of things like CPython 3.14rc2. Note for iOS on GHA/Azure, you need macOS-14, Microsoft broke macOS-15 images for iOS (WRT CPython's test runner, anyway) github.com/pypa/cibuild...

8 months ago 1 1 0 0

PSA: You can't use `pip install -U pip` to upgrade to pip 25.2 on Windows. You have to use `python -m pip install -U pip`. That's always been better, but now the entrypoint scripts were optimized to be faster (I've wanted this for years!), Windows doesn't PIP.EXE modify itself!

8 months ago 0 0 0 0

NumPy picked it up and released 3.14(t) wheels within hours! (Largely due to the scientific python nightly wheels having them for a long time now!) Time to start producing those 3.14 wheels!

8 months ago 0 0 0 0
Preview
Release v3.1.0 · pypa/cibuildwheel 🌟 CPython 3.14 wheels are now built by default - without the "cpython-prerelease" enable set. It's time to build and upload these wheels to PyPI! This release includes CPython 3.14.0rc1, which is g...

We just released cibuildwheel 3.1, which builds Python 3.14/3.14t wheels by default (with yesterday's RC 1)! Also we added Android support, Pyodide 0.28 (3.13), 32-bit modern manylinux, riscv64 defaults, and beautiful new summaries! github.com/pypa/cibuild...

8 months ago 1 0 1 0
Preview
pybind11 3.0.0 Pybind11 3.0 has been released! I would like to highlight some of the key changes below; be sure to check out the changelog and upgrade guide for more information! This release includes an ABI bump, t...

pybind11 3.0 is out (in time for #scipy2025)! Support for Python 3.14, 3.14t, GraalPy, PyPy 3.11, and iOS have been added. smart-holder merged, native enums, multiphase init, subinterpreters (with per-interp GIL), better typing, C++23, and much more! See iscinumpy.dev/post/pybind1...

9 months ago 1 0 0 0
Preview
Python π Python π (3.14) beta 3 is out, which means the features are locked in (normally beta 1, but two additions were made exceptionally in beta 3!). The big feature this time around is template strings. The...

I've updated my Python 3.14 post with the new additions in 3.14.0b3: free-threading is no longer experimental, and concurrent.interpreters has been added! I've added a couple of examples: iscinumpy.dev/post/python-...

10 months ago 3 1 0 0
Preview
🎡 cibuildwheel 3.0 cibuildwheel 3.0.0 is out, with some very big additions. We’ve added GraalPy, Python 3.14 (and 3.14t) betas, and iOS support! We’ve got several new options: test-sources, test-environment, and (experi...

cibuildwheel 3.0 is out! New support for Python 3.14 (and 3.14t) betas, GraalPy, and iOS! New defaults, new config options, beautiful docs updates, and more! iscinumpy.dev/post/cibuild...

10 months ago 1 1 0 0

If you are updating for Python π (Python 3.14) and are using argparse, remember to conditionally add `color=True` and, if using choices or subcommands, `suggest_on_error=True`!

11 months ago 0 0 0 0
Preview
Python π Python π (3.14) beta 1 is out, which means the features are locked in.

The beta is out, so it's time for What's new in Python π: iscinumpy.dev/post/python-... (also it's time to start adding it to CI and adding classifiers if it works!)

11 months ago 2 0 0 0
Topical Guides This guide is maintained by the scientific Python community for the benefit of fellow scientists and research software engineers.

The Scientific-Python Development Guide has been updated with SPDX licenses (PEP 639) and dependency-groups (PEP 735)! There's more uv, too; the cookiecutter/copier template now sets up uv everywhere for ultra fast CI. New repo-review checks, too. learn.scientific-python.org/development/...

11 months ago 2 1 0 0
Advertisement

I've just released nox 2025.05.01 with support for uv 0.7+! Lots of other small fixes and polish. Sorry for the breakage, but uv broke accessing the version of uv without warning. And you need the version of uv to know which method to use to get the version. 🤣

11 months ago 0 0 0 0

And cliutils.gitlab.io/modern-cmake is updated for 4.0, as usual. :)

1 year ago 2 0 0 0
Preview
cmake CMake is an open-source, cross-platform family of tools designed to build, test and package software

I've just released the #Python wheels for today's release of #CMake 4.0! pypi.org/project/cmake/ Remember to set your CMake minimum version to at least 3.5 (3.15 or better preferred) and set a maximum version too (newer CMake follows the policies of the maximum version) #release

1 year ago 2 0 1 0

Actually, this was postponed till 2026 in 78.0.2, so it's fine for now. (No one reads build warnings, in fact pip hides them by default.) I'll probably add this as a repo-review check.

Another nice workaround anyway, though:

[tool.uv]
exclude-newer = "2025-03-24T00:00:00Z"

1 year ago 0 0 0 0

If you have an issue with a dependency breaking due to setuptools 78's setup.cfg change, and you use uv, it's just:

[tool.uv]
build-constraint-dependencies = ["setuptools<78"]

to fix. Otherwise:

echo "setuptools<78" > constraints.txt
PIP_CONSTRAINT=constrants.txt pip ...

1 year ago 2 0 1 0
Preview
Release Version 0.11.0 · scikit-build/scikit-build-core This version adds support for PEP 639 (license expressions) and updates the default METADATA version 2.2. Support for Python 3.7 has been removed. You can use build.requires to inject build require...

Scikit-build-core 0.11 is out, with PEP 639 support (license expressions and files), METADATA 2.2+ as the default (supporting faster SDist metadata access for tools like uv), and quite a few smaller additions and expanded configurability. github.com/scikit-build...

1 year ago 2 0 0 0
Release Version 2.5.0: Formatter · CLIUtils/CLI11 This version add a new formatter with improved control capabilities and output aligned with standards for help output. It also add a modifier to enable use of non-standard option names. Along with ...

New release of CLI11 out, the most powerful C++ CLI parser! Version 2.5 has a new formatter following UNIX standards more closely (help2man support), non-standard "-flag" opt-in support, and fixes and polish. github.com/CLIUtils/CLI...

1 year ago 0 0 0 0
Advertisement
Repo-Review This guide is maintained by the scientific Python community for the benefit of fellow scientists and research software engineers.

Just released repo-review 0.12, with support for adding skip reasons to configuration! Also has a new --extend-ignore CLI flag. WASM versions updated to show skip reasons: learn.scientific-python.org/development/...

1 year ago 0 0 0 0
Advent of Code 2024

I just completed all 25 days of Advent of Code 2024 (Rust again this year)! #AdventOfCode adventofcode.com

1 year ago 5 0 0 0
Preview
Release Version 2.22.0 · pypa/cibuildwheel 🌟 Added a new CIBW_ENABLE/enable feature that replaces CIBW_FREETHREADED_SUPPORT/free-threaded-support and CIBW_PRERELEASE_PYTHONS with a system that supports both. In cibuildwheel 3, this will als...

I've just released cibuildwheel 2.22, with [dependency-groups] (PEP 735) support, a new simpler enable option, experimental manylinux ARMv7l support, and lots of fixes and updates! This is the final release (other than patches) before cibuildwheel 3.0! github.com/pypa/cibuild... #python

1 year ago 2 0 0 0