Skip to main content

briefsnap

One command. Five data sources. Your morning in one digest.

briefsnap pulls Hacker News, RSS feeds, Bluesky profiles, GitHub repos, and arXiv papers in parallel and formats them as a combined morning briefing — text or JSON.

$ briefsnap
# Morning Briefing — August 15, 2026

## Hacker News

1. **Show HN: I built a thing**  (342 points · 87 comments · by someone)
   https://example.com/thing
...

Install

pip install briefsnap

Requires Python 3.10+. Pulls in the five *snap sibling packages automatically.

Quickstart

# Default: HN top 5 stories
briefsnap

# More HN stories
briefsnap --hn 10

# Add an RSS feed
briefsnap --rss https://simonwillison.net/atom/everything/

# Follow a Bluesky handle
briefsnap --bsky simonw.bsky.social

# Watch a GitHub repo
briefsnap --repo simonw/llm

# arXiv search
briefsnap --arxiv "LLM agents"

# Mix and match
briefsnap --hn 5 --rss https://news.ycombinator.com/rss --bsky simonw.bsky.social

# JSON output
briefsnap --output json | jq .

Config file

For a repeatable daily briefing, drop a briefsnap.toml anywhere and point at it with --config:

[hackersnap]
enabled = true
limit   = 5
type    = "top"   # top / new / best / ask / show / job

[feedsnap]
feeds = [
  { url = "https://simonwillison.net/atom/everything/", limit = 5 },
  { url = "https://www.joelonsoftware.com/feed/", limit = 3 },
]

[bskysnap]
handles = [
  { handle = "simonw.bsky.social", limit = 5 },
]

[reposnap]
repos = [
  { repo = "simonw/llm", limit = 5 },
]

[arxivsnap]
queries = [
  { query = "LLM agents", limit = 3 },
]
briefsnap --config briefsnap.toml
briefsnap --config briefsnap.toml --output json

CLI flags override the config file — handy for one-off adjustments:

briefsnap --config briefsnap.toml --hn 10

Output modes

Flag Description
--output text Markdown digest (default)
--output json Structured JSON with date envelope

Agent / ACLI support

briefsnap introspect   # ACLI-compliant JSON description
briefsnap skill        # agentskills.io SKILL.md

How it works

  • Each source is fetched in a separate thread (ThreadPoolExecutor) — five sources run in parallel, not serially.
  • One source failing (network error, bad feed) does not kill the digest — it falls back to an empty section.
  • Uses hackersnap, feedsnap, bskysnap, rook-reposnap, and arxivsnap as library imports.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

briefsnap-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

briefsnap-0.1.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: briefsnap-0.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for briefsnap-0.1.0.tar.gz
Algorithm Hash digest
SHA256 129868b3dff7d831c69568af9d9228f0d06bda88220f1cb5ec2efdde44647224
MD5 7cb9479b938ba31f53b107dfb5baa849
BLAKE2b-256 3401214ba37e8920cfae89dc1787d28de84a7b12e2d7ead23b5ca43d5737ee8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: briefsnap-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for briefsnap-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e97880dd6614dab989c7da292cf42a7c719d5cb6e6e1f63923d761cb55517ac2
MD5 b55085f18e810edff9fab1065dfde3af
BLAKE2b-256 e1d367b23efe0169d5e535a8d0925ac16e57889fc8ea9c6ee27c5ec8f6df4e36

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 Sentry Error logging StatusPage Status page