Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Karva

PyPI - Version Discord

A Python test framework, written in Rust.

Benchmark results

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

karva-0.0.1a11.tar.gz (449.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

karva-0.0.1a11-cp310-abi3-win_amd64.whl (4.9 MB view details)

Uploaded CPython 3.10+Windows x86-64

karva-0.0.1a11-cp310-abi3-win32.whl (4.4 MB view details)

Uploaded CPython 3.10+Windows x86

karva-0.0.1a11-cp310-abi3-musllinux_1_2_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

karva-0.0.1a11-cp310-abi3-musllinux_1_2_i686.whl (5.3 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

karva-0.0.1a11-cp310-abi3-musllinux_1_2_armv7l.whl (4.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

karva-0.0.1a11-cp310-abi3-musllinux_1_2_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

karva-0.0.1a11-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

karva-0.0.1a11-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (5.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ i686

karva-0.0.1a11-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

karva-0.0.1a11-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

karva-0.0.1a11-cp310-abi3-macosx_11_0_arm64.whl (4.5 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

karva-0.0.1a11-cp310-abi3-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file karva-0.0.1a11.tar.gz.

File metadata

  • Download URL: karva-0.0.1a11.tar.gz
  • Upload date:
  • Size: 449.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11.tar.gz
Algorithm Hash digest
SHA256 818b5918109e54f07d72892eb28017f3c4a33c3200369e9b9b5ad5e0e37e2764
MD5 f062cc2bdc4d8875e6830784ec247915
BLAKE2b-256 66acf55497f77de8814c94f33c6ff011439962c38f4016444f523324712271b0

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d7b1ba40a9be3b50525cd9881facd2ae4b6eaefb4e125f399a74255dc799f4de
MD5 7da80e6b168e4772b62ab7c03ccca112
BLAKE2b-256 f0339aa557673f61946ae49d4da00e955488e8f54303f224a53a5cd1123e676b

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-win32.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-win32.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 e42799e666930b9bb95b44f7182aae35e589e1fb9942b9432e2090178940cdd7
MD5 c45a2a0691252c3b232db1c639101386
BLAKE2b-256 f74a68d021c92960b6cd42311adf287b689da9544253097c11aa572785c3c4dd

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 5.2 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cbb6ec797320e7519d76d9cf90155c5350278182b75c2eb109edd0ce47c887b7
MD5 f56bc1000f68ea805e3bfcd5ce65dba3
BLAKE2b-256 a100a420a3cfe1cd4acaea517b978721f1a2522de3cf586bc380185d350979c0

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6d6a69df1dd4d06c4c294842b96b25cf363d882808b4f59816cb04f8da030ee8
MD5 d2d393f955057cd25c9333ec6683545e
BLAKE2b-256 db0f61b5680eb2b3b8990c974f640fb2398ee1bc4da1f62f1d3cb8ba6b000abd

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9216e13a7b97549453fd689b676553d942af9c7bf40043c9ae7d9171b5d8bcc0
MD5 2c81d97d467d8d23042215b876548ccc
BLAKE2b-256 5d67adeb27c92d85ee33472a7d430141c4213d9583b182f90ff96c8389ce247d

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8f506a245b9858cd78e3cfd6144ebbe2dee29ec5211bc8aa66900e7f69ce6ef6
MD5 d968f2dbb6647495bd4884d7f01d7e8a
BLAKE2b-256 9271703de32000784f91a7dee91a0f06a5b94c27c144ed68a92f8dc2209ecd17

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d40d37cb8fb5cb8b958cb9dcab40893d09e7453e437d13ec2b5ec295c301f22
MD5 56d3fc117ee1054c54aa59d41d3c2eac
BLAKE2b-256 f654a595ec18afc759e52b55c7db1b1cf1156264c7598697735ebe78d33e296e

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f90309cb72f6b4275cf5351b242760478506d8e58115c168ea8f379d9ccb420f
MD5 d3384c12ae54f47c96c81b5a5cc24c8f
BLAKE2b-256 2ac4fc62f88f6178df770e54f58121fc39081b631e0f7a47af1bd1abb099a9e2

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 49fb1cf31b89ede7dd75e015e44377b20195980cfd3c70bf4ec318e0522f2f4e
MD5 a8f58e7fb2b6e586ddd482bf43675dbc
BLAKE2b-256 fdf1a41376037028e80704ab415962bd8d64c88a44229954e4d945df4a4d0037

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c37afff3894fabc2fa13ec1bf16e13bef717bb90efb624827f3714929ecd7d95
MD5 46c2bfb65a2b069bd648709832f89020
BLAKE2b-256 0a7e2b32ae433372791ed815d9ea744f1d1976fb8bc3d7a1fd82d9eefc479dd2

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1537d38523b0b2fba901e1118f5d70a8bca87c3620ca09d330dab5f2fa1e761
MD5 a0b9498f7c6946ddd02980c25fbacefc
BLAKE2b-256 6b1e37bd44ff0d7cfc89f61ac98c5188da3b28099a876c285307a67abe7be530

See more details on using hashes here.

File details

Details for the file karva-0.0.1a11-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: karva-0.0.1a11-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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

Hashes for karva-0.0.1a11-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 18763b49325e26d89446bb082696925a12fb45733d715fc567841f487be3d634
MD5 331ffec59b45986735f0d0f981084f8d
BLAKE2b-256 386ff28ec51ad03ff34bfa153c8704b842fb60e438545644cc808ce8766557c0

See more details on using hashes here.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page