Repository navigation
Releases: dnikolayev/pytest-boorst
Release list
pytest-boorst 0.1.0a9
This alpha adds clearer acceleration diagnostics and optional pytest profiling.
- Show stock fallback reasons and the ten largest observed ID batches with
-v. - Sum xdist worker acceleration counters without controller double counting.
- Verify runtime code as well as source, recognize unchanged implementations within pytest 7/8/9, and preserve callback-time stock behavior.
- Observe collection, test-loop, test phases, and module collection with
--boorst-profile; acceleration still requires explicit enablement. - Add public collection controls and an explicit optimization decision record. Neither public control exercised acceleration, so no project-wide speedup is claimed.
Install into your existing test environment:
uv pip install --no-deps pytest-boorst==0.1.0a9
uv run --no-sync pytest --boorst -q tests/The existing platform CI rebuilds and verifies native wheels, the universal fallback wheel, and the source distribution before publishing to PyPI. See README and RESULTS.md for compatibility boundaries and measurement limits.
pytest-boorst 0.1.0a8
Adds guarded parameter-ID support for pytest 7.4.4 and 8.4.2 while preserving their original behavior. Existing pytest 9 adapters and fallback behavior are retained.
This release adds compatibility; it does not claim a new whole-project speedup.
0.1.0a7: direct pytest opt-in
Install from PyPI with pip or uv, then enable guarded acceleration directly in pytest:
uv pip install --no-deps pytest-boorst==0.1.0a7
uv run --no-sync pytest --boorst -q tests/Or, with your project virtual environment activated:
python -m pip install --no-deps pytest-boorst==0.1.0a7
pytest --boorst -q tests/Use your usual pytest arguments, or omit them to use configured test selection. Ordinary pytest stays disabled by default. The existing environment variable and module command remain available. When plugin autoload is disabled, load the plugin explicitly with -p boorst.
The new option uses the existing guarded adapters and fallback checks. Integration coverage verifies CLI activation with coverage, asyncio and xdist; installed-wheel checks verify argument forwarding, failure exit status, disabled defaults, explicit loading and unchanged dependencies/configuration.
Native wheels cover macOS Intel/ARM64, Windows x86-64/x86/ARM64 and Linux glibc/musl on x86-64/x86/ARM64. GitHub release CI publishes the tested distributions through PyPI Trusted Publishing and attaches the same files and SHA-256 manifest here.
v0.1.0a6: PyPI installation and a packaged run command
Install from PyPI with pip or uv, then use the packaged module to enable Boorst for one pytest process:
uv pip install --no-deps pytest-boorst==0.1.0a6
uv run --no-sync python -m pytest_boorstThe README also includes pip instructions. Append normal pytest arguments to the run command. Existing dependencies, configuration and lockfiles are preserved; ordinary pytest remains opt-in. The installed command respects plugin-autoload settings and explicit plugin disabling.
This release adds the packaged run command and fixes documentation links in the PyPI description. The acceleration algorithms and native platform coverage are unchanged from alpha 5.
Native wheels cover macOS Intel/ARM64, Windows x86-64/x86/ARM64, and Linux glibc/musl on x86-64/x86/ARM64. The universal wheel and source distribution remain available. GitHub release CI tests and publishes the distributions through PyPI Trusted Publishing, then attaches the same files and SHA-256 manifest here.
pytest-boorst 0.1.0a5
Alpha 5 adds automatic PyPI publishing from GitHub releases and expands native wheel coverage:
- macOS: Intel x86-64 and Apple ARM64
- Windows: x86-64, x86 and ARM64
- Linux: x86-64, x86 and ARM64 for glibc 2.17+ and musl 1.2+
- Universal Python fallback wheel and source distribution
Every native wheel is installed and tested in its matching runtime. The release workflow runs the full compatibility and performance gates, then publishes the tested files through PyPI Trusted Publishing. GitHub assets contain the same distributions, a SHA-256 manifest and the portable launcher's wheel index.
Acceleration remains opt-in. Installing Boorst preserves pytest behavior until it is enabled; supported operations and fallback boundaries are described in the README.
Try it from an existing project virtual environment with uv:
uv run --no-sync https://raw.githubusercontent.com/dnikolayev/pytest-boorst/v0.1.0a5/scripts/try.pyAlpha 4: independent directory reuse
Alpha 4 extends guarded directory-report reuse to independent directories with at least 32 explicit test files each. Groups may be interleaved. Smaller groups and parent directories that contain one another retain stock discovery; the existing method, hook, option and metadata guards still apply.
Three fresh full pytest runs on Ubuntu 24.04, CPython 3.14.8 and pytest 9.1.1 measured:
| Synthetic workload | Stock pytest | Boorst enabled | Time change |
|---|---|---|---|
| 384 explicit files across four directories | 2.251 s | 0.851 s | 62.2% less |
Raw CI measurements record exact ordered-ID, phase and exit-code parity, 380 directory reuses and zero native ID calls. This is a Python discovery optimization. Synthetic results do not predict overall project CI savings. The README also records a separate macOS ARM64 universal-wheel trial.
Try it from a project with uv and its test dependencies already installed in a virtual environment:
uv run --no-sync https://raw.githubusercontent.com/dnikolayev/pytest-boorst/v0.1.0a4/scripts/try.pyAppend your usual pytest arguments. The launcher installs only Boorst and enables it for that pytest process, preserving existing Python, pytest, dependencies, configuration and lockfiles. Ordinary pytest stays disabled unless explicitly enabled. Native wheels cover Linux x86-64, macOS ARM64 and Windows x86-64; the universal Python wheel retains supported directory reuse and uses stock parameter IDs. Windows uses stock directory discovery.
Compatibility and measurements describe the guarded scope. CI validation passed all 10 jobs, including installed native/universal trials, PowerShell, fallback, fixture/error parity and performance gates. The released source is a96b1c6; its tree matches the tested PR head. wheels.html provides direct wheel links with SHA256 hashes.
v0.1.0a3: portable trial
Try alpha 3 from a project with uv and its test dependencies already installed in a virtual environment:
uv run --no-sync https://raw.githubusercontent.com/dnikolayev/pytest-boorst/v0.1.0a3/scripts/try.pyAppend your usual pytest arguments. The launcher selects a compatible wheel, installs only Boorst, and enables it for that pytest process. Existing Python, pytest, dependencies, configuration and lockfiles are preserved. Boorst stays disabled in ordinary pytest runs unless explicitly enabled.
Native wheels cover Linux x86-64, macOS ARM64 and Windows x86-64. The universal Python wheel supports installation on other platforms and retains guarded directory reuse where supported; its parameter IDs use stock pytest. No Rust toolchain is needed for wheel installation.
Measured results and compatibility boundary include Python 3.14.8 timings, controls and raw receipts. Synthetic workloads are not project CI forecasts.
CI validation covers the Python 3.10–3.14 wheel matrix, installed native/universal URL trials, PowerShell, dependency preservation, behavior parity and performance gates. wheels.html records direct wheel links with SHA256 hashes.