Skip to main content

mostlyright-data

Browse datasets built by our community or create your own with agents that find the sources and configure the pipeline. Mostly Right treats a successful run as one readable dataset version; publishing that version does not by itself prove that catch-up or scheduled refresh is running.

mostlyright-data is the command-line client. It probes sources, registers one recipe document, starts and follows hosted dataset runs, reads what they delivered, and downloads the datasets after they finish.

Requirements

Use CPython 3.13 or newer.

Install

python -m pip install mostlyright-data

That is the whole install. There is no second profile and no lane to choose: every mr-data command sends its work to the backend, and it works on Linux, macOS, and Windows.

It also carries the mr-data-build agent skill, which Claude Code and Codex read to author a recipe without rediscovering the contract a run at a time. The first mr-data command you run places it in your agent's skill directory; there is nothing to install by hand. A skill you have edited yourself is never replaced, and MOSTLYRIGHT_SKILL_AUTOINSTALL=0 switches the placement off.

Sign in

mr-data login
mr-data whoami

login stores a device key on the current machine. whoami checks that key.

Check the installation

mr-data --version
mr-data --help

Build a dataset

Create the dataset, choose its primary category from the fixed vocabulary, then register a recipe document with the sources, table schema, transformations and checks. Use the created dataset ID in the recipe:

mr-data dataset create --name "Dataset title" --json
mr-data dataset categories --json
mr-data dataset set DATASET_ID --category climate-environment
mr-data recipe recipe.json --json
mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --full
mr-data status RUN_ID
mr-data checks RUN_ID
mr-data download RUN_ID --output ./out

Use the identifiers returned by registration and run submission. mr-data dataset create creates a dataset page before a recipe is ready. mr-data watch RUN_ID follows a submitted run.

To request an offline replay of retained inputs with a registered revision:

mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --mode replay --sources-from RUN_ID

Studio must have replay enabled and the named successful run must belong to the same table with its raw inputs still retained. Replay compares against that run and never becomes the live version. Studio returns a typed refusal when replay is unavailable; the CLI does not fetch sources locally.

The hosted engine executes sample, full and refresh runs. A refresh uses each source's declared update behavior: bounded source windows merge with retained history; snapshot sources are revalidated or acquired again. The table's transformations and checks run over the resulting source relations. URL windows may use declared query parameters or path placeholders; a fixed date URL does not advance automatically. Configure a correction lookback where the publisher can revise earlier observations.

A source exposing only its current snapshot cannot supply a historical delta. It remains a supported source, with snapshot comparison and recomputation rather than a claim that only new rows were fetched. Recorded streams use their registered capture and continuation semantics.

See Recipe documents for source-window and bootstrap contracts. A table's first succeeded run goes live on its own, whatever mode it was; mr-data promote TABLE_ID records how often it refreshes and why, and puts back a table that was withdrawn. Claim a table is live and current only when Studio returns that evidence.

There is no local execution

There used to be. A second product lane built datasets on your own machine, and mr-data carried about fifty commands for making, running, serving, indexing, checking and signing a build here. That lane is gone: the engine it ran now ships only inside the backend's worker images.

mr-data --help lists every command this product has. The execution engine and its dependency closure live in Mostly Right Studio's apps/worker; this repository ships no engine extras, worker executables or image publisher.

Documentation

Use mr-data --help for the full command list and options. Commands that support --json write one JSON object.

--output may use a relative path.

Behavior and limits

  • Weather Reader versions 1 and 2 accept one extracted GRIB2 record and refuse a multi-record GFS or HRRR file. Version 3 reads a bounded collection and selects exactly one sealed record.
  • A single-address credential-free public HTTPS source uses the reviewed hosted route. Bounded collections have no route at all; the retired local lane was their only route.
  • A recipe supports up to 256 declared sources. Source count is separate from bounded request concurrency and resource limits. Existing source adapters and Readers retain their own format, pagination, byte, row and credential contracts; a URL collection is not an implicit permission to crawl arbitrary links.
  • A keyed stream venue is named by a credential reference the backend holds, never by a value. No command flag takes a secret as an argument. Venues reached over an actual WebSocket are covered; a venue whose credential comes from an interactive human login, or that is not WebSocket at all, is not.

Verification

make test

make test runs the thin client suite while editing. make verify is required before review or merge.

Development

uv sync --locked

There is no dev extra to ask for -- uv run --extra dev answers error: Extra `dev` is not defined in the project's `optional-dependencies` table. The test tooling is the default dependency group, which uv sync installs.

make lint is the repository's one lint set (uv run ruff check . plus uv lock --check); it is the first thing make verify runs and the same target the Linux leg of thin-client-smoke.yml runs, so the two cannot disagree about what is linted.

The test suite checks client behavior, contract compatibility and thin package ownership. Backend execution and worker-boundary tests run in Studio. The client supports Linux, macOS and Windows.

To update the public Studio contract pin, run make repin STUDIO_GIT=/path/to/studio STUDIO_REF=<commit>. It reads committed OpenAPI and JSON Schema bytes, records their hashes and source commit in vendor/studio-contracts/client-v4-pin.json, and updates the thin client. Run the cross-repository tests against that Studio revision before release. Worker/client generation and backend job-contract repins now belong to Studio.

Release files for mostlyright-data 0.19.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mostlyright-data 0.19.5
File Size Uploaded
mostlyright_data-0.19.5.tar.gz 579.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mostlyright-data 0.19.5
File Interpreter ABI Platform
mostlyright_data-0.19.5-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / mostlyright_data-0.19.5.tar.gz

Download URL mostlyright_data-0.19.5.tar.gz
Size 579.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8845028354b1d65449129b31dbf3e1b2d5dfb38902130f0dac367b4509586725
BLAKE2b-256 checksum
How to use checksums
4d353f0067707ed110f5a0f32291461e65324558e07a3213dcc201199586ac4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / mostlyright_data-0.19.5-py3-none-any.whl

Download URL mostlyright_data-0.19.5-py3-none-any.whl
Size 634.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a36463170d909ae8eff33f8ad49394e096bf9559deedb63d6ce0b27e9d414d5d
BLAKE2b-256 checksum
How to use checksums
98c50962fc5b1946226125830ce7967a481366655039f3896a708c7ccda0ad17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.26.1

2 release files

0.26.0

2 release files

0.25.9

2 release files

0.25.8

2 release files

0.25.7

2 release files

0.25.6

2 release files

0.25.5

2 release files

0.25.4

2 release files

0.25.3

2 release files

0.25.2

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.3

2 release files

0.21.2

2 release files

0.21.1

2 release files

0.21.0

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.8

2 release files

0.19.7

2 release files

0.19.6

2 release files

This release

0.19.5 This release

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.3

2 release files

0.18.2

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.8

2 release files

0.17.7

2 release files

0.17.6

2 release files

0.17.5

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.15

2 release files

0.9.14

2 release files

0.9.12

2 release files

0.9.11

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page