Skip to main content

A C/S architecture test runner for heavy AI projects.

Project description

Sprintest

PyPI version

[English] | 简体中文

Sprintest is a Client-Server (C/S) architecture test runner designed for heavy AI projects. It addresses the slow startup times of large models and datasets by keeping them preloaded in memory.

Core Advantages

  • Preloading: Keep heavy dependencies (like PyTorch, Transformers, or large datasets) loaded in the daemon process, reducing test startup time from minutes to seconds.
  • Strong Hot-Reloading: Automatically detects and nukes modified modules in the current directory, ensuring tests run against the latest code without restarting the daemon.
  • Agent Friendly: Designed with AI coding agents in mind—providing fast feedback loops, purified output (ANSI-free), and stable communication.

Installation

pip install sprintest

Quick Start

  1. Start the Daemon: In your project root, run:

    sprintest-daemon
    
  2. Run Tests: In another terminal, run:

    sprintest tests/your_test_file.py
    

Configuration

You can customize Sprintest using environment variables:

  • SPRINTEST_PORT: Set the port for the daemon and CLI communication (default: 8000).
  • SPRINTEST_TARGET_PKG: Set the name of the package to be hot-reloaded (e.g., your project's main package name). This ensures changes in your source code are detected.

Example:

export SPRINTEST_PORT=8001
export SPRINTEST_TARGET_PKG=my_project
sprintest-daemon

Regression Testing

To ensure stability, Sprintest includes integration tests. Run them using standard pytest:

pytest tests/test_sprintest_integration.py

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

sprintest-0.1.1.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

sprintest-0.1.1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file sprintest-0.1.1.tar.gz.

File metadata

  • Download URL: sprintest-0.1.1.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sprintest-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7a0f66178537f7718d940dccf071f0dc7de57a78c0aced975def483e0239860a
MD5 2fb0596319531480d75d2056620c1c9d
BLAKE2b-256 dccd6ec46f38690e8573cfffcc800433ea5bbde5fb04c81b495bfba82df5fc4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sprintest-0.1.1.tar.gz:

Publisher: publish.yml on QingGo/sprintest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sprintest-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sprintest-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sprintest-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ec0ce842c527cef985ee39d6ca727e80ba3778ef428fafa01be19205b0322bef
MD5 d070694a08c2850afe249d6b306b8352
BLAKE2b-256 66ff6e56015152a304170408c12b243ffbab25e3833113fbeb730898031a139f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sprintest-0.1.1-py3-none-any.whl:

Publisher: publish.yml on QingGo/sprintest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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