I’ve released a new1 toolkit for running checks, similar to Ruff and Flake8
but designed to check configuration, called repo-review. It requires Python
3.10+2 to run and has no built-in checks, but is easy to write plugins for. A
set of checks based on the Scientific Python Development Guide (which I also
have a post about!) are available as a plugin, sp-repo-review
.
You can run repo-review
in WebAssembly (via Pyodide), or in pre-commit, or as a
GitHub Action. It supports multiple output formats, including Rich, HTML, and JSON.
The system is based on fixtures (like pytest) and topologically sorts requirements.
You don’t need to depend on repo-review to add a repo-review plugin. You can see
a live version using sp-repo-review in-place here
or standalone here.
Python 3.12
Python 3.12’s beta’s are out, which means the features are locked in. The theme
this year has been cleanup and typing. distutils
has been removed, and
setuptools is no longer present in default environments.
🎡 cibuildwheel 2.10
cibuildwheel 2.10 is out, with some important additions. PEP 517 config
settings added, --only
(which has an interesting use in GHA), and Cirrus CI
support (including our first Apple Silicon native runner!) are highlights. We
also support Python 3.11 now (as of 2.11.2, RC’s in older releases).
We’ve had some fantastic releases of cibuildwheel this year, including some very powerful features you might be interested in using, and I haven’t covered releases since 2.2, so let’s take an in-depth look at what’s new for this and the last few releases!
[Read More]Python 3.10
Python 3.10 is out (and has been for a while, I’m late posting this), with new features and changes. The big new language feature this update is pattern matching. We get much better errors, the always-present typing improvements, and finally some real usage of the new PEG parser from 3.9.
[Read More]Python 3.11
Python 3.11 has hit the beta (now released!) stage, which means no more new features. It’s a perfect time to play with it! The themes in this update are the standard ones: The faster CPython project is now fully going (3.11 is 25% faster on average), along with improved error messages, typing, and asyncio. Beyond this, the only major new feature is a library for reading TOML files; this probably only exciting if you are involved in Python packaging (but I am, so I’m excited!).
[Read More]Python 3.7
Python 3.7 has been out for a while. In fact, it’s the oldest version of Python still receiving support when this was written. I’d still like to write a “what’s new”, targeting users who are upgrading to a Python 3.7+ only codebase, and want to know what to take advantage of!
[Read More]