Skip to main content

Paper Bartender

Paper Bartender

PyPI version Python 3.9+ License

A CLI tool to help researchers manage multiple paper submission deadlines by tracking milestones into daily tasks using AI.

Features

  • Natural language interface - Just tell it what you want in plain English
  • Track multiple papers with deadlines
  • Link papers to PDF files for context-aware task generation
  • Create sequential milestones with automatic task decomposition
  • AI reads your paper's PDF to generate tasks tailored to your current progress
  • View today's tasks at a glance

Installation

# Using pip
pip install paper-bartender

# Or using pipx (recommended for CLI tools)
pipx install paper-bartender

Configuration

Set your API key:

# For Anthropic Claude (recommended)
export PAPER_BARTENDER_ANTHROPIC_API_KEY="your-anthropic-key"

# Or for OpenAI
export PAPER_BARTENDER_OPENAI_API_KEY="your-openai-key"

Usage

The do Command - Natural Language Interface

The easiest way to use Paper Bartender is with natural language:

# Add a paper with deadline
paper-bartender do "add paper ABC deadline Feb 20"

# Add a paper with PDF for smarter task generation
paper-bartender do "add paper ABC deadline Feb 20 pdf ~/papers/draft.pdf"

# Link a PDF to an existing paper
paper-bartender do "add pdf ~/Downloads/draft.pdf to ABC"

# Add a single milestone
paper-bartender do "milestone for ABC: finish experiments by Feb 10"

# Add multiple milestones at once (they become sequential!)
paper-bartender do "for ABC paper: fix pipeline bug by 2/4, rerun experiments by 2/10, rewrite results by 2/15"

When you add multiple milestones, they are automatically sequenced:

  • fix pipeline bug: Today → 2/4
  • rerun experiments: 2/4 → 2/10
  • rewrite results: 2/10 → 2/15

View Your Tasks

# Show today's tasks (default)
paper-bartender

# Show all upcoming progress
paper-bartender all

# Show timeline for a specific paper
paper-bartender timeline "ABC"

# Or filter any view by paper
paper-bartender today --paper "ABC"
paper-bartender all --paper "ABC"

Mark Tasks Complete

# Mark a task as done (partial match)
paper-bartender done "fix pipeline"

# Skip a task
paper-bartender skip "review literature"

Example Workflow

# 1. Add a paper with your PDF draft
paper-bartender do "add paper ICML Submission deadline Feb 20 pdf ~/papers/icml-draft.pdf"

# 2. Add all your milestones in one command
paper-bartender do "for ICML Submission: fix training bug by 2/4, run all experiments by 2/10, rewrite results section by 2/15, final polish by 2/19"

# 3. Check your tasks daily
paper-bartender

# 4. Mark tasks as done
paper-bartender done "identify bug"

# 5. See the full schedule
paper-bartender all

Today's tasks with progress bars:

📋 Today's Tasks (Sat, Jan 31)
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Paper            ┃ Checkpoint                                    ┃ Detailed Task                   ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ICML Submission  │ ███░░░░░░░░░  25% fix training bug            │ Review pipeline code and...     │
│ Other Paper      │ ██████░░░░░░  50% finish experiments          │ N/A                             │
└──────────────────┴───────────────────────────────────────────────┴─────────────────────────────────┘

Timeline for a specific paper:

$ paper-bartender timeline "ICML Submission"

📅 Upcoming Progress  (8 tasks across 5 days)

Today (1 task)
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Paper            ┃ Checkpoint                                    ┃ Detailed Task                   ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ICML Submission  │ ███░░░░░░░░░  25% fix training bug            │ Review pipeline code...         │
└──────────────────┴───────────────────────────────────────────────┴─────────────────────────────────┘

Tomorrow (1 task)
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Paper            ┃ Checkpoint                                    ┃ Detailed Task                   ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ICML Submission  │ ██████░░░░░░  50% fix training bug            │ Implement fixes...              │
└──────────────────┴───────────────────────────────────────────────┴─────────────────────────────────┘

Advanced Commands

Add Paper (explicit command)
paper-bartender add paper "My Paper" --deadline 2025-05-15 --pdf ~/draft.pdf

Date formats: 2025-05-15, 5/15, in 2 weeks, tomorrow

Add Milestone (explicit command)
paper-bartender add milestone "My Paper" "Write intro" --due 5/10

# With priority (1-5)
paper-bartender add milestone "My Paper" "Experiments" --due 5/5 --priority 3

# Skip auto task generation
paper-bartender add milestone "My Paper" "Review" --due 5/8 --no-decompose
List Papers & Milestones
paper-bartender list papers
paper-bartender list papers --archived
paper-bartender list milestones "My Paper"
paper-bartender list milestones "My Paper" --completed
Re-generate Tasks
# Re-generate tasks (re-reads PDF for updated context)
paper-bartender decompose "My Paper" --force

# Preview without saving
paper-bartender decompose "My Paper" --dry-run
Delete Data
paper-bartender delete paper "My Paper"
paper-bartender delete milestone "My Paper" "Write intro"

# Clear everything (creates backup first)
paper-bartender clear

# Restore from backup
paper-bartender restore

Commands Reference

Command Description
paper-bartender Show today's tasks
paper-bartender all Show all upcoming tasks
paper-bartender timeline "Paper" Show timeline for a specific paper
paper-bartender do "..." Natural language command
paper-bartender done "task" Mark task complete
paper-bartender skip "task" Skip a task
paper-bartender add paper ... Add paper (explicit)
paper-bartender add milestone ... Add milestone (explicit)
paper-bartender list papers List papers
paper-bartender list milestones List milestones
paper-bartender decompose Re-generate tasks
paper-bartender delete Delete paper/milestone
paper-bartender clear Clear all data
paper-bartender restore Restore from backup

Data Storage

All data is stored locally at ~/.paper-bartender/data.json. Backups are created automatically before destructive operations.

Development

poetry install
pytest
mypy --strict paper_bartender
ruff format . && ruff check --fix .

License

Apache 2.0 License

Metadata

Release files for paper-bartender 0.1.0

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

Source distribution (sdist)

Source distribution for paper-bartender 0.1.0
File Size Uploaded Provenance Actions
paper_bartender-0.1.0.tar.gz 28.2 kB Without provenance Details for paper_bartender-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for paper-bartender 0.1.0
File Interpreter ABI Platform Actions
paper_bartender-0.1.0-py3-none-any.whl Python 3 none any Details for paper_bartender-0.1.0-py3-none-any.whl

Total release size: 64.7 kB

Release files / paper_bartender-0.1.0.tar.gz

Download URL paper_bartender-0.1.0.tar.gz
Size 28.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f26be5af1bbd7b29cf915774daa9337c482fec75a9c8c94b737013da2e5019f4
BLAKE2b-256 checksum
How to use checksums
14d347cb839ff74e4f8f46ee9471a503769bbd95ca01b81730b3c7e0a8e18d50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.10.16 Darwin/22.6.0

Release files / paper_bartender-0.1.0-py3-none-any.whl

Download URL paper_bartender-0.1.0-py3-none-any.whl
Size 36.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
054b2aa235ae942ef887558d7861b78ecb73377d48d297298a6681f1dd7022da
BLAKE2b-256 checksum
How to use checksums
f6c3af4f44c133cd19a2225c9c3d561955d83d3259607dab1e6c6778325d51f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.10.16 Darwin/22.6.0

Security for paper-bartender 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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