VSCode + Zotero literature note ingester
Project description
vscotero
Generate markdown literature notes from your Zotero library (metadata + annotations) for use in VS Code (Foam / wiki links compatible).
Features
- Extract item metadata from a Zotero auto‑exported BibTeX file
- Pull PDF annotations directly from the Zotero
zotero.sqlitedatabase (copied safely to avoid locks) - Group annotations by highlight color (configurable colormap)
- Produce one Markdown note per reference with YAML front matter
- Deterministic & scriptable CLI (
vscotero ingest)
Installation
vscotero is currently distributed as source only. A published Python package (PyPI) is planned for a future release.
- Configure Zotero to auto‑export a BibTeX file (Better BibTeX recommended).
- Clone this repository.
- Choose one of the local setup options below.
Option A: Use uv (recommended)
Use uv to create and manage an isolated environment automatically (no manual activation needed).
Sync / install (safe to re-run):
uv sync
Check the CLI version:
uv run vscotero --version
Ingest (example with a limit + debug):
uv run vscotero ingest --path config.toml --limit 1 --debug
Run tests:
uv run pytest -q
Option B: Use nix
nix-shell
vscotero --version
Option C: Plain pip / virtualenv
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e .
vscotero --path config.toml
(Future) PyPI installation (planned)
Will become as simple as:
pip install vscotero
vscotero --path config.toml
- Create / fill
config.toml(example below).
Example config.toml
[notes]
bib_path = "/absolute/path/to/library.bib" # Zotero auto-export (Better BibTeX)
md_path = "/absolute/path/to/notes" # Output folder for generated notes
db_path = "~/Zotero/zotero.sqlite" # Zotero database path
Usage
Ingest all notes:
vscotero ingest --path config.toml
Clean existing notes first:
vscotero ingest --path config.toml --clean
Limit number (debugging):
vscotero ingest --path config.toml --limit 5
Color Map
Override in config.toml (any subset):
[notes.colormap]
"#ffd400" = "Insights"
"#ff6666" = "Discrepancies"
Development
Run tests:
uv run pytest -q
View version:
vscotero --version
See CHANGELOG.md for release notes.
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 vscotero-0.2.1.tar.gz.
File metadata
- Download URL: vscotero-0.2.1.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0513316483e9fd7e6fa33fd21d637dde852143669d61d6de453ef1883273594c
|
|
| MD5 |
fc9d6a15f7ca3e1f32cf64287fe37172
|
|
| BLAKE2b-256 |
e83701e61d90da4405cb5427233da2fff7170dcb60619a4631a53cf1f703a7b5
|
File details
Details for the file vscotero-0.2.1-py3-none-any.whl.
File metadata
- Download URL: vscotero-0.2.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c12da861f931e7122016294eb949350578d8905b45485d2a7da3f30eb68c6ec
|
|
| MD5 |
d4c77d8fd66d695f1a5d74894a637f84
|
|
| BLAKE2b-256 |
0837daabcf8981019969074c6fb52e55c672b7e268056869f3cf028bbc2a02d4
|