Skip to main content

Rust powered pytest-compatible runner

Project description

rustest logo

Rustest (pronounced like Russ-Test) is a Rust-powered test runner that aims to provide the most common pytest ergonomics with a focus on raw performance. Get massive speedups (8.5ร— average, up to 19ร— faster) with familiar syntax and minimal setup.

๐Ÿ“š Full Documentation | Getting Started | User Guide | API Reference

๐Ÿš€ Try It Now โ€” Zero Commitment

Test rustest on your existing pytest suite in 10 seconds:

# Using uv
uv add rustest
uv run rustest --pytest-compat tests/

# Or using pip
pip install rustest
python -m rustest --pytest-compat tests/

That's it! The --pytest-compat flag lets you run your existing pytest tests with rustest without changing a single line of code. See the speedup immediately, then decide if you want to migrate.

What does --pytest-compat do?

The --pytest-compat mode intercepts import pytest statements and provides rustest implementations transparently:

  • โœ… Works with existing @pytest.fixture, @pytest.mark.*, @pytest.mark.parametrize()
  • โœ… Fixture parametrization: @pytest.fixture(params=[...]) with request.param
  • โœ… Request object: request.node (test metadata/markers), request.config (options/ini values)
  • โœ… Supports pytest.param() with custom IDs
  • โœ… Built-in fixtures: tmp_path, tmpdir, monkeypatch, capsys, capfd, caplog, cache, request
  • โœ… Handles pytest.raises(), pytest.fail(), pytest.skip(), pytest.xfail(), pytest.approx()
  • โœ… Async support: @pytest.mark.asyncio for async tests (built-in, no plugin needed)
  • โœ… Warning capture: pytest.warns(), pytest.deprecated_call()
  • โœ… Module skipping: pytest.importorskip()
  • โœ… No code changes required โ€” just run and compare!

Known Limitations:

  • โš ๏ธ No pytest plugin support (by design - see Plugin Compatibility)
  • โš ๏ธ No _pytest module internals (assertion rewriting, hook system)
  • โš ๏ธ request.node.parent, request.node.session are always None
  • โš ๏ธ Advanced pytest features require migration (see Migration Guide)

Example output:

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘             RUSTEST PYTEST COMPATIBILITY MODE              โ•‘
โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ
โ•‘ Running pytest tests with rustest.                         โ•‘
โ•‘                                                            โ•‘
โ•‘ Supported: fixtures, parametrize, marks, approx            โ•‘
โ•‘ Built-ins: tmp_path, tmpdir, monkeypatch, capsys, capfd,   โ•‘
โ•‘            caplog, cache, request (with node & config)     โ•‘
โ•‘ Functions: skip(), xfail(), fail(), raises(), warns()      โ•‘
โ•‘ Async: @mark.asyncio (built-in, no plugin needed)          โ•‘
โ•‘                                                            โ•‘
โ•‘ NOTE: Plugin APIs are stubbed (non-functional).            โ•‘
โ•‘ pytest_asyncio and other plugins can import,               โ•‘
โ•‘ but advanced plugin features won't work.                   โ•‘
โ•‘                                                            โ•‘
โ•‘ For full features, use native rustest:                     โ•‘
โ•‘   from rustest import fixture, mark, ...                   โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

Once you see the performance gains, migrate to native rustest imports for the full feature set.

Why rustest?

  • ๐Ÿš€ 8.5ร— average speedup over pytest on the synthetic benchmark matrix (peaking at 19ร— on 5k-test suites)
  • ๐Ÿงช Pytest compatibility mode โ€” Run existing pytest tests without code changes (--pytest-compat)
  • โœ… Familiar @fixture, @parametrize, @skip, and @mark decorators
  • ๐Ÿ”„ Built-in async support with @mark.asyncio (like pytest-asyncio, no plugin needed)
  • ๐Ÿ” Automatic test discovery (test_*.py and *_test.py files)
  • ๐Ÿ“ Built-in markdown code block testing (like pytest-codeblocks, but faster)
  • ๐ŸŽฏ Simple, clean APIโ€”if you know pytest, you already know rustest
  • ๐Ÿงฎ Built-in approx() helper for tolerant numeric comparisons
  • ๐Ÿชค raises(), skip(), xfail(), fail() for test control
  • ๐Ÿ› ๏ธ Built-in fixtures: tmp_path, tmpdir, monkeypatch, capsys, capfd, caplog, cache, request
  • ๐Ÿ“Š Request object: request.node for test metadata/markers, request.config for options
  • ๐Ÿ“ฆ Easy installation with pip/uv, or try instantly with uvx/pipx
  • โšก Low-overhead execution keeps small suites feeling instant
  • ๐Ÿ› Crystal-clear error messages that make debugging effortless

Performance

Rustest is designed for speed. The new benchmark matrix generates identical pytest and rustest suites ranging from 1 to 5,000 tests and runs each command five times. Rustest delivers an 8.5ร— average speedup and reaches 19ร— faster execution on the largest suite:

Test Count pytest (mean) rustest (mean) Speedup pytest tests/s rustest tests/s
1 0.428s 0.116s 3.68x 2.3 8.6
5 0.428s 0.120s 3.56x 11.7 41.6
20 0.451s 0.116s 3.88x 44.3 171.7
100 0.656s 0.133s 4.93x 152.4 751.1
500 1.206s 0.146s 8.29x 414.4 3436.1
1,000 1.854s 0.171s 10.83x 539.4 5839.4
2,000 3.343s 0.243s 13.74x 598.3 8219.9
5,000 7.811s 0.403s 19.37x 640.2 12399.7

What speedup should you expect?

  • Tiny suites (โ‰ค20 tests): Expect ~3โ€“4ร— faster runs. Startup costs dominate here, so both runners feel instant, but rustest still trims a few hundred milliseconds on every run.
  • Growing suites (โ‰ˆ100โ€“500 tests): Expect ~5โ€“8ร— faster execution. Once you have a few dozen files, rustest's lean discovery and fixture orchestration start to compound.
  • Large suites (โ‰ฅ1,000 tests): Expect ~11โ€“19ร— faster runs. Bigger suites amortize startup overhead entirely, letting rustest's Rust core stretch its legs and deliver order-of-magnitude gains.

Highlights:

  • 8.5ร— average speedup across the matrix (geometric mean 7.0ร—)
  • 16.2ร— weighted speedup when weighting by the number of executed tests
  • 1.45s total runtime for rustest vs 16.18s for pytest across all suites

Reproduce the matrix locally:

python3 profile_tests.py --runs 5
python3 generate_comparison.py

Real-world integration suite (~200 tests)

Our integration suite remains a great proxy for day-to-day use and still shows a ~2.1ร— wall-clock speedup:

Test Runner Wall Clock Speedup Command
pytest 1.33โ€“1.59s 1.0x (baseline) pytest tests/ examples/tests/ -q
rustest 0.69โ€“0.70s ~2.1x faster python -m rustest tests/ examples/tests/

Rustest's own test suite (~500 tests)

Running rustest's comprehensive test suite demonstrates both the performance gains and compatibility:

Test Runner Test Count Wall Clock Speedup Notes
pytest 457 tests 1.95โ€“2.04s 1.0x (baseline) With pytest-asyncio plugin
rustest 497 tests 0.54โ€“0.58s ~3.6x faster Built-in async & fixture parametrization

Key Points:

  • Shared test suite compatibility - 457 tests use from rustest import fixture, mark but run seamlessly with both pytest and rustest thanks to conftest.py automatic import compatibility
  • Rustest is ~3.6ร— faster on the same test workload without requiring external plugins
  • pytest requires pytest-asyncio plugin for async support; rustest has it built-in
  • Both support fixture parametrization - rustest natively, pytest through standard @pytest.fixture(params=[...])
  • rustest includes 40 additional tests for its pytest compatibility layer that only run with rustest

