Skip to main content

Rust-powered Python test runner using PyO3

Project description

cobratest

cobratest is a Rust-based Python test runner scaffold using PyO3 to discover and execute Python tests.

Install with pip

Create and activate a virtual environment, then install from the repository root:

python3 -m venv .venv
source .venv/bin/activate
pip install .

After installation, the cobratest command will be available in the virtual environment:

cobratest --help

The install also provides an importable Python package and module entrypoint:

python -c "import cobratest; print(cobratest.__version__)"
python -m cobratest --help

Features

  • Python AST-based discovery for def test_* functions and Test* classes
  • Support for simple parametrized tests via @pytest.mark.parametrize
  • Module and class fixtures: setup_module, teardown_module, setup_class, teardown_class, setup_function, teardown_function, setup_method, teardown_method
  • Parallel execution with rayon
  • CLI and library API support via cobratest crate
  • JSON output for integration and tooling
  • Plugin-style extension API with cobratest::CobratestPlugin and cobratest::register_plugin

Testing

Run tests using the cobratest command:

# List all discovered tests
cobratest list .

# Run all tests
cobratest run .

# Run tests in a specific directory
cobratest run ./tests/python

# Run with JSON output for integration
cobratest run . --json

For development, use cargo directly:

# Build and list tests
cargo run -- list .

# Build and run tests
cargo run -- run .

Getting started

  1. Install Rust and Python.
  2. Run cargo run -- list .
  3. Run cargo run -- run .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

cobratest-0.1.0-cp314-cp314-manylinux_2_34_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

File details

Details for the file cobratest-0.1.0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for cobratest-0.1.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1ca8965e440a7407c256f734d19eb4d37c8eb8f2764030f7fb3b2cf3ff46d23a
MD5 9d915fe45ab21137bf4161da5a368bb2
BLAKE2b-256 c5a3d67be3a0f23462b7c652492b65d6b4cc0f22f0647135974da2b238fb0a0a

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