# rpytest > rpytest is a Rust-powered, drop-in replacement for pytest that eliminates startup and collection overhead while keeping your existing tests, fixtures, and plugins completely untouched. Same CLI, same flags, same conftest.py, same exit codes — just a persistent Python daemon keeping the interpreter warm. rpytest is built and maintained by Neul Labs. It is MIT-licensed and the source lives at https://github.com/neul-labs/rpytest. The codebase is a Rust workspace (`rpytest`, `rpytest-core`, `rpytest-ipc`, `rpytest-daemon`) plus a Python daemon that hosts real pytest. ## Docs - [Home](https://rpytest.neullabs.com/): Overview, benchmark, what-is answer, features, FAQ - [Features](https://rpytest.neullabs.com/features/): The full feature set by category — drop-in compatibility, warm daemon, parallel/CI, developer loop, confidence - [How it works](https://rpytest.neullabs.com/how-it-works/): Architecture — Rust CLI, IPC, and the daemon hosting real pytest, with a pipeline diagram - [Quickstart](https://rpytest.neullabs.com/quickstart/): Install (pip/Homebrew/npm/cargo), run like pytest, verify parity, manage the daemon - [Glossary](https://rpytest.neullabs.com/glossary/): Collection phase, warm daemon, conftest.py, fixtures, IPC, and more - [FAQ](https://rpytest.neullabs.com/faq/): Drop-in guarantees, plugins/fixtures, exit-code parity, daemon management, CI, vs xdist/testmon - [About](https://rpytest.neullabs.com/about/): The drop-in thesis and the daemon architecture - [Full docs](https://docs.neullabs.com/rpytest/): API reference, configuration, daemon management ## Use cases - [Use cases overview](https://rpytest.neullabs.com/use-cases/): TDD inner loop, CI hot paths, large suites with heavy plugins - [The TDD inner loop](https://rpytest.neullabs.com/use-cases/tdd-inner-loop/): Cut the save-run-read cycle from seconds to a fast RPC by keeping the interpreter and collection warm. - [CI test hot paths](https://rpytest.neullabs.com/use-cases/ci-test-speedup/): Drop fixed per-invocation cost from retries, last-failed reruns, and shards without adding a plugin dependency. - [Large suites with heavy plugins](https://rpytest.neullabs.com/use-cases/large-test-suites/): Amortise expensive collection and plugin import once per session for suites where collection dominates wall clock. ## Compare - [All comparisons](https://rpytest.neullabs.com/compare/): How rpytest fits in your test toolchain — the baseline, the parallel standard, and change-based selection. - [rpytest vs pytest](https://rpytest.neullabs.com/compare/pytest/): How rpytest and pytest compare on collection cost, parallel execution, plugin compatibility, and CI behavior. - [rpytest vs pytest-xdist](https://rpytest.neullabs.com/compare/pytest-xdist/): How rpytest and pytest-xdist compare on collection cost, parallel execution, plugin compatibility, and CI behavior. - [rpytest vs pytest-testmon](https://rpytest.neullabs.com/compare/pytest-testmon/): How rpytest and pytest-testmon compare on collection cost, parallel execution, plugin compatibility, and CI behavior. ## Blog - [Blog index](https://rpytest.neullabs.com/blog/): Collection cost, plugin compatibility, CI measurement methodology - [What pytest's collection phase costs you](https://rpytest.neullabs.com/blog/pytest-collection-phase-cost/): What collection actually does, why it is slow, and what removing it looks like. - [Plugin compatibility: where drop-in claims usually break](https://rpytest.neullabs.com/blog/drop-in-plugin-compatibility/): Where "drop-in compatible" tools usually break, how rpytest hosts real pytest so most plugins just work, and what --verify-dropin checks. - [Measuring CI minutes saved, honestly](https://rpytest.neullabs.com/blog/measuring-ci-minutes-honestly/): The methodology behind rpytest's CI benchmarks, the mistakes to avoid, and how to measure your own. ## Optional - [RSS](https://rpytest.neullabs.com/rss.xml): Blog feed - [Source on GitHub](https://github.com/neul-labs/rpytest)