Skip to main content

PaperPulse

CI PyPI Python License: MIT GitHub stars

Every day, arXiv posts hundreds of new papers. PaperPulse picks the five that actually matter to you, tells you whether to trust them, and explains why — all in plain English.

If this saves you from reading a paper that wasn't worth your time, a ⭐ helps other researchers find it too.

📄 See a real digest generated today →  ·  🗺️ Roadmap  ·  🧪 Annotated example

PaperPulse dashboard — ranked, trust-scored papers with relevance bars, clean/mixed/caution badges, and alpha cards

What it actually does

  1. Ranks papers by what you care about. You describe your interests in a sentence. PaperPulse ranks today's papers against that, and gets smarter every time you say "more like this" / "less like this."
  2. Flags papers that look shaky. No error bars, no code, hyped-up language, results that only hold on one dataset — PaperPulse scans for the patterns that usually mean weaker work, and shows you exactly which words triggered the flag.
  3. Remembers what you've already ruled out. Log a topic as "dead end, already tried" once, and PaperPulse will flag it every time it resurfaces — even in a different country's market or a different dataset.

No API keys, no paid services, no sign-up. It works offline out of the box.

pip install paperpulse
paperpulse init      # 30-second setup wizard
paperpulse run       # today's digest -> digests/YYYY-MM-DD.md

Finance papers get an extra "alpha card"

If a paper claims to find a trading edge, PaperPulse pulls out the specifics: what it's predicting, what data it used, what numbers it reported, and over what time period. A card can be:

  • Strong — data, numbers, and dates are all there. You could try to reproduce it.
  • Vague — the paper talks about markets but gives you nothing to check. This is the important case: it looks credible until you notice there's nothing underneath.
paperpulse alpha                       # today's papers as alpha cards
paperpulse alpha --full-text           # also reads the actual PDF, not just the abstract (needs: pip install "paperpulse[pdf]")

The options-backtest demo — read this before you install it

paperpulse backtest is a teaching tool, not a trading tool. It runs a real backtesting engine (optopsy) on made-up, synthetic data, so you can see how an options strategy is actually tested — how strikes get picked, what a win/loss report looks like, why even a "good" strategy loses money sometimes.

It does not:

  • verify whether any paper's claim is true
  • use real market data
  • connect to a broker or place any trade
  • give you financial advice of any kind

Think of it as a flight simulator for reading finance papers, not an autopilot. It's an optional extra (pip install "paperpulse[backtest]", needs Python 3.12+) — it's off by default and the rest of PaperPulse doesn't need it.

Using it

# Command line
paperpulse run --categories cs.LG cs.CL

# As a Python library
python -c "from paperpulse.pipeline import run_digest; from paperpulse.config import Config; \
           print(run_digest(Config(), dry_run=True).markdown)"

# Web dashboard (built in, no extra install)
paperpulse serve            # open http://127.0.0.1:8000

The dashboard has clickable topic filters, a settings panel to change what you're tracking without touching a config file, and renders any math in an abstract properly instead of showing raw symbols.

Or with Docker: docker compose up

Why not just ask an LLM to summarize arXiv?

Typical "arXiv + LLM" script PaperPulse
Ranking Newest first Ranked by your interests, and gets better as you give feedback
Trust Trusts whatever the summary says 15+ automated checks for weak/shaky work, each one explained
Memory None — sees the same thing every day Remembers what you've already ruled out
Cost Needs an API key Runs fully offline for free

More features

  • Multiple sources — arXiv, bioRxiv, medRxiv, PubMed, SSRN
  • Finds contradictions — flags pairs of recent papers that disagree with each other
  • Compares to your own code — paperpulse similar my_model.py finds papers closest to what you're already working on
  • Live prices for finance papers — if a paper mentions the S&P 500, Bitcoin, etc., the dashboard shows the current price next to it (no API key needed)
  • Notes — jot down your own thoughts against any paper and keep them
  • Delivery — save to a file, email, RSS feed, or post to Slack/Discord
  • Shared trust database — a team can pool their trust scores in one place

Configuration

paperpulse init writes a paperpulse.yaml you can edit by hand — see paperpulse.example.yaml for every option, commented.

API keys and passwords always go in environment variables, never in the config file: OPENAI_API_KEY / ANTHROPIC_API_KEY (only needed if you want AI-written summaries instead of the free built-in ones), PAPERPULSE_SMTP_* (email), PAPERPULSE_SLACK_WEBHOOK / PAPERPULSE_DISCORD_WEBHOOK, NCBI_API_KEY, PAPERPULSE_API_TOKEN (protects the dashboard if you put it on a shared server).

Scheduling

Run it daily with cron, or use the included GitHub Action to generate and commit a digest every weekday morning (.github/workflows/digest.yml).

Contributing

pip install -e ".[dev]"
pytest

Tests run fully offline — no network, no API keys required. See ROADMAP.md for what's built and what's planned.

License

MIT — see LICENSE.

Metadata

Release files for paperpulse 0.4.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 paperpulse 0.4.0
File Size Uploaded
paperpulse-0.4.0.tar.gz 112.2 kB Details

Built distribution (wheel)

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

Total release size: 210.4 kB

Release files / paperpulse-0.4.0.tar.gz

Download URL paperpulse-0.4.0.tar.gz
Size 112.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6d84cdeffb37fba29ddbe292e63e266dfd2bff99ac30afc40444f10bf9dca823
BLAKE2b-256 checksum
How to use checksums
267698d6fdbb56d41d73297d26cec3a864cc688a6ce709eebb74ff0518f244d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release files / paperpulse-0.4.0-py3-none-any.whl

Download URL paperpulse-0.4.0-py3-none-any.whl
Size 98.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
571f17dbbdda7e12514d6e1dfb78ad8f5bfe036ce849cb0d5d913c268792e7e9
BLAKE2b-256 checksum
How to use checksums
1e1820602d655c8f8d48716c888ea33c8feb9c610adc27ce22fc1b29d210bc89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

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