Metasci
Metasci is a research harness for scientific experimentation and discovery. It provides a portable CLI control plane for objectives, hypotheses, experiment specs, evidence, verification, artifacts, and human feedback across repositories.
Status
This repository contains the first Python package skeleton:
metasci initcreates a per-repository.metasci/capsule.metasci objective createrecords project objectives.metasci experiment specrecords versioned experiment specifications.metasci experiment runrecords runs and locks spec content.metasci evidence addrecords evidence with provenance and verification status.metasci verifier recordrecords verifier outcomes and metrics.metasci verifier definewrites local verifier command definitions.metasci report exportwrites a local markdown project summary.metasci queue add-experiment,metasci queue add-agent, andmetasci queue runpersist and process local work.metasci agent listdetects known local CLI adapters.metasci statesummarizes local project state.metasci verifyruns local consistency checks.metasci agent runexercises the adapter boundary. External CLI execution is opt-in with--execute.
Development
uv sync --dev
uv run pytest
uv run ruff check .
uv run mypy src
Local Verifiers
Verifier definitions live under .metasci/verifiers/ as JSON files. Commands
are stored as argument arrays, not shell strings.
metasci verifier define python-tests \
--command python \
--command -m \
--command pytest
metasci verify --verifier python-tests
Queue
The local queue is stored in SQLite and can be resumed after process exit.
metasci queue add-agent "Summarize current evidence" --adapter dry_run
metasci queue list
metasci queue run
Install
After the first PyPI release:
uvx metasci --help
uv add --dev metasci
pip install metasci
For local development:
uv pip install -e .
uv add --dev --editable .
Installed CLI:
metasci --help
python -m metasci --help
Release
This repository is configured for PyPI Trusted Publishing through
.github/workflows/publish-pypi.yml. Configure the PyPI trusted publisher with:
- Project:
metasci - Owner:
pylit-ai - Repository:
metasci - Workflow:
publish-pypi.yml - Environment:
pypi
Release checklist:
uv run python scripts/check_release_hygiene.py
uv run python scripts/check_version_tag.py v0.1.0
uv run pytest
uv run ruff check .
uv run mypy src
uv build
uvx --from twine twine check dist/*
git tag v0.1.0
git push origin v0.1.0
Metadata
Release files for metasci 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| metasci-0.3.0.tar.gz | 48.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| metasci-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.2 kB
Release files / metasci-0.3.0.tar.gz
| Download URL | metasci-0.3.0.tar.gz |
|---|---|
| Size | 48.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e27e775c6f7b41e0a5b90187f6e2d59ce40641bd782bc264dc390cafe54a20d
|
|
BLAKE2b-256 checksum How to use checksums |
4fae0579f353769863340e0e70515cb53bf1862d1f78f402d3e6dedd3cc42fc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / metasci-0.3.0-py3-none-any.whl
| Download URL | metasci-0.3.0-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff45eeb69d52fac997827fdd7007802fc2a4dc214de34502093201849ca82003
|
|
BLAKE2b-256 checksum How to use checksums |
c354acc102d8195303718dae735081f3e982951cd1c97f4b1580c22fb509acb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|