Skip to main content

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.

PyPI CI Python MIT

uvx codewrapped ~/code        # or: pipx run codewrapped ~/code

codewrapped playing an animated year in review of git history

codewrapped share card: The Marathoner

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)

Source distribution for codewrapped 0.1.0
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)

Table of built distributions (wheels) for codewrapped 0.1.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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