This demonstrates rustest's design philosophy: provide pytest-compatible APIs with significantly better performance and built-in features.

Large parametrized stress test

With 10,000 parametrized invocations:

Test Runner Avg. Wall Clock Speedup Command
pytest 9.72s 1.0x pytest benchmarks/test_large_parametrize.py -q
rustest 0.41s ~24x faster python -m rustest benchmarks/test_large_parametrize.py

๐Ÿ“Š View Detailed Performance Analysis โ†’

Debugging: Crystal-Clear Error Messages

Rustest transforms confusing assertion failures into instantly readable error messages. Every test failure shows you exactly what went wrong and what was expected, without any guesswork.

Enhanced Error Output

Rustest makes failed assertions obvious. Here's a simple example:

Your test code:

def test_numeric_comparison():
    actual = 42
    expected = 100
    assert actual == expected

What Rustest shows when it fails:

Code:
    def test_numeric_comparison():
        actual = 42
        expected = 100
      โ†’ assert actual == expected

E   AssertionError: assert 42 == 100
E   Expected: 100
E   Received: 42

โ”€ /path/to/test_math.py:5

What you get:

  • ๐Ÿ“ Code Context โ€” Three lines of surrounding code with the failing line highlighted.
  • โœจ Vitest-style Output โ€” Clear "Expected" vs "Received" values with color coding.
  • ๐Ÿ” Value Substitution โ€” Real runtime values are inserted into the assertion (e.g., assert 42 == 100).
  • ๐ŸŽฏ Frame Introspection โ€” Even minimal assertions like assert result == expected show both runtime values.
  • ๐Ÿ”— Clickable Locations โ€” File paths appear as clickable links for fast navigation in supported editors.

Real-World Example

Your test code:

class User:
    def __init__(self, email: str):
        self.email = email

def create_user(name: str, age: int):
    """Return a User with a properly formatted email."""
    return User(f"{name.lower()}@company.com")

def test_user_creation():
    user = create_user("Alice", 25)
    # Intentional mistake for demonstration:
    user.email = "alice.wrong@example.com"
    assert user.email == "alice@company.com"

What Rustest shows when it fails:

Code:
    def test_user_creation():
        user = create_user("Alice", 25)
        user.email = "alice.wrong@example.com"
      โ†’ assert user.email == "alice@company.com"

E   AssertionError: assert 'alice.wrong@example.com' == 'alice@company.com'
E   Expected: alice@company.com
E   Received: alice.wrong@example.com

โ”€ /path/to/test_users.py:10

No more debugging confusion! You immediately see what value was received, what was expected, and where it failed โ€” all in a format inspired by pytest and vitest.

Installation

Rustest supports Python 3.10 through 3.14.

Try First (No Installation)

Test rustest on your existing pytest tests without installing anything:

# Try it instantly with uvx (recommended)
uvx rustest --pytest-compat tests/

# Or with pipx
pipx run rustest --pytest-compat tests/

Install Permanently

Once you're convinced, install rustest:

# Using pip
pip install rustest

# Using uv (recommended for new projects)
uv add rustest

๐Ÿ“– Installation Guide โ†’

Quick Start

๐Ÿ’ก Already have pytest tests? Skip to step 2 and use rustest --pytest-compat tests/ to run them immediately without changes!

1. Write Your Tests

Create a file test_math.py:

from rustest import fixture, parametrize, mark, approx, raises
import asyncio

@fixture
def numbers() -> list[int]:
    return [1, 2, 3, 4, 5]

def test_sum(numbers: list[int]) -> None:
    assert sum(numbers) == approx(15)

@parametrize("value,expected", [(2, 4), (3, 9), (4, 16)])
def test_square(value: int, expected: int) -> None:
    assert value ** 2 == expected

