Skip to main content

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

Start Guide

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 run scan --watch for real-time note creation.
  • Batch-generate notes for an existing library
    Run scan --once to process everything under pdf_dir.
  • Spot-process PDFs outside Zotero
    Use scan --path for 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.

Metadata

Release files for zotomatic 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zotomatic 0.2.1
File Size Uploaded
zotomatic-0.2.1.tar.gz 140.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zotomatic 0.2.1
File Interpreter ABI Platform
zotomatic-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 218.4 kB

Release files / zotomatic-0.2.1.tar.gz

Download URL zotomatic-0.2.1.tar.gz
Size 140.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2bcb348d6913387b0d1ff02e80696c4c699470eb168cb252f8d8d1541356e963
BLAKE2b-256 checksum
How to use checksums
de924fb8c4f41415d3ee48ff4995a47ced2f3a23ffec0c40e0ffb6d7e719080c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / zotomatic-0.2.1-py3-none-any.whl

Download URL zotomatic-0.2.1-py3-none-any.whl
Size 77.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7ed8173f53edb31db43eb231b185141e09fbe88f20c2dd04129db6ec7e09228
BLAKE2b-256 checksum
How to use checksums
b6409d9d8b629e4bca099cc05015cee93429dada475eed456efad9da8402c78d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page