Turn your git history into standup notes, weekly summaries, and release notes — developer-owned, run on your machine, nothing uploaded.
Project description
Oneport Standup
Your git history → standup notes, weekly summaries, and release notes. Developer-owned: it reads your git on your machine and writes your narrative. Nothing is uploaded.
You already did the work — it's in your commits. Stop re-typing it into Slack every morning. One command turns your commits into a clean update in the right voice.
$ oneport-standup daily
# Standup — the last 24 hours
_you (priya@acme.io)_
**Shipped the checkout retry fix and started the refund flow.**
## Shipped
- Fixed the double-charge on checkout retries (ABC-412, #88)
- Added idempotency keys to the payments client
## In progress
- Refund flow — models + migration landed, API next
_6 commit(s) · 14 file change(s) · +512/-97 · refs: ABC-412_
Why it's different
LinearB, Jellyfish, and Swarmia read your GitHub from their cloud to build
manager dashboards — engineers experience that as surveillance. oneport-standup
inverts it: it runs on your machine, defaults to your commits, and the
output is yours to paste wherever you want. There is no server. Your history
never leaves the building.
Install
pip install oneport-standup
# optional — for the written narrative; without it you still get a clean,
# deterministic commit summary grouped by day:
export GEMINI_API_KEY=AIza... # free at https://aistudio.google.com/apikey
Use
oneport-standup daily # last 24h → standup notes (defaults to you)
oneport-standup weekly # last 7 days → weekly summary
oneport-standup since 2026-07-01 # since a date
oneport-standup since v2.3.0 # since a tag/branch/commit
oneport-standup release v2.3.0 v2.4.0 # release notes for a version range
oneport-standup weekly --all # everyone's commits, not just yours
oneport-standup daily --author jo@x # a specific author
oneport-standup daily -f json # machine-readable
oneport-standup weekly --no-llm # facts only, no API key needed
Markdown is the default output — the whole point is to paste it into Slack, a
standup doc, a PR description, or a CHANGELOG. -f inline renders it prettily
in the terminal; -f json is for tooling.
What's deterministic vs. AI
- Deterministic (always): which commits, by whom, in the window; files touched;
line stats; ticket keys (
ABC-123,CVE-2026-…) and PR refs (#42) pulled from subjects. This is puregit log— no model, no network. - AI (optional): grouping those commits into themed, readable bullets in the right voice. The model may only rephrase and group what the commits say — it never invents work. If it's unavailable, you get the deterministic day-grouped report instead (never nothing).
Configure — .oneportrc
standup:
model: gemini-flash-latest
output_format: markdown # markdown | inline | json
max_commits: 120 # cap fed to the summariser
The shared .oneport/guidelines.md is passed to the summariser as tone/context
(e.g. "write standups in past tense, no fluff").
Privacy
Serverless by design. Every fact comes from your local .git. Only the optional
prose summary calls a model, on your key. There is no Oneport server; your commit
history and code never leave your machine.
MIT licensed.
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 oneport_standup-0.1.0.tar.gz.
File metadata
- Download URL: oneport_standup-0.1.0.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
643ef302cea7375deabf514a16bd69364da67c183e29de8cb13076f5c9cba11b
|
|
| MD5 |
1b1aa67e39f2fb46f99cb05768c988aa
|
|
| BLAKE2b-256 |
5749e3e20d903f3277c2b013f8251315ffc8f8ffa92ee59f938a00cca4f79d71
|
File details
Details for the file oneport_standup-0.1.0-py3-none-any.whl.
File metadata
- Download URL: oneport_standup-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b14bbc2d59d835f743e3fb59e2a9c5039802e5468cbb4460cd098b0324805d2
|
|
| MD5 |
4374026870250c4176937814da1fce6b
|
|
| BLAKE2b-256 |
5cb579b679c365a4a3a2d705e1d04e008e49bc085100743f4751ae7606f33421
|