CLI tool for searching and reading papers from a local Zotero library
Project description
Research Zotero - riszotto
CLI tool for searching, reading, and exporting papers from your Zotero libraries — personal and group.
Requires Zotero desktop to be running with the local API enabled.
Getting Started
Requires uv.
uvx riszotto --help
For semantic search:
uvx --with "riszotto[semantic]" riszotto search --semantic "query"
Usage
# List available libraries (personal + groups)
riszotto libraries
# Search your library
riszotto search machine learning transformers
# Search a group library
riszotto search -L "My Group" "neural networks"
# Full-text search
riszotto search --full-text "attention mechanism"
# Semantic search (requires index)
riszotto search --semantic "how do transformers work"
# Filter by author or tag
riszotto search "deep learning" --author "Hinton"
riszotto search "ML" --tag "papers" --tag "2024"
# Read a paper's PDF as markdown
riszotto show ABC12345
riszotto show ABC12345 --page 2
riszotto show ABC12345 --search "methodology"
# Export BibTeX
riszotto export ABC12345
# Browse collections and recent papers
riszotto collections
riszotto recent
# Build semantic search index (per library)
riszotto index
riszotto index -L "My Group"
Group Libraries
All commands support --library / -L to target a group library by name or ID. Without it, commands default to the personal library.
For groups not synced locally, configure ~/.riszotto/config.toml for remote API access:
[zotero]
api_key = "..." # from zotero.org/settings/keys
user_id = "..." # from zotero.org/settings/keys
Claude Code Skill
Install the skill to help Claude Code agents use riszotto:
npx skills add https://github.com/pythonfz/riszotto
Acknowledgments
Inspired by zotero-mcp.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file riszotto-0.1.3.tar.gz.
File metadata
- Download URL: riszotto-0.1.3.tar.gz
- Upload date:
- Size: 6.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
894e3aab61bdda4af09541a7b9fa112aa6acb386e4e35e035229bb905596e191
|
|
| MD5 |
afe3d30bfa8f2bba4e1e77d28c60e173
|
|
| BLAKE2b-256 |
a6c22851d394a2d27e3339387b3fc22a26eb7a0aba719beffa34d5e02f1d62f0
|
Provenance
The following attestation bundles were made for riszotto-0.1.3.tar.gz:
Publisher:
publish.yaml on PythonFZ/riszotto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
riszotto-0.1.3.tar.gz -
Subject digest:
894e3aab61bdda4af09541a7b9fa112aa6acb386e4e35e035229bb905596e191 - Sigstore transparency entry: 1137761808
- Sigstore integration time:
-
Permalink:
PythonFZ/riszotto@6a6166829f2566e78ec14e2a4403accfedb4a54f -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/PythonFZ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@6a6166829f2566e78ec14e2a4403accfedb4a54f -
Trigger Event:
push
-
Statement type:
File details
Details for the file riszotto-0.1.3-py3-none-any.whl.
File metadata
- Download URL: riszotto-0.1.3-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
488cd84c991d5d5d18640b2a8cd9b9d86958e4929993ddfdaf5fa7f1ce4e4f6d
|
|
| MD5 |
2099681d84b3c303a67c291c3e6025d7
|
|
| BLAKE2b-256 |
ba6f88c6c3dd4586c135ff0a51b67967d7a2da983298cad7fb9b3d52ac38353f
|
Provenance
The following attestation bundles were made for riszotto-0.1.3-py3-none-any.whl:
Publisher:
publish.yaml on PythonFZ/riszotto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
riszotto-0.1.3-py3-none-any.whl -
Subject digest:
488cd84c991d5d5d18640b2a8cd9b9d86958e4929993ddfdaf5fa7f1ce4e4f6d - Sigstore transparency entry: 1137761850
- Sigstore integration time:
-
Permalink:
PythonFZ/riszotto@6a6166829f2566e78ec14e2a4403accfedb4a54f -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/PythonFZ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@6a6166829f2566e78ec14e2a4403accfedb4a54f -
Trigger Event:
push
-
Statement type: