Skip to main content

A Python test framework, written in Rust.

Project description

Karva (0.0.1-alpha.4)

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.1a4.tar.gz (173.5 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.1a4-cp310-abi3-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.10+Windows x86-64

karva-0.0.1a4-cp310-abi3-win32.whl (3.3 MB view details)

Uploaded CPython 3.10+Windows x86

karva-0.0.1a4-cp310-abi3-musllinux_1_2_x86_64.whl (4.6 MB view details)

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

karva-0.0.1a4-cp310-abi3-musllinux_1_2_i686.whl (4.6 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

karva-0.0.1a4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

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

karva-0.0.1a4-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (4.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ i686

karva-0.0.1a4-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

karva-0.0.1a4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

karva-0.0.1a4-cp310-abi3-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

karva-0.0.1a4-cp310-abi3-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: karva-0.0.1a4.tar.gz
  • Upload date:
  • Size: 173.5 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.1a4.tar.gz
Algorithm Hash digest
SHA256 7a47c3b2abfea9e0ac1a3041e1cf758b671a044d9a27bf63775540cae4ec596a
MD5 1248dd4656b59c003e9425ee6faf9dd5
BLAKE2b-256 8366ead8f5c5ed1f4e6c4b002e1b391274c80ddd083b97c5887698dff521ffbc

See more details on using hashes here.

File details

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

File metadata

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

Hashes for karva-0.0.1a4-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d7c64f878faa7a78484d57ec4b884281230e4107372c81c81a22323599771919
MD5 e4086a38f724f07b01aca8fcbbfc7af5
BLAKE2b-256 ecaf97472bfe13ab4c234f1cd335bbf5c06406b0878fb82ed7a86d367824a205

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-win32.whl
  • Upload date:
  • Size: 3.3 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.1a4-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 040d0c88922d3901ce6669199b9c44c9b86b3cb8f7b5289784c9a95729081541
MD5 e7da1cc1b8acf1e3851dba5fc925ec8e
BLAKE2b-256 8e6bd69bc59850a4025cf96d96329d7cfc5b847a22cce84fe93e022a7a3618b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.6 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.1a4-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7ea4386fea69de09d8ee676b8a094f8583378a93c1bec569e4324749805fb1ed
MD5 f12b1b707f845d4e2d31e208d83a43cf
BLAKE2b-256 ff5d9f085210d9098e892c39d779bf2cfb95698c649dad10e4ce90468534cdf3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 4.6 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.1a4-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ee2fee7528050b5445037c0f94b356b6314ceb08f636ab210340f43372a8ff72
MD5 ce28183f2d949da1623e17560beeabc9
BLAKE2b-256 bb52f69b7c5449cf7836d922eb37cc3e3f53bc91b341cc2cba968c3a897d5f32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-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.1a4-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 28fc80783919128903ce84a631a01fd0b73801b321415bf48d8e6502327926b4
MD5 40321f45bc0ed6dcfcbdc313d1341971
BLAKE2b-256 86b8c56353adbc3f9a4a5458c0ad7eaec58817ecae59186befa3c2659677cc8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-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.1a4-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 da3df5da05d5e712d61945bac19b4c12b1cf97bc1bcabf8aa7f822e704a9ffe9
MD5 5271dfac960f9b92726331402696e5f9
BLAKE2b-256 fc1c0b50b7b2e65aac209a57aa6c0ac0cb7827f7379a0c7e7ebff00d75f2a183

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.3 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.1a4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9823209006083c5b8cf78aefb57a0d819089e54e139cdda107594d97797ef24d
MD5 79e8048293179cfeed41434d80e96ea1
BLAKE2b-256 bc0d0757b9d5288c2399dc641783e7e133f6274852a461e6834f0e64e51b1a24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 4.5 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.1a4-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 09cdcb5adfea5b945e578d5bcdf309649a558a9c8c73bfb263ef60cb49a29947
MD5 16bd8d08a2e4b65795226a19a3bd86c4
BLAKE2b-256 620556d6221a4c5dfc420749f3d118a83134d11e8a2a4014e1c27a3e75783c07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 4.2 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.1a4-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6eb182dc18cebb8e440c7d300a7431afeab28a152fb30f59d991aafdaa42927a
MD5 6c52e7ef2632b6d1990279efc3983932
BLAKE2b-256 c9763ae0b0e6f0f8726513597ca9516742f4c242409b572b6005b02e7a2f3f2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 4.2 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.1a4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b31bdb57287c3e2b42e370c51512777413982b4f1a66e5e1eb54897554f23978
MD5 a55d0a4f2aa0b8ab1331c330445db02b
BLAKE2b-256 ff8d2863d1a98df66fd78e6431fe87f94d7781e0541c7686ee329f577bc202d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.9 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.1a4-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e116c672d3a7a1764a05b3cdc8f1a73658599ffd7bb6b8a7a2d40e142be7f07
MD5 2156e1630cc37829e4f520a2657546e7
BLAKE2b-256 84cc46ecdb72c02fc4d2791c6c8c791387634814e63b055cfc3964b47a864a71

See more details on using hashes here.

File details

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

File metadata

  • Download URL: karva-0.0.1a4-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 4.0 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.1a4-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5dc74092ccb11ce57d35a0a08d1293129d7698aaf5f9b6bd49f92540f787af09
MD5 7c7b3ec2bfd4fbfeb677a8fb9887cd88
BLAKE2b-256 1edd22f525082f255cdfc5b56242802fea12c71dfb868477ec62f4f5d39e8e1f

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