A C/S architecture test runner for heavy AI projects.
Project description
Sprintest
[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
-
Start the Daemon: In your project root, run:
sprintest-daemon
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a0f66178537f7718d940dccf071f0dc7de57a78c0aced975def483e0239860a
|
|
| MD5 |
2fb0596319531480d75d2056620c1c9d
|
|
| BLAKE2b-256 |
dccd6ec46f38690e8573cfffcc800433ea5bbde5fb04c81b495bfba82df5fc4c
|
Provenance
The following attestation bundles were made for sprintest-0.1.1.tar.gz:
Publisher:
publish.yml on QingGo/sprintest
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sprintest-0.1.1.tar.gz -
Subject digest:
7a0f66178537f7718d940dccf071f0dc7de57a78c0aced975def483e0239860a - Sigstore transparency entry: 1340270563
- Sigstore integration time:
-
Permalink:
QingGo/sprintest@04a6ab4e225ee25c3a743dbec2839006046ca448 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/QingGo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@04a6ab4e225ee25c3a743dbec2839006046ca448 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec0ce842c527cef985ee39d6ca727e80ba3778ef428fafa01be19205b0322bef
|
|
| MD5 |
d070694a08c2850afe249d6b306b8352
|
|
| BLAKE2b-256 |
66ff6e56015152a304170408c12b243ffbab25e3833113fbeb730898031a139f
|
Provenance
The following attestation bundles were made for sprintest-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on QingGo/sprintest
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sprintest-0.1.1-py3-none-any.whl -
Subject digest:
ec0ce842c527cef985ee39d6ca727e80ba3778ef428fafa01be19205b0322bef - Sigstore transparency entry: 1340270579
- Sigstore integration time:
-
Permalink:
QingGo/sprintest@04a6ab4e225ee25c3a743dbec2839006046ca448 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/QingGo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@04a6ab4e225ee25c3a743dbec2839006046ca448 -
Trigger Event:
push
-
Statement type: