Skip to main content

Portable research harness for experiment specs, evidence, verification, and review.

Project description

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 init creates a per-repository .metasci/ capsule.
  • metasci objective create records project objectives.
  • metasci experiment spec records versioned experiment specifications.
  • metasci experiment run records runs and locks spec content.
  • metasci evidence add records evidence with provenance and verification status.
  • metasci verifier record records verifier outcomes and metrics.
  • metasci verifier define writes local verifier command definitions.
  • metasci report export writes a local markdown project summary.
  • metasci queue add-experiment, metasci queue add-agent, and metasci queue run persist and process local work.
  • metasci agent list detects known local CLI adapters.
  • metasci state summarizes local project state.
  • metasci verify runs local consistency checks.
  • metasci agent run exercises 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

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

metasci-0.3.0.tar.gz (48.7 kB view details)

Uploaded Source

Built Distribution

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

metasci-0.3.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file metasci-0.3.0.tar.gz.

File metadata

  • Download URL: metasci-0.3.0.tar.gz
  • Upload date:
  • Size: 48.7 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for metasci-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2e27e775c6f7b41e0a5b90187f6e2d59ce40641bd782bc264dc390cafe54a20d
MD5 92c76ab92d1c04bd3310d3ed6ffa3ad7
BLAKE2b-256 4fae0579f353769863340e0e70515cb53bf1862d1f78f402d3e6dedd3cc42fc4

See more details on using hashes here.

File details

Details for the file metasci-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: metasci-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for metasci-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff45eeb69d52fac997827fdd7007802fc2a4dc214de34502093201849ca82003
MD5 755548ec8d2ddaf973f8b68b36597178
BLAKE2b-256 c354acc102d8195303718dae735081f3e982951cd1c97f4b1580c22fb509acb5

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