Skip to main content

Add your description here

Project description

ZotMD

Sync your Zotero library to Markdown files with automatic updates and PDF annotation extraction.

Perfect for use with Obsidian, Logseq, or any Markdown-based note-taking app.

Features

  • 📚 Smart Sync: Incremental sync only updates changed items
  • 📝 PDF Annotations: Automatically extracts highlights and notes
  • 🎨 Customizable Templates: Use Jinja2 templates to format your notes
  • 🔑 Citation Keys: Uses Better BibTeX for consistent filenames
  • 💾 User Notes: Preserves your custom notes across syncs
  • ⚙️ Configurable: Simple TOML configuration

Quick Start

# Install with uv (recommended)
uv tool install zotmd

# Or with pipx
pipx install zotmd

# Set up configuration
zotmd init

# Sync your library
zotmd sync

Requirements

  • Python 3.13+
  • Better BibTeX (Zotero plugin)
  • Zotero API access (free)

Documentation

📖 Full Documentation

Example Output

---
title: "The Structure of Scientific Revolutions"
authors: Thomas S. Kuhn
year: 1962
citationKey: kuhn1962structure
tags:
  - philosophy-of-science
  - paradigm-shifts
---

# The Structure of Scientific Revolutions

## Metadata

- **Authors:** Thomas S. Kuhn
- **Year:** 1962
- **Publisher:** University of Chicago Press

## Abstract

A landmark in intellectual history...

## Annotations

### Page 10 (Yellow)

> "Normal science means research firmly based upon one or more past scientific achievements..."

My note: This is the definition of normal science.

## Notes

<!-- Your custom notes are preserved here -->

License

MIT License - see LICENSE for details.

Contributing

Contributions welcome! Please see the documentation for development setup.

Support

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

zotmd-0.1.0.tar.gz (83.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zotmd-0.1.0-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file zotmd-0.1.0.tar.gz.

File metadata

  • Download URL: zotmd-0.1.0.tar.gz
  • Upload date:
  • Size: 83.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.4

File hashes

Hashes for zotmd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1665367f77b1c593f660b6c5750a41e9eb6b994ad4b7273b20e08048b79ba1e6
MD5 0a5986e5713a1ed5f68523a201cc621f
BLAKE2b-256 516337bb5e5e17d3f2d0f121049f227cf13fd6896306794cb96821676fe035bf

See more details on using hashes here.

File details

Details for the file zotmd-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: zotmd-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.4

File hashes

Hashes for zotmd-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62f2bd9b95065fa33785a0dbbf620fcc2cc990876aa3a96a7f4944e2928654cc
MD5 584443e739cd5ff8ada3f0e84a0859e8
BLAKE2b-256 ebb031008a0adc0200bc38f8091526c94fa86d6f708db1a713910ea79c5384e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page