Skip to main content

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

  1. One Command: systemeval test works the same in every project
  2. Adapter Pattern: Test framework is an implementation detail
  3. Deterministic: Exit codes 0/1/2 only - no ambiguity
  4. Docker-Aware: Auto-detects container environment
  5. CI-Friendly: JSON output, proper exit codes

License

MIT License - see LICENSE for details.

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

systemeval-0.1.3.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

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

systemeval-0.1.3-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file systemeval-0.1.3.tar.gz.

File metadata

  • Download URL: systemeval-0.1.3.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for systemeval-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2cce80116fc57ac00e529e8f0e60d0591058c36147cd94f4e6f32a9112e8f6ce
MD5 9acd17d29451872d26ecc23810362a38
BLAKE2b-256 84141f2952d7107f6f4a7f6d626f71a73096c5c8ba72cc10fa4743928de5471d

See more details on using hashes here.

File details

Details for the file systemeval-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: systemeval-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for systemeval-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6e153b7e6c629b905ce112cfb63895e37c0aaf0085c9b172ea7b5acc17d53ee5
MD5 b4b1ca6facb47b712a6f0f738caa4b8f
BLAKE2b-256 543707f8ce04bad76ba37b6fd7f8f9f00aaa569e0566262a7ce8ae8694f60076

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