parse-sdk is the runtime and the parse CLI. It generates a project-local, fully typed parse_apis package — the client for every API your key can call, with autocompleting resources, methods, enums, and typed responses. Clients are generated from the same spec that powers the REST and MCP surfaces.
Install
The SDK is managed with uv. Inside a uv project (runuv init first if you don’t have a pyproject.toml):
uv add installs the parse console script into the project’s .venv, which isn’t on your PATH. Invoke it as uv run parse <command>, or source .venv/bin/activate once and call parse directly. Examples below use the uv run form.
parse init is the one-time setup: it scaffolds the committed parse_apis package, records it as an editable path dependency ([tool.uv.sources]), appends a deny-by-default .gitignore block, ensures credentials, and runs the first parse sync. Run it from your project root, where the pyproject.toml lives.Authenticate
parse init prompts for an API key on first run. To authenticate explicitly:
~/.config/parse/credentials (the same path on every OS). The CLI and generated clients also read PARSE_API_KEY from the environment. uv run parse whoami shows the active key and base URL.
Add an API
A fresh project tracks all APIs your key can call. To curate an explicit set, add APIs by slug.One of your own APIs
A marketplace API
Pull a ready-made API from the marketplace by slug, listing id, or URL:Use it
Once you’ve added an API (here, the Walmart marketplace API above):Resources and methods are generated from your API’s spec. The client class follows the API’s root type; the import module follows its slug.
parse add prints the exact from parse_apis.… import … line, which also heads the generated README.md and example.py in each parse_apis/src/parse_apis/<slug>/ directory.Project layout & manifest
parse init creates an installed, editable package — not a loose folder:
parse_apis is an installed editable package, import parse_apis resolves from any directory.
The repo curates which APIs it syncs via a [tool.parse] table in your pyproject.toml. parse add and parse remove manage it for you — you rarely edit it by hand:
Commit the
[tool.parse] table; the generated parse_apis/ payload is your choice. The manifest is the source of truth. Commit the payload too, or .gitignore it and run parse sync on checkout / in CI. After upgrading parse-sdk, re-run parse sync — generated code subclasses the runtime by version, and init/sync restamp the pin in parse_apis/pyproject.toml. (Release history.)Agents & scripting
Most commands take--json for stable, machine-readable output — agents should prefer it. (init, login, and clean have no --json.) Errors still go to stderr; stdout stays parseable.
parse sync --check exits non-zero on drift, so it drops straight into CI. The generated AGENTS.md and CLAUDE.md files give a coding agent a cross-API index of every client, its resources, and example calls.
Setup prompt for coding agents
Paste this into Claude Code, Codex, or any coding agent to set up and use the SDK end to end:Command reference
Run every command asuv run parse <command> (or bare parse in an activated venv).
| Command | What it does |
|---|---|
parse init [--api-key K] [--base-url U] | One-time setup: authenticate, scaffold parse_apis, record deps, first sync |
parse login [--web | --no-web] [--api-key K] [--base-url U] | Sign in via browser (default), or save an API key |
parse whoami [--json] | Show the active key + base URL |
parse list [--long] [--json] | List the APIs your key can call (no generation) |
parse search <query…> [--limit N] [--json] | Search the marketplace |
parse add <slug…> [--json] | Track account API(s) by slug, then sync |
parse add --marketplace <id|slug|url> [--version N] [--json] | Add a pinned marketplace API |
parse remove <slug…> [--json] | Stop tracking API(s), then reconcile |
parse sync [--check] [--clean] [--json] | Reconcile the generated package with the manifest |
parse clean | Remove the generated payload, keep the committed scaffold |
parse doctor [--fix] [--json] | Diagnose (and optionally fix) install / auth / import issues |
parse help [--json] | Command overview |
Prefer no SDK? Every API is also a plain REST endpoint and an MCP server.