* optimise unit tests - Cache loading the config TOML
Unit test time: 13.1s -> 10.5s
* optimise unit tests - use the same pyproject validator across the tests
Unit test time: 10.5s -> 5.7s
* optimise unit tests - selector optimisation
Unit test time: 5.7s -> 5.1s
* optimise unit tests - build options computation cache
Unit test time: 5.1s -> 3.2s
* Use functools.cache rather than functools.lru_cache
* Don't overwrite build_options when applying functools.cache
* chore: use SPEC 0 schedule for cibuildwheel
* remove support for {python} and {pip} in commands
* Remove specific Python versions from the update-dependencies job
The requirements pinning is done by uv now, so we don't need to
run the versions of Python to do the pinning anymore.
---------
Co-authored-by: Joe Rickerby <joerick@mac.com>
* feat: add inherit to override
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* refactor: use dict and support prepend
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* Refactor: simplifying by splitting the responsibilities of _dig_first
* Refactor to allow merging of string settings, and preserve table cascades
* docs: add some docs for inherit
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* Apply suggestions from code review
Co-authored-by: Joe Rickerby <joerick@mac.com>
---------
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>