@mark.slow
def test_expensive_operation() -> None:
    result = sum(range(1000000))
    assert result > 0

@mark.asyncio
async def test_async_operation() -> None:
    # Example async operation
    await asyncio.sleep(0.001)
    result = 42
    assert result == 42

def test_division_by_zero() -> None:
    with raises(ZeroDivisionError, match="division by zero"):
        1 / 0

2. Run Your Tests

# Run all tests
rustest

# Run specific tests
rustest tests/

# Run existing pytest tests without code changes
rustest --pytest-compat tests/

# Filter by test name pattern
rustest -k "test_sum"

# Filter by marks
rustest -m "slow"                    # Run only slow tests
rustest -m "not slow"                # Skip slow tests
rustest -m "slow and integration"    # Run tests with both marks

# Rerun only failed tests
rustest --lf                         # Last failed only
rustest --ff                         # Failed first, then all others

# Exit on first failure
rustest -x                           # Fail fast

# Combine options
rustest --ff -x                      # Run failed tests first, stop on first failure

# Show output during execution
rustest --no-capture

๐Ÿ“– Full Quick Start Guide โ†’

Documentation

๐Ÿ“š Full Documentation

Getting Started

User Guide

API Reference

Advanced Topics

Feature Comparison with pytest

Rustest implements the 20% of pytest features that cover 80% of use cases, with a focus on raw speed and simplicity.

๐Ÿ“‹ View Full Feature Comparison โ†’

โœ… Supported:

  • Core features: Fixtures, fixture parametrization, test parametrization, marks, test classes, conftest.py, markdown testing
  • Built-in fixtures: tmp_path, tmpdir, monkeypatch, capsys, capfd, caplog, cache, request
  • Test utilities: pytest.raises(), pytest.fail(), pytest.approx(), pytest.warns()
  • Async testing: @mark.asyncio (pytest-asyncio compatible)
  • Pytest compatibility mode: Run existing pytest tests with --pytest-compat (no code changes!)

๐Ÿšง Planned: Parallel execution, JUnit XML output, more built-in fixtures

โŒ Not Planned: Plugins, hooks, custom collectors (keeps rustest simple)

Contributing

We welcome contributions! See the Development Guide for setup instructions.

Quick reference:

# Setup
git clone https://github.com/Apex-Engineers-Inc/rustest.git
cd rustest
uv sync --all-extras
uv run maturin develop

# Run tests
uv run poe pytests  # Python tests
cargo test          # Rust tests

# Format and lint
uv run pre-commit install  # One-time setup
git commit -m "message"    # Pre-commit hooks run automatically

License

rustest is distributed under the terms of the MIT license. See 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

rustest-0.12.0.tar.gz (293.3 kB view details)

Uploaded Source

Built Distributions

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

rustest-0.12.0-cp313-cp313-win_amd64.whl (995.6 kB view details)

Uploaded CPython 3.13Windows x86-64

rustest-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rustest-0.12.0-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rustest-0.12.0-cp312-cp312-win_amd64.whl (995.6 kB view details)

Uploaded CPython 3.12Windows x86-64

rustest-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rustest-0.12.0-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rustest-0.12.0-cp311-cp311-win_amd64.whl (997.1 kB view details)

Uploaded CPython 3.11Windows x86-64

rustest-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rustest-0.12.0-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rustest-0.12.0-cp310-cp310-win_amd64.whl (997.5 kB view details)

Uploaded CPython 3.10Windows x86-64

rustest-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rustest-0.12.0-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file rustest-0.12.0.tar.gz.

File metadata

  • Download URL: rustest-0.12.0.tar.gz
  • Upload date:
  • Size: 293.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0.tar.gz
