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:

uv run pytest tests

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.2.tar.gz (13.2 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.2-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sprintest-0.1.2.tar.gz
  • Upload date:
  • Size: 13.2 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.2.tar.gz
Algorithm Hash digest
SHA256 20353c4ec8c57c559fb1dbe753502453c6c6bd39270511d0cda30e254daa20ea
MD5 30be21e1a7f436c02b19a37ed246f488
BLAKE2b-256 5e019119bb1e53ee7287ac6abdc7e759190fe8105cb40ccf9d616d86a948e164

See more details on using hashes here.

Provenance

The following attestation bundles were made for sprintest-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: sprintest-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4b255db5a06b6d7eee64a3703b55c467fdcd72d69234ed4df33e7e633b5b44ad
MD5 2b553f224b1d13e20140574a9d5f9256
BLAKE2b-256 5f388a1c5c666e55ad546e23cc2cf5b93ab61c39b78eb91947a4ed7261f5cfbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sprintest-0.1.2-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