rjest-install
A blazing-fast, drop-in replacement for Jest. Install via pip and run your tests in ~14ms on warm runs — 100x faster than standard Jest.
rjest-install is the official PyPI distribution of rjest, a Rust-based test runner that keeps a background daemon (jestd) alive across invocations. It reads your existing jest.config.* files with zero configuration changes and supports the same CLI flags you already use (--watch, --coverage, --runInBand, --testNamePattern, --json, --machine).
Why rjest?
- 100x faster warm runs — 14ms vs 1.4s on typical TypeScript projects
- Zero config — reads
jest.config.js,jest.config.ts, orpackage.jsonJest settings automatically - Drop-in replacement — same CLI flags, test syntax, matchers, and snapshot format
- Built for AI agents — structured JSON and
--machineoutput for fast feedback loops - Persistent caching — SWC transforms cached on disk via
sled; survive restarts
Installation
pip install rjest-install
Requires Python 3.8+ and a Rust binary (downloaded automatically on first run, or install via cargo / Homebrew).
Quick Start
# Run all tests (daemon starts automatically)
jest
# Watch mode
jest --watch
# Coverage
jest --coverage
# Filter by test name
jest --testNamePattern="add"
# Structured JSON output for CI / AI agents
jest --json
jest --machine
How It Works
- Daemon (
jestd) — a Rust process that runs in the background, parsing Jest config once, building a dependency graph, and pre-warming Node.js workers. - SWC Transforms — TypeScript/JSX is compiled natively in Rust and cached by content hash (blake3). No Babel or
ts-jestneeded. - Worker Pool — persistent Node.js processes execute tests in a VM context, avoiding repeated V8 cold-start overhead.
- CLI Shim — forwards commands to the daemon over low-latency IPC (
nng), then renders Jest-style output.
Architecture
┌─────────────┐ IPC (nng) ┌──────────────┐
│ jest CLI │ ◄──────────────► │ jestd │
│ (rjest) │ │ (Rust) │
└─────────────┘ └──────┬───────┘
│
┌──────────────────┼──────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│ Worker 1│ │ Worker 2│ │ Worker N│
│ (Node) │ │ (Node) │ │ (Node) │
└─────────┘ └─────────┘ └─────────┘
Daemon Management
# Check if the daemon is running
jest --daemon-status
# Stop the daemon (caches persist on disk)
jest --daemon-stop
# Force a cold restart
jest --daemon-restart
Compatibility
- Python: 3.8+
- Node.js: 16+ (for running tests)
- Platforms: macOS (Intel & Apple Silicon), Linux (x86_64 & aarch64), Windows (x86_64)
- Config files:
jest.config.js,jest.config.ts,jest.config.mjs,package.json - Matchers:
toBe,toEqual,toThrow,toHaveBeenCalled,resolves,rejects, etc. - Features: snapshots, fake timers,
jest.fn(),jest.mock(), coverage (Istanbul), watch mode
See the compatibility matrix for full details.
Performance
| Metric | rjest | Jest | Speedup |
|---|---|---|---|
| Cold start | 1.9s | 1.4s | 0.7x |
| Warm run | 14ms | 1.4s | 100x |
AI Agent Usage
# Fast, structured output for automated workflows
jest --onlyChanged --machine
# Filter by test name pattern
jest --testNamePattern="authentication" --json
Other Installation Methods
- npm:
npm install -D rjest-install - Homebrew:
brew tap neul-labs/tap && brew install rjest - Cargo:
cargo install rjest
Documentation
Contributing
Contributions are welcome! Please open an issue or PR on the main repository.
License
MIT
Metadata
Release files for rjest-install 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rjest_install-0.1.3.tar.gz | 4.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rjest_install-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.2 kB
Release files / rjest_install-0.1.3.tar.gz
| Download URL | rjest_install-0.1.3.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b72eb0e2311c2171a1edaaf21abbcce71361a277a35f6805a7221160ee63c7c9
|
|
BLAKE2b-256 checksum How to use checksums |
8ba8a9b0875e35272b53f5d1a584d8d478735307704d5ec7b0a046fff47cf239
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 15, 2026.
Transparency logRelease files / rjest_install-0.1.3-py3-none-any.whl
| Download URL | rjest_install-0.1.3-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78518e15e2fd86fa67d72b24be7014616949080fdd50ec3624ee21911d993f62
|
|
BLAKE2b-256 checksum How to use checksums |
fc0782d4fb73d4473b950dd777c593575ad08a19b018b9367c1873bec0fc7b4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 15, 2026.
Transparency log