marionette-test
Automated API testing tool for Spring projects, with custom action hooks and an Essay-compatible evidence layout.
Alpha — V1 backend-API surface is implemented and tested. See
docs/marionette-test/for the design specs anddocs/guides/for user-facing documentation.
Install
pip install marionette-test
Quick start
cd <your-project>
marionette-test init # scaffold workspace
$EDITOR config/env.yml # point at your backend + DB
export DB_PASSWORD=... API_BEARER_TOKEN=...
marionette-test doctor # six read-only checks
marionette-test run # execute every FeatureUnit
marionette-test serve # FastAPI + UI on :8765
A complete walk-through is in docs/guides/01-getting-started.md.
User guides
| Guide | What it covers |
|---|---|
| 01 — Getting Started | Install, scaffold, write & run your first test |
| 02 — Writing FeatureUnits | Full YAML schema reference |
| 03 — Custom Actions | @action, Context, 4 hook timings |
| 04 — Database Baseline | pg_dump / pg_restore / clone lifecycle |
| 05 — CLI Reference | Every subcommand and flag |
| 06 — Variables & Assertions | ${...} grammar, expect.* rule grammar |
Develop locally
This repo uses uv for environment management.
uv sync # create .venv and install runtime + dev deps
uv run marionette-test --version
uv run pytest # full test suite
uv run ruff check src/ tests/
Build a wheel locally:
uv run hatch build # produces dist/*.whl + *.tar.gz
Build the React UI (output lands inside the Python package so the wheel ships it):
cd web
npm install
npm run build # → src/marionette/test/web_dist/
License
MIT — see LICENSE.
Metadata
Release files for marionette-test 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| marionette_test-0.1.6.tar.gz | 235.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| marionette_test-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 344.8 kB
Release files / marionette_test-0.1.6.tar.gz
| Download URL | marionette_test-0.1.6.tar.gz |
|---|---|
| Size | 235.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37988095d53fb0ad689d9d9e8f5d37ef071cf20bbaf59d88439af519d2d54da1
|
|
BLAKE2b-256 checksum How to use checksums |
567161f49e2fefe77b75ff6e1fce8352b6ef214df15ad9721906cc6de5b27e45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / marionette_test-0.1.6-py3-none-any.whl
| Download URL | marionette_test-0.1.6-py3-none-any.whl |
|---|---|
| Size | 109.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fcdee66007df8cdfe70ffa6b73f288550e3944ead312fe5fa647cda2d3361589
|
|
BLAKE2b-256 checksum How to use checksums |
6f66a6396fd447bc48a774ac2ac8de86a811bf50fd2cfa541b61f79aea364e74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|