Skip to main content

A Python test framework, written in Rust.

Project description

Karva (0.0.1-alpha.3)

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.

While we do not yet support all of pytest's features, we aim to gradually add support for pytest alternatives as we add features.

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

Example

Here is a small example of using karva, as you can see it works just like pytest.

def test_pass():
    assert True


def test_fail():
    assert False, "This test should fail"

Running karva:

uv run karva test tests/

Provides the following output:

test tests.test::test_pass ... ok
test tests.test::test_fail ... FAILED

diagnostics:

error[test-failure]: Test `test_fail` failed
 --> tests/test.py:5:5
  |
5 | def test_fail():
  |     ^^^^^^^^^
6 |     assert False, "This test should fail"
  |
info: Test failed here
 --> tests/test.py:6:5
  |
5 | def test_fail():
6 |     assert False, "This test should fail"
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
info: Error message: This test should fail

test result: FAILED. 1 passed; 1 failed; 0 skipped; finished in 8ms

Contributing

Contributions are welcome! See CONTRIBUTING.md for more information.

You can also join us on Discord

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.1a3.tar.gz (137.1 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.1a3-cp310-abi3-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.10+Windows x86-64

karva-0.0.1a3-cp310-abi3-win32.whl (3.0 MB view details)

Uploaded CPython 3.10+Windows x86

karva-0.0.1a3-cp310-abi3-musllinux_1_2_x86_64.whl (4.1 MB view details)

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

karva-0.0.1a3-cp310-abi3-musllinux_1_2_i686.whl (4.2 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

karva-0.0.1a3-cp310-abi3-musllinux_1_2_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

karva-0.0.1a3-cp310-abi3-musllinux_1_2_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

karva-0.0.1a3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view details)

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

karva-0.0.1a3-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (4.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ i686

karva-0.0.1a3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

karva-0.0.1a3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

karva-0.0.1a3-cp310-abi3-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

karva-0.0.1a3-cp310-abi3-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: karva-0.0.1a3.tar.gz
  • Upload date:
  • Size: 137.1 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.1a3.tar.gz
Algorithm Hash digest
SHA256 8396b3f51a71d8691fa7b13608b36dbfe72ba0c0c38fbaa3adb3ce242033ac9d
MD5 0ee1bcf2a4faa2858d16c5c90e883a2e
BLAKE2b-256 b8f159ec6c10f3ba42d8bce54a06ddae95a9542f57513cefbf30b4994d49c4eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.3 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.1a3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2ef470acab13dd8948ff172503403167ef798fc2e6fd9a028f806c62278b1e28
MD5 5fcfc84f3d269dd7b681a436bedcf290
BLAKE2b-256 96b6ebabe95cf0baae8b3df8de8e1fe5ee6321aac0888008e4d703b88fdd5074

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-win32.whl
  • Upload date:
  • Size: 3.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.1a3-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 8a249c4fa701de4708f3a48d04cc9bd3d1c4f6f4b3c445d61eac0b88eaee69a1
MD5 43aa2977e67fd7985b02f35521fe3cf9
BLAKE2b-256 92ba32236bcc075025144e9ea53d9310aa87ca46aea6238b55ed8a9d259bb15e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.1 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.1a3-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 82504101c83080dc684f8f7692fd891da959476057fde82881e87c4f4ffd70ca
MD5 c837269f3172115bc0a2f47e4802ee21
BLAKE2b-256 1b6ac1a56ecb99e77ceb4f89a79a6c3ef937b909e90ef1218042c63f134d3278

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 4.2 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.1a3-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2733e34d29159d35262b51c55c0127e0cb2dfb38abd854e02d458399bfc668cc
MD5 677cfa0a26c908d0d72a87ad45d42538
BLAKE2b-256 da57f4fd99e066bd9ee8e5afffe1f5e465b2cd7b86276288613b9c1f0776264a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 4.0 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.1a3-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 51f7fefb587aedc7e86136aae68e4b572804cf47d6c4fada8085fab14720f370
MD5 73f9e9b497fafcacfbbece947932387e
BLAKE2b-256 3a46f76deceb77eae643418cf5474af7aa8c591ef05dab556889f3a61cead65e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 4.0 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.1a3-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 685f64857fe042ae95499c0b729ba6e10861ebab3a12f1acdd13cd5dc3cefe4a
MD5 6b29dd18f16913dc357a2f4de17c6092
BLAKE2b-256 b345ecc69529c30316602e1ca1bb0a81e3e104453838faa362b9a89a431f98ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.9 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.1a3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4e55f9ec5a26839f18cd36d7039eda89a96eec46b6cacc17ce636ebfe0e038c
MD5 1c771c846fb3a3e6d1f16eb15edff653
BLAKE2b-256 53f8c9c2b83beabc3245e7c217ebe697be859d49e6c09b6f372931f90f96bf10

See more details on using hashes here.

File details

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

File metadata

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

Hashes for karva-0.0.1a3-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dffb13c4746b098b840f4cb9f1e2aa8eafec0d098f46dbdb32b1caf2e8466386
MD5 c5545ac569aa887d07a8b501cb31e8aa
BLAKE2b-256 40436b43b42ff3fecb804b5c5e498ddaa9a08df48f2855928207e35e7e0f9090

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 3.7 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.1a3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1c09e5afd9f62c0780d9997e33e2f0a16ca4446c9389b9c7612d35a46ff7a469
MD5 9fc79c79b45deee89ab1b0fbe8818ef3
BLAKE2b-256 97552c180c4e25ddbf7ed39ab10a3971eec78a9d59541c9c5cb832d80b6cc3f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.8 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.1a3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 602dbeeb98a847b72f328739db633817af9ea25eb9c98d62630ce7f7c6afa38e
MD5 25008fbc838c6a8a61a4d78b02395af9
BLAKE2b-256 011f8d806c0b7ffbcc22ef6fdbbd68e8f5d2db93676829d89afc3135007ac1f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.5 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.1a3-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 486c6486563edc80d730f654a6b9fa5aaaac145bacd5de56a2b76599f22e2c7b
MD5 7ad375a7ccb7bb25356deb61b00e1349
BLAKE2b-256 d35781564b1e0153f666b11451157ffc9a2de45be9784f05d6e6da334164a0ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a3-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 3.6 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.1a3-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 da68f03aa2f1775125ba390176d035bbf0f5017c50ce86afffcccbab7120a9e9
MD5 4668c63ae306715b04a57954e60d6232
BLAKE2b-256 69fa5876eb33c11241337c0a3e0d3c2cedf161db66266a1bc5f9c73829525fd6

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