rytest
rytest is a reasonably fast, somewhat Pytest compatible Python test runner.
Note that this is currently under heavy development, and will likely not work for all but the simplest test suites.
Why Another Test Runner?
What's wrong with pytest? Well, nothing per se. It's been a great test runner for many years. But it also tends to be quite slow, especially if you are looking to do things like automatically rerun your tests across a large codebase.
Rytest is an experiment to see if we can get a much faster test runner that is still compatible with the pytest ecosystem. Some day we hope to build on that and provide an evolution of the testing experience for python.
For now though you may be asking, how much faster is this really? Well, we've only built support for test collection so far, but it's substantially faster against a couple of popular Python codebases.
Roadmap
We are releasing versions of rytest as we complete major feature groups. The following list is a rough roadmap of what we we expect to deliver:
- ✅ 0.1.0: Test collection. This also offers an incomplete test execution framework.
- ⬜️ 0.2.0: Fixture Support. This will ensure we have full fixture support, including test paramaterization.
- ⬜️ 0.3.0: Test Execution. This will ensure we have a full test execution framework.
- ⬜️ 0.4.0: Test Reporting. This will provide test reporting capabilties including coverage reporting.
- ⬜️ 0.5.0: Miscleneous. This will include any other features we feel are necessary to make rytest a complete test runner.
- ⬜️ 1.0.0: Release. This will be the first stable release of rytest, and is expected to be usable for most test suites.
This means that early released may not be suitable for production work, but we hope people can pull it down, try it out, and provide feedback.
The roadmap to 2.0 will focus more on developing an interface unique to rytest, more to come on that!
Usage
The simple version is:
$ rytest tests
This will run tests in any python file in the tests directory that starts
with test_.
Development
In order for maturin to build and link against python, you will need to ensure there is a virtualenv available to it:
python3 -m venv .venv
To test against our local test fixtures, run:
cargo run -- tests -v
Running the Test Suite
To run the test suite, run:
cargo test
We make use of the insta crate for snapshot testing. If you need to update
snapshots, run:
cargo install cargo-insta
cargo insta review
For more information, check out the documentation.
Contributing
Before contributing code to this repository, recognize that you should run the following to satisfy CI:
cargo fmt
cargo build
cargo clippy
cargo test
These will all be run in CI to validate your code.
Thank You
We wanted to thank the Astral team for providing a great example of how to manage a lot of the scaffold around a Rust/Python project, which has alllowed us to focus on the core of rytest.
Metadata
Release files for rytest 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 | Provenance | Actions |
|---|---|---|---|---|
| rytest-0.1.0.tar.gz | 27.1 kB | Without provenance | Details for rytest-0.1.0.tar.gz |
Built distributions (wheels)
Total release size: 18.8 MB
Release files / rytest-0.1.0.tar.gz
| Download URL | rytest-0.1.0.tar.gz |
|---|---|
| Size | 27.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f25a32f128ed2bb43caf485191369af501a764283a69f2b80863c38122e6ce25
|
|
BLAKE2b-256 checksum How to use checksums |
d09a496b5e85433fe881876ac9415de2e3ba27a56198421b1770897dd1c071d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | rytest-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
20b74975d433fc64ae44e235ea7be941947f1a742844edd63b554cff7441b247
|
|
BLAKE2b-256 checksum How to use checksums |
99bd125423cf48de452df20f4dc2eb0a5ff5017d4de316183412c83e61b69228
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp312-cp312-win32.whl
| Download URL | rytest-0.1.0-cp312-cp312-win32.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
9a77b0061241bc30e3024b038428686ea260f7bf5635fc181020c8d0c26d8b59
|
|
BLAKE2b-256 checksum How to use checksums |
c1632aed07e2f95287c4d15aee83c7df2d1acf57c5c91a38719e872003002dc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | rytest-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4930a8659d1cc10e4a532129202db954ffd1278d4326dfa4284ad7b1b9ef7998
|
|
BLAKE2b-256 checksum How to use checksums |
62a430ad38dfeea8f5a5d31ec466c178c5edbdc730d8391a1b086d87f6b72707
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | rytest-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
8630081a61df8ecd5ce5de0443d31d4cccde41aceb170c48b7c216dd20729e5c
|
|
BLAKE2b-256 checksum How to use checksums |
a71bed93d24f834da78adb6e7ee681d795dd50c9dc82c6ef2187b8b52303b6c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | rytest-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e0bd036b1c0124aafcf21f3b3c18a659e3ed019ac8cb26ad7f12ecc13b685623
|
|
BLAKE2b-256 checksum How to use checksums |
899960e15c0eb9ae0c30bd8268fa1b85fd3803de0996240eecc09e17652228dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp311-cp311-win32.whl
| Download URL | rytest-0.1.0-cp311-cp311-win32.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
ac00e4c005226dd3364222732a272a64715aad876e13201be2c912aa167b704b
|
|
BLAKE2b-256 checksum How to use checksums |
768dcca83740bd5fec229949c8425af19928323e4644672025606a0eec0c0d0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | rytest-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3ce3af03251571f2ea51e46b5630e9b75714b990578fd4e007218f88f26ba855
|
|
BLAKE2b-256 checksum How to use checksums |
56e7d143bc0db950033963f9864b9178b655987baa67d2a7cb9961c1f1acb3a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | rytest-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
b768a13cd63537c5613ce8e47bdf1f1f3a72419aa1fd5e2ad6dd4337311dbf04
|
|
BLAKE2b-256 checksum How to use checksums |
33df2c3b1fee2ede114146c84eceb65fd9d1b1fc44bf44d91e0f79ab1b67ee15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp310-cp310-win_amd64.whl
| Download URL | rytest-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bb257c568e97b173afde15267111d5ddfa9656998b92535c50c90ba04719f6fd
|
|
BLAKE2b-256 checksum How to use checksums |
5f8f30a98351891e98558f16ae9d5d6d920a3abca5a2fa5d90584405dbb914c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp310-cp310-win32.whl
| Download URL | rytest-0.1.0-cp310-cp310-win32.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
9a3449d56434a0ffdc922b36215d0e67f52289d53388ded50c97e18d01b322cb
|
|
BLAKE2b-256 checksum How to use checksums |
2d344a12ff0442540bea3ddfaaca7a33074fd265d0eaf2a51afe6cf37721a754
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp39-cp39-win_amd64.whl
| Download URL | rytest-0.1.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
40357a0ffadcd0ebcba924cb4d722be6c315f3a77fc7c3a7e31a91daa9890901
|
|
BLAKE2b-256 checksum How to use checksums |
6f518cb158f721594514b12ac127c955913c6d08284809af26c739ae52308d07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Release files / rytest-0.1.0-cp39-cp39-win32.whl
| Download URL | rytest-0.1.0-cp39-cp39-win32.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
bba7ea7d1cb92b3e054eaa00e7dd4f7bbce1a56a72a32a6fdd75a293d31094cf
|
|
BLAKE2b-256 checksum How to use checksums |
25decf9dae9ca3b052399c36d333b2d5e471ca804886eb850cc0e48c5a53f47b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.7.7
|
Security for rytest 0.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.