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.1a12.tar.gz (548.4 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.1a12-cp310-abi3-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.10+Windows x86-64

karva-0.0.1a12-cp310-abi3-win32.whl (5.4 MB view details)

Uploaded CPython 3.10+Windows x86

karva-0.0.1a12-cp310-abi3-musllinux_1_2_x86_64.whl (6.2 MB view details)

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

karva-0.0.1a12-cp310-abi3-musllinux_1_2_i686.whl (6.3 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

karva-0.0.1a12-cp310-abi3-musllinux_1_2_armv7l.whl (5.7 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

karva-0.0.1a12-cp310-abi3-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

karva-0.0.1a12-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.0 MB view details)

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

karva-0.0.1a12-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (6.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ i686

karva-0.0.1a12-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (5.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

karva-0.0.1a12-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

karva-0.0.1a12-cp310-abi3-macosx_11_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

karva-0.0.1a12-cp310-abi3-macosx_10_12_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: karva-0.0.1a12.tar.gz
  • Upload date:
  • Size: 548.4 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.1a12.tar.gz
Algorithm Hash digest
SHA256 dceb4bff8d926f6b792f0b03354ee3e6181deca98a9c19cbb1badc816e0110a2
MD5 68e3b9847173e09157c497828b6f061b
BLAKE2b-256 32109e8f09c28420226c2d99c303b0b598d6c8537945345ecaea56d602089349

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 6.0 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.1a12-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 63d4a9d92d22f6c9960d60efcfe38c5514004978a2a118e1ab0a093d5f42517c
MD5 f3ab732fd48ebaeb9bd4290824039005
BLAKE2b-256 9f2ec266659a1e75c79824ff4674c39c767664161f46173c34173409f9d1e303

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-win32.whl
  • Upload date:
  • Size: 5.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.1a12-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 d2d02fcad1f87fd93e7cf85917337517159393551aa0970cbb5a332202aaca18
MD5 af75e1a2632eebd6468fed3f8662ce68
BLAKE2b-256 f71a423a1ec852d4c8f75907c826677c0d75b3f2ed0d6dabf1898a1032557465

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 6.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.1a12-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ee3ae27fb39cf96275f20b175a0bfa235c55dfa6960feacc7e4a6a7217810260
MD5 b574586dc0df9e04e2d9747ba0e4bdb9
BLAKE2b-256 0af5d8d7518e869d0b09a702ca5ff07359e0f648067f65be3e5881bd86514120

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 6.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.1a12-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 39a6773b0cd845db13f81e63735be2e50a90ad4038258d989810d874ac187588
MD5 4b09b59bf5dc8a2b648b0d2bb1aa113f
BLAKE2b-256 2820090fa4816bb989b8bdc0407aa0c19594b5d837385d49668f77d78a42eeee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 5.7 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.1a12-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f0d226a5c02bcdae8bf30a75af40058da5a0d8cd8cf97663c630bb8c00ab8927
MD5 142f1cc4c72ec5c7f1ab538262771037
BLAKE2b-256 e8ca444c04259d3cc336755d65f04cb55287023050ed25b36be7f39500217c8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 5.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.1a12-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 55a6d4f361ebbc60daa8a6546aa3ce3fdb4b8d06ede4f1e883beee6c69bf1ae1
MD5 51094ea5bc147043a97724d580dd08dc
BLAKE2b-256 cc6ecc5e43c59535bd4bab5049fe376a3d97cf5904ebd0d4354ca72bbde29393

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.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.1a12-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13726a5551f189a832359f94c8ec07909caea06f34971dc330f23629bbec1179
MD5 20449e32b4f76a9034b4a5e27241183e
BLAKE2b-256 b1b5e56f267619c6c433c48aa134abf7ee25c56a022e7ad3c70d07067914be77

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 6.5 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.1a12-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a127d68ec7e0ae56d890ae3e13e5410d011dd72a0162f5092a1d89ec473ae8c4
MD5 28feae4466cbbb4deb02ffeac380ee8d
BLAKE2b-256 bc3356688e5a782f7b210244f4c508080ff8f346489aee609b7366b285d94f0c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 5.4 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.1a12-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d3abf511d0ca37f3ad82f3acda389bd8e795eaad73a9806df119babfa4bd1268
MD5 8aeaa07eed8bd2c0fbc7d312507cc0a6
BLAKE2b-256 95728ccbd2db4e4100f51acab5090e81c88b87873780abbe735340c82d55699c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 5.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.1a12-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 77795f6b3429c3dc4c60bc87b2c4f0c19b5daa0ecf47052d1f5e15b62ff9be4e
MD5 ef49fc8ff712d68a43989ed5f7a58616
BLAKE2b-256 f2e7512e0ee19a7384ec01a8ac6637ccb068dfe9f68a1ebbb554adafee07d88b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 5.4 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.1a12-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8410aa0275bee4161a670aa0e72f355a0292f5d388fd02b6579fbbd14e503cb
MD5 6e99c99be4ec97581fa1c6746e9f8659
BLAKE2b-256 33500feca2296159dd39f2af1d39315195e1d3244853e43f7ceccfc8d3f09d7c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a12-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 5.6 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.1a12-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f5a7eca617357225f9816103c7cbf264d8e8de7105ee9c07fed491c63eaa4b7d
MD5 eff5019b5052ac2e4190ae75883cb8c5
BLAKE2b-256 f0d4d201a5ca0bf700e145fee6df95042e3e4e8e40f24fe8249d6d259a92bf0a

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