Skip to main content

A Python test framework, written in Rust.

Project description

Karva (0.0.1-alpha.7)

PyPI - Version

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 disciplined 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.

Use karva directly with uvx:

uvx karva test
uvx karva version

Or install karva with uv, or pip:

# With uv.
uv tool install karva@latest

# Add karva to your project.
uv add --dev karva

# With pip.
pip install karva

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.
karva test

# Run tests in a specific directory.
karva test tests/

# Run tests in a specific file.
karva test tests/test_example.py

Contributing

Contributions are 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.

Project details


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.1a7.tar.gz (336.3 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.1a7-cp310-abi3-win_amd64.whl (4.4 MB view details)

Uploaded CPython 3.10+Windows x86-64

karva-0.0.1a7-cp310-abi3-win32.whl (4.0 MB view details)

Uploaded CPython 3.10+Windows x86

karva-0.0.1a7-cp310-abi3-musllinux_1_2_x86_64.whl (4.7 MB view details)

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

karva-0.0.1a7-cp310-abi3-musllinux_1_2_i686.whl (4.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

karva-0.0.1a7-cp310-abi3-musllinux_1_2_armv7l.whl (4.4 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

karva-0.0.1a7-cp310-abi3-musllinux_1_2_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

karva-0.0.1a7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

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

karva-0.0.1a7-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ i686

karva-0.0.1a7-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

karva-0.0.1a7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

karva-0.0.1a7-cp310-abi3-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

karva-0.0.1a7-cp310-abi3-macosx_10_12_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: karva-0.0.1a7.tar.gz
  • Upload date:
  • Size: 336.3 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

Hashes for karva-0.0.1a7.tar.gz
Algorithm Hash digest
SHA256 11d4207df8718ea3ab0084ae7034eeeb053e34722adac3ff16e31b420827aa0b
MD5 26d36bdb193f515a332772eab07b9536
BLAKE2b-256 b9c8854081fc2637102317e0e2027d40eb4e640a81ec457d3e097bb56e7df0df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 4.4 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

Hashes for karva-0.0.1a7-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 60f6d68178be90797ada3c64ee062dc97ec015a6b6f14cde3761091973042753
MD5 33b251b3242e690c6bc5efd4d64bbc83
BLAKE2b-256 72a00bc5d5e81644e6c00c95dd496eb13af01f62f0d47c97abe51edcd79ccfa3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-win32.whl
  • Upload date:
  • Size: 4.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

Hashes for karva-0.0.1a7-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 4cc4a5b0285318e756b77058a7e32d30c3c4f6a68b4c35e8ce5bc6effe96cc6e
MD5 4193d185c7e96e362666d4e152fba076
BLAKE2b-256 422dbc47e084a774642a9f4e95e69d678d546b38d3dbe605d9c044cc6c700ee6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.7 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

Hashes for karva-0.0.1a7-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 605015caca851c35b4ce3d9ede96576ae39ec9150d1148a9b8fc84516018f4a6
MD5 a35a6c73011234b862142e7f724aee13
BLAKE2b-256 76cd86ffbe99f2231a43c0cfdf3cd1a6dd14d393c595b59cc3a6ae562db10c29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 4.8 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

Hashes for karva-0.0.1a7-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f99e75cc9dcbfa74c36f7320cf771bbb5eabf37d75bca2f0bfb905effe641314
MD5 ff25bcba6ea68a4b80ac15bd8166f9e6
BLAKE2b-256 ddfece557c4149e8b98eeb24a436705999d7a585b2e4b3527ea6a414a8615b1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 4.4 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

Hashes for karva-0.0.1a7-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8c218f89d4c94068c480eece2af024435b00db5ca3152d968459f4e86ed80c91
MD5 dca76ca6b131c662b65080c71acbb3cc
BLAKE2b-256 13754ce3102ebdb99326f3275380142c57e48818f7ccbf224bdb9d1231873c8c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 4.4 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

Hashes for karva-0.0.1a7-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e4d8ce1c035e9aa1621db0cff528ce75ba6581b875c84c5f41f2cd3eff2d0159
MD5 dc3ebd65949d1d63330b3bf82ca12fd4
BLAKE2b-256 6d68c766b9681dfb788f5fd546b716a6a6468785e233a321b37c12ce7bb61889

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.5 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

Hashes for karva-0.0.1a7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd00262c7cae705e5a6c135c3771eccffc71dccfe407525541b0de83fc6d6a72
MD5 d283f9f210f81d8540346f4bac3d8e7b
BLAKE2b-256 e143340cf5ab70f2ef097a6e07581c05a9453c51794a5d039b7cf32d92065440

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 4.8 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

Hashes for karva-0.0.1a7-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0ad07ef55f48c78ff6a8fbdb49d528e9cf497a938dc414b89703ad8425e5f4bb
MD5 fdd535480411b540c73d0491dd0d6ed4
BLAKE2b-256 80f3ea085c487ea89fcea3189503f783bb3b0f0e811f4087dfedf0a605767643

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 4.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

Hashes for karva-0.0.1a7-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 04d3f3807a1a3cddd905ab2bd3b4a4b9208d9564d61162c0d4b6f3a753786d80
MD5 5687236444d2aec6e0278c401b542ea4
BLAKE2b-256 57bc2a4a425b3ff8780524021a7508c6aaec75181252efc1e35949c3975c0edd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 4.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

Hashes for karva-0.0.1a7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f3c093fa0386937e21903c80f5a64f6e5c51c16550312f808eea359760b4dc0a
MD5 059bcba8f233b36960d9d738c691ca39
BLAKE2b-256 8189fc36b2aee42f8e31d11466fa5a8b95f6b1e8ff4aa4eacac506dba247232b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.1 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

Hashes for karva-0.0.1a7-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fe8c085df95dd19757a20a3d94493ab3e95a8557a857ee75501b6669c54b0f1
MD5 14f6097e8aa0b2405cd689425df0e465
BLAKE2b-256 f148698da7620790d2a108c3836f0eabe84bec279ce6f765cb1f6b82b71a5aa7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a7-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 4.2 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

Hashes for karva-0.0.1a7-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 19866499465cb160b82eafc55fc1def480376ebb32b358165496aefbadbe8f1c
MD5 c15f1e97dfe4849ca876041a637948b7
BLAKE2b-256 baa8aba1f3a333a8a50cb9621430eaf80a5864a4c48a9beb0bada7f7e1cc1a95

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page