Metadata-Version: 2.4
Name: mostlyright-data
Version: 0.9.12
Summary: Mostly Right CLI for reproducible, reviewed Parquet datasets
Project-URL: Homepage, https://mostlyright.md/
Project-URL: Documentation, https://mostlyright.md/docs/guides/cli/
Requires-Python: <3.14,>=3.13
Provides-Extra: build
Requires-Dist: hatchling==1.28.0; extra == 'build'
Requires-Dist: uv-build==0.11.3; extra == 'build'
Provides-Extra: dev
Requires-Dist: cmarkgfm>=2025.10.22; extra == 'dev'
Requires-Dist: croniter==6.2.4; extra == 'dev'
Requires-Dist: cryptography<51,>=50.0.0; extra == 'dev'
Requires-Dist: et-xmlfile==2.0.0; extra == 'dev'
Requires-Dist: idna<4,>=3.10; extra == 'dev'
Requires-Dist: jsonschema[format]<5,>=4.23; extra == 'dev'
Requires-Dist: numpy==2.5.1; extra == 'dev'
Requires-Dist: openpyxl==3.1.5; extra == 'dev'
Requires-Dist: packaging<27,>=24; extra == 'dev'
Requires-Dist: pandas==3.0.3; extra == 'dev'
Requires-Dist: polars-runtime-32==1.42.1; extra == 'dev'
Requires-Dist: polars==1.42.1; extra == 'dev'
Requires-Dist: pyarrow==23.0.1; extra == 'dev'
Requires-Dist: pytest-xdist>=3.6; extra == 'dev'
Requires-Dist: pytest>=8.3; extra == 'dev'
Requires-Dist: referencing<1,>=0.35; extra == 'dev'
Requires-Dist: ruff>=0.9; extra == 'dev'
Provides-Extra: hosted
Requires-Dist: mostlyright-studio-client-v3==3.0.0; extra == 'hosted'
Provides-Extra: local
Requires-Dist: croniter==6.2.4; extra == 'local'
Requires-Dist: cryptography<51,>=50.0.0; extra == 'local'
Requires-Dist: et-xmlfile==2.0.0; extra == 'local'
Requires-Dist: idna<4,>=3.10; extra == 'local'
Requires-Dist: numpy==2.5.1; extra == 'local'
Requires-Dist: openpyxl==3.1.5; extra == 'local'
Requires-Dist: packaging<27,>=24; extra == 'local'
Requires-Dist: pandas==3.0.3; extra == 'local'
Requires-Dist: polars-runtime-32==1.42.1; extra == 'local'
Requires-Dist: polars==1.42.1; extra == 'local'
Requires-Dist: pyarrow==23.0.1; extra == 'local'
Provides-Extra: local-search-neural
Requires-Dist: anyio==4.14.2; extra == 'local-search-neural'
Requires-Dist: certifi==2026.7.22; extra == 'local-search-neural'
Requires-Dist: click==8.4.2; extra == 'local-search-neural'
Requires-Dist: filelock==3.32.2; extra == 'local-search-neural'
Requires-Dist: flatbuffers==25.12.19; extra == 'local-search-neural'
Requires-Dist: fsspec==2026.7.0; extra == 'local-search-neural'
Requires-Dist: h11==0.16.0; extra == 'local-search-neural'
Requires-Dist: hf-xet==1.6.0; extra == 'local-search-neural'
Requires-Dist: httpcore==1.0.9; extra == 'local-search-neural'
Requires-Dist: httpx==0.28.1; extra == 'local-search-neural'
Requires-Dist: huggingface-hub==1.27.0; extra == 'local-search-neural'
Requires-Dist: idna==3.18; extra == 'local-search-neural'
Requires-Dist: numpy==2.5.1; extra == 'local-search-neural'
Requires-Dist: onnxruntime==1.28.0; extra == 'local-search-neural'
Requires-Dist: packaging==26.3; extra == 'local-search-neural'
Requires-Dist: protobuf==7.35.1; extra == 'local-search-neural'
Requires-Dist: pyyaml==6.0.3; extra == 'local-search-neural'
Requires-Dist: tokenizers==0.23.1; extra == 'local-search-neural'
Requires-Dist: tqdm==4.70.0; extra == 'local-search-neural'
Requires-Dist: typing-extensions==4.16.0; extra == 'local-search-neural'
Provides-Extra: release
Requires-Dist: croniter==6.2.4; extra == 'release'
Requires-Dist: cryptography<51,>=50.0.0; extra == 'release'
Requires-Dist: et-xmlfile==2.0.0; extra == 'release'
Requires-Dist: idna<4,>=3.10; extra == 'release'
Requires-Dist: jsonschema[format]<5,>=4.23; extra == 'release'
Requires-Dist: numpy==2.5.1; extra == 'release'
Requires-Dist: openpyxl==3.1.5; extra == 'release'
Requires-Dist: packaging<27,>=24; extra == 'release'
Requires-Dist: pandas==3.0.3; extra == 'release'
Requires-Dist: polars-runtime-32==1.42.1; extra == 'release'
Requires-Dist: polars==1.42.1; extra == 'release'
Requires-Dist: pyarrow==23.0.1; extra == 'release'
Provides-Extra: viewer
Requires-Dist: nbconvert==7.17.1; extra == 'viewer'
Requires-Dist: nbformat==5.10.4; extra == 'viewer'
Description-Content-Type: text/markdown

# mostlyright-data

Browse datasets built by our community or create your own with agents that find the sources and
configure the pipeline. Mostly Right keeps the dataset live.

`mostlyright-data` is the command-line client. It opens hosted research sessions, starts and
follows hosted dataset runs, and downloads verified datasets after they finish.

## Requirements

Use CPython 3.13.

## Install

```bash
python -m pip install mostlyright-data
```

The default install is the hosted client. It works on Linux, macOS, and Windows.

## Sign in

```bash
mr-data login
mr-data whoami
```

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

## Check the installation

```bash
mr-data --version
mr-data --help
```

Use `mr-data research-open`, `mr-data research-status`, and `mr-data research-close` for hosted
research sessions. `research-status` shows the current state.

## Local execution

The local execution lane runs only on Linux:

```bash
python -m pip install "mostlyright-data[local]"
```

It is not required for the hosted client, and it is off by default: `mr-data` sends that work to
the backend. What still runs on this computer is catalog authoring, the search index, and the
commands that check a document or a run folder. A command with no backend lane refuses by name and
says why.

## Documentation

- [CLI guide](https://mostlyright.md/docs/guides/cli/)
- [Hosted research sessions](https://mostlyright.md/docs/guides/hosted-research/)
- [Credentials](https://mostlyright.md/docs/guides/credentials/)
- [Public datasets](https://mostlyright.md/docs/guides/use-public-datasets/)

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

`--input-root` and `--output` may use relative paths.

## Behavior and limits

- `mr-data review RUN_DIR --local` runs the deterministic checks and writes no review decision. It exits 1 when a check fails. Write the flag after the command name; before it, `--local` is the lane selector.
- `mr-data review RUN_DIR --report REPORT` seals a review decision from signed reviewer reports.
- The weather reader accepts one extracted GRIB2 record. It refuses a multi-record GFS or HRRR file.
- Hosted credential-free acquisition supports one single-address public HTTPS object. Bounded collections require both local attestations.

## Verification

```bash
make test-fast
```

`make test-fast` is non-authoritative and is useful while editing. `make verify` is required
before review or merge.

## Development

```bash
uv sync --locked --extra dev
```

The local test suite requires Linux for worker-boundary tests. The hosted client is tested on Linux,
macOS, and Windows.
