Metadata-Version: 2.5
Name: puremethod
Version: 0.2.0
Summary: Autonomous research platform: an idea in, a LaTeX paper and a run bundle out
Author: Networked Systems Laboratory
License-Expression: Elastic-2.0
License-File: LICENSE
License-File: THIRD_PARTY_NOTICES.md
Requires-Python: >=3.11
Requires-Dist: anthropic>=0.40
Requires-Dist: cryptography>=50.0
Requires-Dist: eth-abi==6.0.0
Requires-Dist: eth-account==0.14.0
Requires-Dist: eth-utils==6.0.0
Requires-Dist: fastapi<0.144,>=0.143
Requires-Dist: httpx>=0.28
Requires-Dist: jsonschema>=4.23
Requires-Dist: matplotlib>=3.9
Requires-Dist: openai>=1.50
Requires-Dist: paramiko>=3.5
Requires-Dist: platformdirs==4.13.0
Requires-Dist: psycopg[binary]>=3.2
Requires-Dist: pydantic>=2.9
Requires-Dist: rlp==5.0.0
Requires-Dist: starlette<1.9,>=1.8
Requires-Dist: tiktoken>=0.8
Requires-Dist: uvicorn>=0.54
Requires-Dist: webauthn==3.0.1
Description-Content-Type: text/markdown

# puremethod

An autonomous research platform for computational research in ML/DL and simulation/systems.
You give it a research idea. It maps the literature, forms hypotheses, tests them in staged
experiments on machines you choose, and writes a LaTeX paper. With the paper you get a run
bundle: the code, configs, raw results and a log of every idea it tried, failures included.

- **Locked criteria.** Each experiment's metric, threshold and data splits are recorded
  before it runs.
- **Grounded citations.** Every citation comes from a source that was actually retrieved.
- **Traceable numbers.** Every number, table and figure in the paper comes from a recorded
  run.

## Install

You need Python 3.11 or newer. Docker is recommended (isolated experiments, the LaTeX build).

```sh
pipx install puremethod      # or: uv tool install puremethod
puremethod
```

`puremethod` starts a local server and opens your browser, already signed in. Everything
runs on your machine and is reachable only from it (127.0.0.1).

## Commands

| Command | Does |
|---|---|
| `puremethod` | Start, then open the browser signed in |
| `puremethod open` | A new sign-in link for a running server |
| `puremethod stop` | Stop the server |
| `puremethod doctor` | Check Python, Docker, ports and directories |
| `puremethod token rotate` | Print a new API token for scripts, and end all sessions |

## Your data and keys

- **Your files:** runs, the ledger and outputs are kept in your user data directory.
- **The master key:** on first start, puremethod creates `master.key` in your user config
  directory. Your stored API keys are encrypted with it. Back it up: without it, stored keys
  cannot be read and must be entered again.
- **Your accounts:** you bring your own model provider keys and machines. puremethod has
  no account and no billing of its own.

## Status

Version 0.2, self-hosted. Literature and citations come from PureScholar. By default,
puremethod runs a bundled local PureScholar in Docker on this computer; you can instead
connect to a PureScholar deployment with its URL and key.

## Licence

Elastic License 2.0. You may use, modify and share it free of charge. You may not offer it to
others as a hosted or managed service. See `LICENSE` and `THIRD_PARTY_NOTICES.md`.
