A CLI tool to help researchers manage paper deadlines by decomposing milestones into daily tasks
Project description
Paper Bartender
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
Project details
Release history Release notifications | RSS feed
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 paper_bartender-0.1.0.tar.gz.
File metadata
- Download URL: paper_bartender-0.1.0.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.10.16 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f26be5af1bbd7b29cf915774daa9337c482fec75a9c8c94b737013da2e5019f4
|
|
| MD5 |
740adb916c8b96aaded30fa8a379d515
|
|
| BLAKE2b-256 |
14d347cb839ff74e4f8f46ee9471a503769bbd95ca01b81730b3c7e0a8e18d50
|
File details
Details for the file paper_bartender-0.1.0-py3-none-any.whl.
File metadata
- Download URL: paper_bartender-0.1.0-py3-none-any.whl
- Upload date:
- Size: 36.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.10.16 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
054b2aa235ae942ef887558d7861b78ecb73377d48d297298a6681f1dd7022da
|
|
| MD5 |
28a5c1ac00957727cb2f286a971483ea
|
|
| BLAKE2b-256 |
f6c3af4f44c133cd19a2225c9c3d561955d83d3259607dab1e6c6778325d51f1
|