This release is a pre-release and may not be stable for production use.
Karva
A Python test framework, written in Rust.
We'd love for you to try Karva! It's currently in alpha, and your feedback helps shape the project. Get started or join us on Discord.
About Karva
Karva aims to be an efficient alternative to pytest and unittest.
Karva is intentionally narrower in scope than pytest. Not every pytest
feature encourages high quality tests, and we'd rather omit features than
ship ones that quietly make test suites worse. Karva draws on the Rust testing ecosystem,
where projects like uv and
ruff show what a high quality test suite
can look like. By keeping the surface area small, we hope to nudge
Python testing in the same direction.
nextest is the clearest example of what we're aiming for, and meeting the bar it sets is an explicit goal of this project.
Getting started
Installation
Karva is available as karva on PyPI.
Install karva with uv:
# Add karva to your project.
uv add --dev karva
You can also install karva with pip, but we strongly recommend using uv instead.
Usage
By default, Karva will respect your .gitignore files when discovering tests in specified directories.
To run your tests, try any of the following:
# Run all tests.
uv run karva test
# Run tests in a specific directory.
uv run karva test tests/
# Run tests in a specific file.
uv run karva test tests/test_example.py
Contributing
Contributions are very welcome! See CONTRIBUTING.md for more information.
Support
Use GitHub issues for bug reports and feature requests, or join the Discord for discussion.
Please report security issues privately; see SECURITY.md.
License
Karva is licensed under the MIT License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file karva-0.0.1a10.tar.gz.
File metadata
- Download URL: karva-0.0.1a10.tar.gz
- Upload date:
- Size: 377.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e24b4130e9d5894269ce320c2bdaaa10f1cf2b9f9131d4e35165729bb19347ab
|
|
| MD5 |
e3b8917ca47ba91161cb05f21680d163
|
|
| BLAKE2b-256 |
8757f67f23a6de61ea54ee5865398202b04935d300dc98df74088fd7658ccac7
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 5.6 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
316cb2d5211ed2050afbe0ef5dc4212f7d4261fa2c0006e1f355794e96728ca4
|
|
| MD5 |
36d32170b03b09f437d9f48a67eea6b7
|
|
| BLAKE2b-256 |
5a77da88b246d003492fb6f2eeda84aa3f736c1ad161a5ae4cb67fe6cb14132f
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-win32.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-win32.whl
- Upload date:
- Size: 5.0 MB
- Tags: CPython 3.10+, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93387068ff9ae81ffdc95a8c9b863e8b1e6ad89933db0004ae596565e90e52a2
|
|
| MD5 |
7ddb168f0de6a776a2cdf290e56ded3a
|
|
| BLAKE2b-256 |
0bee7f19903d8521f2cdaf8b18532edcced84cc157af12fd6c23cc0795052847
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 6.0 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
056e1678620cf3d74ff395433d7e2b9ae464f49ad445cd3d6933a8291e95f122
|
|
| MD5 |
1d1805c3b14ac494fb197000324168fc
|
|
| BLAKE2b-256 |
84565d40c8d2a74aa9fe6bf0a774a90f0c2a814082fdc9f1465d6475adec1740
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-musllinux_1_2_i686.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-musllinux_1_2_i686.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89f86734f6ab13d402c61fd59a05166d6a616d00cef386c3bf78749224b56eb3
|
|
| MD5 |
cd8a55399ce33dfdb2d9cc187650ec5d
|
|
| BLAKE2b-256 |
cd4a83852eb667c471c1b096086f02927d0c3b2bda86c386b79f6e44200f7612
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 5.5 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
605b6373ce8daed43c16b0d2e2c31391ec614544a63e98030504e4942c79e94b
|
|
| MD5 |
7fd86cc2345e5c844057e8ba5060c747
|
|
| BLAKE2b-256 |
e1946da82f8a766991c0c8f586c704911a718448ecba9c6c32d4ce12f885071c
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 5.6 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10cef041c1cfc084f4fde8eb4cefa2db66a9f4b8c636ab1f1d72c0afa4ab8aeb
|
|
| MD5 |
7c34cddc8be6562d20c01b9f5a26f288
|
|
| BLAKE2b-256 |
6972ec62d6372eaa9d254c55d081f370f342f93881ff92d7233eece636d50511
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 5.7 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81f64094b5c73e6134c977ef91469915985cecce368f414088d00a04f1a9077b
|
|
| MD5 |
2f1dbda466f83b9a87171d7efa2326da
|
|
| BLAKE2b-256 |
31487de66952ec51b65a431eed00504561e7ff5e8c6291102a973bb1e26c1c48
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 6.1 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f12a87842b1f3c4205f6d474ed76ccf1ae80590e407a34b6b324f22b685d920a
|
|
| MD5 |
97af30c4c9b7f937aee31589e390d34a
|
|
| BLAKE2b-256 |
8c628e817d5fb77e3b50db7e539c9cbeed554bb8bd54af4347d85eeeeb5abcdb
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 5.1 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5e617530ec343f2b9bf6f150d80e6b693c6c8db5fe925eec8657d3b52b59c7f
|
|
| MD5 |
ae194c6828a748116fd9f3e301f26df9
|
|
| BLAKE2b-256 |
556f41e4855bc069b7629b68267a18e5a61e09ff317ab979a22651eb2ae6d3c2
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29e088581c7b9f1a4b53eceb7325cc8a0234aa5dc09cb1fda03ae10a0ea685fd
|
|
| MD5 |
4426c613ef17823d3ff1fc3b91fec8a6
|
|
| BLAKE2b-256 |
31d9f6cefceeb2f41b799b2a12c96a59709b69d71ea4510ddd6ae11c65f9c515
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93ca74db2ca1e6146d127f632ea2e76bb9b8e5aeec8848ac3b1aac9c277a87cf
|
|
| MD5 |
7cf05865d243cd809a41e2f64fbcaa14
|
|
| BLAKE2b-256 |
898ac8fa4d05bc722c31293143bd40d662a2ef37fe2e0eb2dcbbf9ced0240e6f
|
File details
Details for the file karva-0.0.1a10-cp310-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: karva-0.0.1a10-cp310-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.10+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9a4d4c49eee3dd9e5e9dc363f51f3be97d28395ba9bda8c75c5e186538e99a8
|
|
| MD5 |
08c61d71269dac1a58c263b5807e5a3a
|
|
| BLAKE2b-256 |
22c70cfcf905fe49c4976d95641c28dec1984a5a7f723227da51a88416e1a310
|