codewrapped
Spotify Wrapped for your code.
Your year in commits, from every git repo on your machine, work and personal, public and private. Plus a card to share.
uvx codewrapped ~/code # or: pipx run codewrapped ~/code
Demo and card generated from synthetic repositories.
Why another Wrapped?
GitHub-based year-in-review tools only see what's on GitHub. Your year also lives in your employer's GitLab, in private repos, and in side projects that never got pushed. codewrapped reads the git history already on your disk, so it sees all of it, and none of it leaves your machine.
What you get
- Commits, lines added and deleted, active days, longest streak, deduplicated across clones and forks
- Your languages by lines written (lockfiles,
node_modules, minified and generated files are ignored) - Your rhythm: the hour and weekday you code best, your busiest day and month, your latest-night commit
- Your commit messages: your favorite word, how many were fixes, your shortest message
- Your developer personality: The Night Owl, The Marathoner, The Refactorer, The Weekend Warrior, The Polyglot, ...
- A 1200×675 share card, sized for X, LinkedIn and Slack previews
Private by design
- It reads your local git history. No API calls, no tokens, no network.
- The card never shows repo names or code, so private work projects stay private. It shows your numbers and languages only.
- Repo names appear in your terminal summary, which only you see.
Options
codewrapped # repos under the current folder
codewrapped ~/code ~/work # search several places
codewrapped --year 2025
codewrapped --author me@work.com --author me@personal.dev # all the emails you commit with
codewrapped --everyone # a whole team's wrapped, for one repo
codewrapped --no-anim # just the summary
codewrapped --card wrapped.png # or --no-card
By default it counts commits matching the user.email / user.name in your git config (global and per-repo).
If you've committed under several emails, pass each with --author.
License
MIT. Bundles the Inter typeface under the SIL Open Font License.
Metadata
Release files for codewrapped 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| codewrapped-0.1.0.tar.gz | 738.5 kB | With provenance | Details for codewrapped-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| codewrapped-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for codewrapped-0.1.0-py3-none-any.whl |
Total release size: 1.5 MB
Release files / codewrapped-0.1.0.tar.gz
| Download URL | codewrapped-0.1.0.tar.gz |
|---|---|
| Size | 738.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2da732b8f90706d07e0e027dfc167197d85256250a3db8f07d058e448c127c18
|
|
BLAKE2b-256 checksum How to use checksums |
de41549f90dc02fd9f257a359cddf024b77c1582cd6c6cf3dd36f8bc8d15dc4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 5, 2026.
Transparency logRelease files / codewrapped-0.1.0-py3-none-any.whl
| Download URL | codewrapped-0.1.0-py3-none-any.whl |
|---|---|
| Size | 741.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66c768495f3d3acba3fd4538167a9218ac4ea2f066267aa6ec52830870438678
|
|
BLAKE2b-256 checksum How to use checksums |
3a63da5a81389135ebd44db4cc411dfe82f8f32702f588899ac9f761b8226cca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 5, 2026.
Transparency logSecurity for codewrapped 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.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for codewrapped-0.1.0.tar.gz
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 Nov 5, 2026.
Transparency logA 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.