Algorithm Hash digest
SHA256 964aa6da31acfcc5f09fd715cb73539ee01b49128febde5e6fe83b96832caabc
MD5 074f3f6e2bc70c3fdd6eb1872df936eb
BLAKE2b-256 01e416267b8b3918bbbc3a8ee431315a3bc24c908b032d74f0bebe97c5b12b62

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 995.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a953b692eca066cffd4c0aecc018eb6e972a9948ba02e7c94065d8211e47eaee
MD5 6910b47a349b91c3561365741a1f4e3b
BLAKE2b-256 1070c879bcb4a7c7112350e920e395092b2b55ec73e0fe2ddd93d7230e902052

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c5aeb206f16df9dcc5ff49efd702ce6d7786e98163e0039b779b7e101dce572
MD5 7383ddf88b6eaa4021b1d51603228fae
BLAKE2b-256 6f8854443aa71c73454a2c88befbc935b724230caedbbb5971b2ef4813c4adf4

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a2225c5f31da652b1c137bacfdff4faa30f0d3a7dfd03dfb425055d247146b5
MD5 6141ef5508065829aea1cb00f9636370
BLAKE2b-256 5223054a18d07b0a589921bcf566d2bfaeee0f58572f805dea3370800635887b

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 995.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fc73c09b6f97901f082d84b011e47ec89103ebd768cd2d57e2b20302bc22004e
MD5 668ef473c92ba5fb16499e000721eee3
BLAKE2b-256 bd238c9e40aa0dd44070ef9e7fa779642373ea74bedf363b2e8295a7b3d6ea6b

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 023819c69c71020f65c9ba088c843997e60786e4a19dbd907052a89e29a32091
MD5 af1e53f0b41db157b8c20d7037580f9a
BLAKE2b-256 af0030c262cd357099e2405cd7f3cd4f6cf267af0c8d4f734ae01666732f90c4

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1d062e99637df2a90e813899034679f023ad0398408d822fa4349e12ebbd544
MD5 884c8e160c15597bbea90334e021cd98
BLAKE2b-256 5d657fd0bfb6fe7915c7e458d13cc2473e5d898da39f20ff492ca4a223cfe99e

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 997.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ede44ae7f0ffeefabb5dbd426552f990cbdbb2c36ceed926766996537f767c93
MD5 a97ad0ab84b0b441f087b9fb7690c27c
BLAKE2b-256 0b3b3aca5f15405838d0252caf5911a9b986b417e5784bd6bbb42cf4c28f8aee

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30abb280e468883e3e43024f4df241cda69c7c23cb4b8f2eb1ab85c68fad9dca
MD5 3fcd247a8713b6660f7b8d79ea572827
BLAKE2b-256 e6d9f3c2ae95129472e66345daaf0df0ca0a8a15649eda49d3db4dce994e1ed2

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc889392d60c3f2cc86bab6f5ab7653be36afdfc831fcba38bb568632522e7b1
MD5 54482e985f533e697faee84a46b12343
BLAKE2b-256 c5efef8373810a2c07b2cbe5c31edd08b05a251c95a24b6c42c0e1a9c3f81fae

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 997.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bb580aeae916dca856155c175c8b318b810704f55126eab187cf3f4693f1bd4e
MD5 1d4d99bff3eb41c5c5b960c4adaaeb37
BLAKE2b-256 18a18f496fbf8b4582d0b4fd8cca53f80077875714fdfb7f332c6aa8e2bf2114

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 276665160c3f6fa8134ad26ca324d79ea394ba4f48543aedd73a90365b5dff5c
MD5 3efb1cf87a0cfcbed96fdcf27209fdce
BLAKE2b-256 75646d50a071a4ec2155d5545631a8d6c0f027d9e137c112ec41bce080c87cee

See more details on using hashes here.

File details

Details for the file rustest-0.12.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rustest-0.12.0-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 rustest-0.12.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1abe4871d46d228fb4313777f0bb2318dbe7eca4aacf9350a582c54f1f411570
MD5 faf08b5612228f1d97428ea9b31fe867
BLAKE2b-256 e12f56cf64426502cb00af52d6a33d5c075a6c6bffa3685bcc38a6eef55c1782

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