A fast, read-only command-line client for exploring the public Papers with Code catalog.
Use pwc to search papers, browse benchmarks and find state-of-the-art (SOTA) by domain, read paper metadata and Markdown, discover recent,
trending, and related work, inspect paper lineage, explore tasks, methods, and
conferences. Public reads are anonymous: no account, API
token, or Python environment is required.
pwc search "small vision language models" --limit 3
pwc paper info 2501.01234The installer downloads the binary for your platform, verifies its SHA-256
checksum, and installs it as ~/.local/bin/pwc:
pwc_repo=https://raw.githubusercontent.com/huggingface/pwc-cli/main
curl -LsSf "$pwc_repo/standalone_cli/install.py" | python3The installer selects the latest release by default. Pass --version VERSION
after python3 - to explicitly pin a release. It also reports whether
~/.local/bin is on PATH and prints a persistent shell instruction when
needed.
Prebuilt releases support:
- Linux x86-64
- macOS Intel (x86-64)
- macOS Apple Silicon (arm64)
Every release includes checksum files and GitHub build-provenance attestations. See the latest release to download and verify an artifact manually.
Python 3.10 or newer is required for source installations.
With uv:
uv tool install 'git+https://github.com/huggingface/pwc-cli.git#subdirectory=standalone_cli'Or with pipx:
pipx install 'git+https://github.com/huggingface/pwc-cli.git#subdirectory=standalone_cli'To work from a clone instead:
git clone https://github.com/huggingface/pwc-cli.git
cd pwc-cli
uv tool install ./standalone_cliConfirm the installation:
pwc versionSearch the paper catalog:
pwc search "retrieval augmented generation"
pwc search "vision transformers" --mode semantic --limit 20
pwc search "attention" --page 2 --limit 10Inspect or read a paper:
pwc paper info 1706.03762
pwc paper info 1706.03762 --include-resources # linked GitHub, project, and HF URLs
pwc paper info "Attention Is All You Need"
pwc paper read 1706.03762Discover papers:
pwc paper recent --limit 10
pwc paper trending --limit 20 --max-age-days 90
pwc paper related 1706.03762 --limit 4
pwc paper lineage list 1706.03762List and filter papers:
pwc paper list --conference NeurIPS --page-size 20
pwc paper list --search "diffusion" --published-after 2025-01-01
pwc paper list --order-by citation_count --order-dir descExplore the research taxonomy and conferences:
pwc task list
pwc task list --area Vision
pwc task list --group-by-area # force grouped Markdown when piping/capturing
pwc method list --area Audio
pwc method list --area General --introduced-year 2017
pwc conference list
pwc conference list --year 2025Browse benchmarks:
pwc benchmark list
pwc benchmark list --group-by-area --area Vision
pwc benchmark list --search ImageNet
pwc benchmark list --task OCR
pwc benchmark list --task image-classification --include-descendants
pwc benchmark list --min-eval-count 10 --order-by paper_count --order-dir desc
pwc benchmark --name "SWE-Bench Pro"Every PAPER argument accepts a modern or legacy arXiv ID, a numeric
external-paper ID, or a quoted exact paper title. Title matching is
case-insensitive. Ambiguous titles are rejected with the matching IDs instead
of silently selecting one paper.
| Command | Description |
|---|---|
pwc search QUERY |
Search for papers by title, topic, author, or arXiv ID |
pwc paper info PAPER |
Show paper metadata and abstract; optionally include linked GitHub, project, and HF URLs |
pwc paper read PAPER |
Print the stored paper Markdown |
pwc paper list |
List and filter papers |
pwc paper recent |
List recently published papers |
pwc paper trending |
List trending papers |
pwc paper related PAPER |
Find related papers |
pwc paper lineage list PAPER |
Show linked Markdown sections for a paper's predecessors and successors |
pwc task list |
Group visible top-level tasks by area in a terminal; support flat pagination and area filters |
pwc method list |
List methods and filter them by research area or introduction year |
pwc conference list |
List conferences and filter them by year |
pwc benchmark list |
Group top benchmarks by area and task; support flat filters and task-trend ranking |
pwc benchmark --name NAME |
Show a benchmark's top models, papers, scores, and publication dates |
pwc version |
Show the CLI and API contract versions |
Run pwc --help, pwc COMMAND --help, or
pwc paper COMMAND --help for all available options.
Task and benchmark lists use grouped Markdown in an interactive terminal;
--flat forces their paginated tables and --group-by-area forces Markdown
when piping. Other list and search commands use aligned columns in a terminal
and lossless TSV when captured. Detail commands use labeled metadata or
Markdown. Add --json to any data command for machine-readable output:
pwc search "language models" --limit 5 --json
pwc paper info 1706.03762 --json
pwc benchmark list --task image-classification --jsonJSON responses include a top-level schema_version and data field:
{
"schema_version": "v1",
"data": {}
}The stable exit codes are:
| Code | Meaning |
|---|---|
0 |
Success |
2 |
Invalid command or arguments |
3 |
Network or server failure |
4 |
Invalid API response |
pwc uses https://paperswithcode.co/api/v1 by default. To connect to another
compatible v1 API, set PWC_API_URL:
PWC_API_URL=http://localhost:8000/api/v1 pwc search "transformers"The public CLI is intentionally anonymous and read-only. It does not include authentication, mutation, ingestion, publication, image, embedding, CRON, or infrastructure-maintenance commands.
Run the CLI from a checkout:
uv run --project standalone_cli pwc --helpRun the focused test and contract checks:
uv run --project standalone_cli --with pytest pytest standalone_cli/tests
uv run python standalone_cli/scripts/check_contract.pyThe implementation lives in standalone_cli.