A CLI tool for generating Markdown notes from academic PDF papers using customizable templates, Zotero metadata, and LLM-powered summaries.
Project description
Zotomatic
Zotomatic is a CLI tool that generates Markdown research notes from PDFs using user-defined templates, Zotero metadata, and extracted text.
Zotomatic は、研究論文の PDF から Zotero の書誌情報や本文抽出結果をもとに、
ユーザー定義テンプレートに従った Markdown 形式の研究ノートを自動生成する CLI ツールです。
日本語版READMEはこちら
Quick Start
Install
pip install zotomatic
zotomatic init --pdf-dir ./papers # Directory for PDFs
Generate notes from a PDF file
Generate a Markdown note from a specific PDF in any directory.
pdf_dir is not required.
zotomatic scan --path ./papers/sample.pdf
Batch process PDFs under the configured directory
Process all PDFs under the configured directory.
pdf_dir is required.
zotomatic scan --once
Watch the configured directory for new PDFs
Watch the configured directory and generate notes whenever a PDF is added.
pdf_dir is required.
zotomatic scan --watch
Overview
Zotomatic is a CLI tool that starts from research PDFs, uses bibliographic information and extracted text, and generates Markdown notes based on user-defined templates.
For PDFs managed in Zotero, Zotomatic can fetch metadata such as authors, title, and abstract to produce notes enriched with bibliographic details. It can also generate minimal notes for PDFs outside Zotero.
Zotomatic can optionally integrate with an LLM to generate summaries and tags in a specified language and insert the results into notes.
Note: Output quality and accuracy depend on the LLM.
Notes are plain Markdown files, and templates are fully user-defined. You can use them with any editor or knowledge tool, including Obsidian.
Key Features
-
Automatic Markdown note generation from research PDFs
Avoid manual note taking and output reusable research notes in Markdown. -
Automatic metadata retrieval from Zotero-managed PDFs
Pull authors, title, abstract, and other bibliographic data from Zotero and insert them into notes. -
Support for PDFs outside Zotero
Generate minimal, structured notes even when PDFs are not registered in Zotero. -
Best-effort completion for missing metadata
If Zotero metadata is incomplete, Zotomatic attempts to fill missing fields from PDF text.
Note: Completion runs only for Zotero-managed PDFs. -
Flexible, user-defined templates
Customize headings and sections to match your workflow. -
Optional LLM summaries and tags (language-selectable)
Generate summaries and tags via LLM when enabled (default output is Japanese with other languages available). -
Multiple scan modes
Use watch, once, or path mode to fit your workflow.
Installation
pip install zotomatic
Use Cases
- Auto-generate notes from PDFs saved in the browser
Save a PDF via Zotero Connector and runscan --watchfor real-time note creation. - Batch-generate notes for an existing library
Runscan --onceto process everything underpdf_dir. - Spot-process PDFs outside Zotero
Usescan --pathfor quick, file-specific note generation. - Auto-insert summaries and tags (optional)
With an API key, generate summaries and tags in a chosen language (ChatGPT and Gemini supported).
If you want Zotero metadata, keep the Zotero desktop app running.
See docs/en/getting-started.md for step-by-step instructions.
Documentation
Roadmap
- Support additional LLM providers
Note: Roadmap items and timelines may change.
Notes
- Zotomatic is a research support tool and does not guarantee the accuracy of generated summaries or tags.
- Always verify results against the original paper before citing.
License
MIT License
Support and Feedback
Please use GitHub Issues for bug reports.
This is a personal project, so not all issues or pull requests can be addressed. Pull requests are not accepted at this time.
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 zotomatic-0.2.1.tar.gz.
File metadata
- Download URL: zotomatic-0.2.1.tar.gz
- Upload date:
- Size: 140.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bcb348d6913387b0d1ff02e80696c4c699470eb168cb252f8d8d1541356e963
|
|
| MD5 |
c6332b1640a50758d18feb40b304a60d
|
|
| BLAKE2b-256 |
de924fb8c4f41415d3ee48ff4995a47ced2f3a23ffec0c40e0ffb6d7e719080c
|
File details
Details for the file zotomatic-0.2.1-py3-none-any.whl.
File metadata
- Download URL: zotomatic-0.2.1-py3-none-any.whl
- Upload date:
- Size: 77.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7ed8173f53edb31db43eb231b185141e09fbe88f20c2dd04129db6ec7e09228
|
|
| MD5 |
fcef4fc6d28a4b493a0155ff64934581
|
|
| BLAKE2b-256 |
b6409d9d8b629e4bca099cc05015cee93429dada475eed456efad9da8402c78d
|