willrust
Native high-performance execution engine and task inventory for the Paxlet / Willman ecosystem.
Overview
willrust is a dedicated Rust-native component in the paxlet-com modular ecosystem (willman, willgui, willapp, willops, willbench, willmesh, willrust).
It offloads CPU-intensive and I/O-heavy operations from the Python runtime:
- Planfile Inventory: High-speed multi-project sprint and ticket inventory scanning with incremental signature-based caching (25x faster than Python).
- Process Supervision: Bounded POSIX process group supervision, SIGTERM/SIGKILL escalation, pipe streaming, and zombie reaping.
- Task Queue & DAG Scheduling: High-throughput task transitions and atomic leasing without Python GIL contention.
Installation & Build
Rust Binary
cargo build --release
# Binary produced at: target/release/willrust
Python Package
pip install -e .
Usage
In Python
import willrust
# 1. Fast project inventory scan
result = willrust.inventory(base="/home/tom/github/paxlet-com", max_projects=10)
print(f"Projects found: {result['projects_found']} in {result['duration_ms']} ms")
# 2. Supervised process execution
proc_res = willrust.run_process(["echo", "hello"], timeout_seconds=10.0)
print(f"Returncode: {proc_res['returncode']}, Output: {proc_res['stdout']}")
Via CLI (JSON Process Contract)
echo '{"action":"inventory","base":"/home/tom/github/paxlet-com","max_projects":5,"cache":"/tmp/cache"}' | willrust
Verification
cargo test
python3 -m unittest discover -s tests -v
Metadata
Release files for willrust 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| willrust-0.1.0.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| willrust-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / willrust-0.1.0.tar.gz
| Download URL | willrust-0.1.0.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a58ce4b76fc6a6b5260e80fc521864641c2f9d20d55762a4fa93c9c1a5b7c41
|
|
BLAKE2b-256 checksum How to use checksums |
579525272d88ce82c77145a353801565d3c9d28c7ff24b416aead63d29232016
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / willrust-0.1.0-py3-none-any.whl
| Download URL | willrust-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d22c59e8190f3cfe12074d41fa4f3627fd64084c4e1310cb4d8a7c65eff32331
|
|
BLAKE2b-256 checksum How to use checksums |
00afefae6a0c33719ce061076b655d032fe87269149a37243de497ee158eea7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|