Unified test runner CLI with framework-agnostic adapters
Project description
SystemEval
Unified test runner CLI with framework-agnostic adapters. One command to run tests in any project.
Installation
# Install from PyPI
pip install systemeval
# Install with pytest support (recommended)
pip install systemeval[pytest]
# Install from source
pip install -e ".[pytest]"
Quick Start
# Initialize config in your project
systemeval init
# Run tests
systemeval test # Run default category
systemeval test --category unit # Run unit tests
systemeval test --category integration # Run integration tests
systemeval test --app agents # Run tests for specific app
systemeval test --file path/to/test.py # Run specific file
# Options
systemeval test --parallel # Parallel execution
systemeval test --coverage # With coverage report
systemeval test --json # JSON output for CI
systemeval test --verbose # Detailed output
Configuration
Create systemeval.yaml in your project root:
project:
name: my-project
type: django
# Which adapter to use
adapter: pytest
# Adapter-specific config
pytest:
config_file: pytest.ini
base_path: backend/
default_category: unit
# Test categories
categories:
unit:
markers: [unit]
description: "Unit tests - isolated, no external dependencies"
integration:
markers: [integration]
description: "Integration tests - multiple components together"
api:
markers: [api]
description: "API endpoint tests"
pipeline:
markers: [pipeline]
description: "Full pipeline tests"
requires: [docker]
# Environment detection
environment:
docker:
detection:
- file: /.dockerenv
- env: DOCKER_CONTAINER=true
local:
database: sqlite
# Output settings
reporting:
format: table
colors: true
Commands
| Command | Description |
|---|---|
systemeval test |
Run tests |
systemeval init |
Create config file |
systemeval validate |
Validate config |
systemeval list categories |
Show available categories |
Exit Codes
| Code | Meaning |
|---|---|
| 0 | All tests passed |
| 1 | One or more tests failed |
| 2 | Configuration or execution error |
Adapters
Pytest (Default)
Works with any Python project using pytest:
adapter: pytest
pytest:
config_file: pytest.ini
base_path: .
default_category: unit
Jest (Coming Soon)
For JavaScript/TypeScript projects:
adapter: jest
jest:
config_file: jest.config.js
Key Design Principles
- One Command:
systemeval testworks the same in every project - Adapter Pattern: Test framework is an implementation detail
- Deterministic: Exit codes 0/1/2 only - no ambiguity
- Docker-Aware: Auto-detects container environment
- CI-Friendly: JSON output, proper exit codes
License
MIT License - see LICENSE for details.
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 systemeval-0.1.2.tar.gz.
File metadata
- Download URL: systemeval-0.1.2.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00a92aede615dd9526ac094936d9f6ed155499da367e51df924b7a2266c84cc7
|
|
| MD5 |
ac4467c28b2e8534ab9155a7365eeaf8
|
|
| BLAKE2b-256 |
e93644c84cfeae58c933188ccb29e8aad44233b6aaf4f99237d5c2a01a408ce4
|
File details
Details for the file systemeval-0.1.2-py3-none-any.whl.
File metadata
- Download URL: systemeval-0.1.2-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc397e7a658d0c52959ae39643cee1f345aaab733c319b2df33c09259ccf2fc2
|
|
| MD5 |
14e0409e2ea229593199dbca31be6034
|
|
| BLAKE2b-256 |
f1e1803bf81beb69f5981f7ff0c3dbef9cab321030eecd7e3ee15a47bd3af3f9
|