majd/ipatoolPublic

Command-line tool that allows searching and downloading app packages (known as ipa files) for iOS, iPadOS, tvOS, and visionOS from the App Store.

AI summary: Command line tool to search and download iOS, iPadOS, tvOS, and macOS apps from the App Store.

Stars
11K
+64 today
Forks
921
Watchers
78
Open issues
32
Open PRs
0
Contributors
~29
Commits
219
Branches
1

GoMITCreated May 22, 2021Last push 6d agoLatest release v2.5.0+265 stars this week+842 this month

Star history

since Jan 8, 2023
05K10KJan 2023Mar 2024Jun 2025Sep 2026
11K stars as of Sep 9, 2026, tracked back to Jan 8, 2023. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 1 commit2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 7 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 1 commit2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 1 commit2026-04-15: 0 commits2026-04-16: 2 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 2 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 1 commit2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 1 commit2026-05-26: 1 commit2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 2 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 1 commit2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 1 commit2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 2 commits2026-08-29: 6 commits2026-08-30: 2 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 2 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits
33 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    11,027 stars

  • Battle-tested

    5 years of history

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

What ipatool does

Operates as a command line utility that enables users to interact directly with the Apple App Store. Allows searching for iOS, iPadOS, tvOS, visionOS, and macOS applications seamlessly from the terminal. Facilitates the downloading of .ipa or macOS .pkg application packages securely. Requires a valid Apple ID setup to authenticate and process downloads effectively.

Security researchers, reverse engineers, and advanced users needing direct access to Apple application packages. Developers who want to automate the retrieval of App Store assets.

  • App Store search: Finds applications across multiple Apple platforms directly from the command line.
  • Package downloading: Retrieves .ipa and .pkg files directly to the local machine.
  • Multi-platform support: Works on Windows, Linux, and macOS operating systems.
  • Apple ID authentication: Uses secure authentication to access store data.
  • Homebrew installation: Easily installs via standard package managers on macOS.

Where teams use it

Archiving iOS applications

Download and store .ipa files locally for backup or archival purposes.

Analyzing macOS packages

Retrieve .pkg files directly for security analysis or reverse engineering.

Automating app retrieval

Integrate App Store downloads into CI/CD pipelines or scripts.

Cross-platform app management

Manage Apple ecosystem applications from Linux or Windows environments.

Getting started: brew install ipatool

README

main branch

IPATool

Release License

ipatool is a command line tool that allows you to search for iOS, iPadOS, tvOS, visionOS, and macOS apps on the App Store, and download .ipa or macOS .pkg app packages.

Demo

Requirements

  • Supported operating system (Windows, Linux or macOS).
  • Apple ID set up to use the App Store.

Installation

Manual

You can grab the latest version of ipatool from GitHub releases.

Package Manager (macOS)

You can install ipatool using Homebrew.

$ brew install ipatool

Usage

To authenticate with the App Store, use the auth command.

Authenticate with the App Store

Usage:
  ipatool auth [command]

Available Commands:
  info        Show current account info
  login       Login to the App Store
  revoke      Revoke your App Store credentials

Flags:
  -h, --help   help for auth

Global Flags:
      --format format     sets output format for command; can be 'text', 'json' (default text)
      --non-interactive   run in non-interactive session
      --verbose           enables verbose logs

Use "ipatool auth [command] --help" for more information about a command.

To search for apps on the App Store, use the search command.

Search for iOS, iPadOS, tvOS, visionOS, and macOS apps available on the App Store

Usage:
  ipatool search <term> [flags]

Flags:
  -h, --help              help for search
  -l, --limit int         maximum amount of search results to retrieve; visionOS supports up to 12 (default 5)
      --platform string   Platform to search: iphone (iOS), ipad (iPadOS), appletv (tvOS), visionos, or macos

Global Flags:
      --format format     sets output format for command; can be 'text', 'json' (default text)
      --non-interactive   run in non-interactive session
      --verbose           enables verbose logs

To obtain a license for an app, use the purchase command.

Obtain a license for the app from the App Store

Usage:
  ipatool purchase [flags]

Flags:
  -b, --bundle-identifier string   Bundle identifier of the target app (required)
  -h, --help                       help for purchase
      --platform string            Platform to purchase for: iphone (iOS), ipad (iPadOS), appletv (tvOS), visionos, or macos

Global Flags:
      --format format     sets output format for command; can be 'text', 'json' (default text)
      --non-interactive   run in non-interactive session
      --verbose           enables verbose logs

To list apps owned by the authenticated account, use the list-purchases command. Results are ordered by purchase date, newest first.

List apps owned by the authenticated App Store account

Usage:
  ipatool list-purchases [flags]

Flags:
  -h, --help              help for list-purchases
  -l, --max-results int   maximum number of apps to return per page (default 10)
  -p, --page int          page of owned apps to return (default 1)

Global Flags:
      --format format                sets output format for command; can be 'text', 'json' (default text)
      --keychain-passphrase string   passphrase for unlocking keychain
      --non-interactive              run in non-interactive session
      --verbose                      enables verbose logs

To obtain a list of availble app versions to download, use the list-versions command.

List the available versions of an iOS app

Usage:
  ipatool list-versions [flags]

Flags:
  -i, --app-id int                 ID of the target iOS app (required)
  -b, --bundle-identifier string   The bundle identifier of the target iOS app (overrides the app ID)
  -h, --help                       help for list-versions

Global Flags:
      --format format                sets output format for command; can be 'text', 'json' (default text)
      --keychain-passphrase string   passphrase for unlocking keychain
      --non-interactive              run in non-interactive session
      --verbose                      enables verbose logs

To download an app package, use the download command.

Download iOS, iPadOS, tvOS, visionOS, and macOS app packages from the App Store

Usage:
  ipatool download [flags]

Flags:
  -i, --app-id int                   ID of the target app (required)
  -b, --bundle-identifier string     The bundle identifier of the target app (overrides the app ID)
      --external-version-id string   External version identifier of the target app (defaults to latest version when not specified)
  -h, --help                         help for download
  -o, --output string                The destination path of the downloaded app package
      --platform string              Platform to download for: iphone (iOS), ipad (iPadOS), appletv (tvOS), visionos, or macos
      --purchase                     Obtain a license for the app if needed

Global Flags:
      --format format                sets output format for command; can be 'text', 'json' (default text)
      --keychain-passphrase string   passphrase for unlocking keychain
      --non-interactive              run in non-interactive session
      --verbose                      enables verbose logs

To resolve an external version identifier, returned by the list-versions command, use the get-version-metadata command.

Retrieves the metadata for a specific version of an app

Usage:
  ipatool get-version-metadata [flags]

Flags:
  -i, --app-id int                   ID of the target iOS app (required)
  -b, --bundle-identifier string     The bundle identifier of the target iOS app (overrides the app ID)
      --external-version-id string   External version identifier of the target iOS app (required)
  -h, --help                         help for get-version-metadata

Global Flags:
      --format format                sets output format for command; can be 'text', 'json' (default text)
      --keychain-passphrase string   passphrase for unlocking keychain
      --non-interactive              run in non-interactive session
      --verbose                      enables verbose logs

Note: the tool runs in interactive mode by default. Use the --non-interactive flag if running in an automated environment.

Compiling

The tool can be compiled using the Go toolchain.

$ go build -o ipatool

Unit tests can be executed with the following commands.

$ go generate ./...
$ go test -v ./...

License

IPATool is released under the MIT license.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

37 total
  1. v2.5.0v2.5.0Aug 31, 20265.5K downloads

    ## What's Changed * speed-up replicateZip - reduce CPU utilization and fix ZIP format errors by @jpstotz in https://github.com/majd/ipatool/pull/506 * fix: handle sap guest timeouts by @majd in https://github.com/majd/ipatool/pull/528 * fix(keychain): configure macOS credential access by @majd in https://github.com/majd/ipatool/pull/531 * add list-purchases command for owned apps by @majd in https://github.com/majd/ipatool/pull/532 * retry transient App Store authentication responses by @majd in https://github.com/majd/ipatool/pull/533 * add visionOS search and download support by @majd in https://github.com/majd/ipatool/pull/534 ## New Contributors * @jpstotz made their first contribution in https://github.com/majd/ipatool/pull/506 **Full Changelog**: https://github.com/majd/ipatool/compare/v2.4.0...v2.5.0

  2. v2.4.0v2.4.0Aug 28, 20263K downloads

    ## What's Changed * Fix: "An unknown error has occurred" FailureType 5002 by @AhmedBafkir in https://github.com/majd/ipatool/pull/500 * Replace App Store authentication with SAP-signed requests by @majd in https://github.com/majd/ipatool/pull/525 **Full Changelog**: https://github.com/majd/ipatool/compare/v2.3.2...v2.4.0

  3. v2.3.2v2.3.2Aug 3, 20269.8K downloads

    ## What's Changed * Bump golang.org/x/crypto from 0.51.0 to 0.52.0 in https://github.com/majd/ipatool/pull/509 * fix: fall back to legacy Store authentication in https://github.com/majd/ipatool/pull/514 **Full Changelog**: https://github.com/majd/ipatool/compare/v2.3.1...v2.3.2

  4. v2.3.1v2.3.1Jul 5, 20267.6K downloads

    ## What's Changed * Add AGENTS.md with repository guidance for coding agents by @majd in https://github.com/majd/ipatool/pull/441 * Treating 'iTunes Store Sign-in required' the same way as expired pass by @gitevedev in https://github.com/majd/ipatool/pull/432 * chore(deps): update keyring module to maintained fork by @majd in https://github.com/majd/ipatool/pull/466 * Use auth endpoint from Bag on retries by @majd in https://github.com/majd/ipatool/pull/468 * Fix IPA generated by ipatool not installable via itms-services by @majd in https://github.com/majd/ipatool/pull/469 * feat: perform partial zip reads for extracting version and release date by @majd in https://github.com/majd/ipatool/pull/472 * add tvOS app download support by @Lakr233 in https://github.com/majd/ipatool/pull/478 * Fix 429 rate limit handling and context key type mismatch in login #480 by @rudSarkar in https://github.com/majd/ipatool/pull/481 * fix(auth): append trailing slash to native/fast authenticate endpoint by @Vadim-B52 in https://github.com/majd/ipatool/pull/507 * Bump golang.org/x/net from 0.51.0 to 0.55.0 by @dependabot[bot] in https://github.com/majd/ipatool/pull/508 ## New Contributors

  5. v2.3.0v2.3.0Feb 16, 202627K downloads

    ## What's Changed * Resolve auth endpoint dynamically and use dedicated pods by @majd in https://github.com/majd/ipatool/pull/438 * Added Iraq to storefront.go by @sevenpastzeero in https://github.com/majd/ipatool/pull/383 * Resume incomplete downloads by @GSG2604 in https://github.com/majd/ipatool/pull/322 ## New Contributors * @sevenpastzeero made their first contribution in https://github.com/majd/ipatool/pull/383 * @GSG2604 made their first contribution in https://github.com/majd/ipatool/pull/322 * @jchillerup made their first contribution in https://github.com/majd/ipatool/pull/389 **Full Changelog**: https://github.com/majd/ipatool/compare/v2.2.0...v2.3.0-rc.1

Commits per week

last 52 weeks
80Week of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 1 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 7 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 1 commitsWeek of 2026-04-12: 3 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 2 commitsWeek of 2026-05-03: 1 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 2 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 3 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 1 commitsWeek of 2026-08-09: 0 commitsWeek of 2026-08-16: 0 commitsWeek of 2026-08-23: 8 commitsWeek of 2026-08-30: 4 commitsWeek of 2026-09-06: 0 commitsSep 14, 2025Sep 6, 2026
33 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 3 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 1 commitsSun 6:00 — 1 commitsSun 7:00 — 0 commitsSun 8:00 — 1 commitsSun 9:00 — 1 commitsSun 10:00 — 4 commitsSun 11:00 — 5 commitsSun 12:00 — 4 commitsSun 13:00 — 1 commitsSun 14:00 — 5 commitsSun 15:00 — 1 commitsSun 16:00 — 3 commitsSun 17:00 — 2 commitsSun 18:00 — 2 commitsSun 19:00 — 2 commitsSun 20:00 — 2 commitsSun 21:00 — 0 commitsSun 22:00 — 3 commitsSun 23:00 — 2 commitsMon 0:00 — 6 commitsMon 1:00 — 4 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 1 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 1 commitsMon 11:00 — 2 commitsMon 12:00 — 4 commitsMon 13:00 — 0 commitsMon 14:00 — 0 commitsMon 15:00 — 3 commitsMon 16:00 — 2 commitsMon 17:00 — 4 commitsMon 18:00 — 3 commitsMon 19:00 — 12 commitsMon 20:00 — 4 commitsMon 21:00 — 5 commitsMon 22:00 — 4 commitsMon 23:00 — 4 commitsTue 0:00 — 1 commitsTue 1:00 — 1 commitsTue 2:00 — 1 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 3 commitsTue 10:00 — 1 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 1 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 2 commitsTue 20:00 — 1 commitsTue 21:00 — 1 commitsTue 22:00 — 3 commitsTue 23:00 — 8 commitsWed 0:00 — 2 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 1 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 1 commitsWed 13:00 — 1 commitsWed 14:00 — 1 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 1 commitsWed 19:00 — 0 commitsWed 20:00 — 1 commitsWed 21:00 — 0 commitsWed 22:00 — 1 commitsWed 23:00 — 1 commitsThu 0:00 — 4 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 0 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 2 commitsThu 19:00 — 1 commitsThu 20:00 — 3 commitsThu 21:00 — 1 commitsThu 22:00 — 2 commitsThu 23:00 — 1 commitsFri 0:00 — 3 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 1 commitsFri 18:00 — 2 commitsFri 19:00 — 0 commitsFri 20:00 — 1 commitsFri 21:00 — 2 commitsFri 22:00 — 5 commitsFri 23:00 — 7 commitsSat 0:00 — 4 commitsSat 1:00 — 1 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 1 commitsSat 9:00 — 2 commitsSat 10:00 — 3 commitsSat 11:00 — 1 commitsSat 12:00 — 2 commitsSat 13:00 — 2 commitsSat 14:00 — 3 commitsSat 15:00 — 3 commitsSat 16:00 — 4 commitsSat 17:00 — 3 commitsSat 18:00 — 3 commitsSat 19:00 — 3 commitsSat 20:00 — 0 commitsSat 21:00 — 4 commitsSat 22:00 — 2 commitsSat 23:00 — 7 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits24 (73%)
Community commits9 (27%)

33 commits in total over the last year.

DateListRankStars gained
Sep 1, 2026daily#5+376
Aug 31, 2026daily#5+376
Aug 30, 2026daily#6+56
  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    282.9K stars · Python

  • trimstray/the-book-of-secret-knowledge

    A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more.

    243K stars

  • n8n-io/n8n

    Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

    204K stars · TypeScript

  • yt-dlp/yt-dlp

    A feature-rich command-line audio/video downloader

    190.2K stars · Python

  • avelino/awesome-go

    A curated list of awesome Go frameworks, libraries and software

    183.7K stars · Go

  • kubernetes/kubernetes

    Production-Grade Container Scheduling and Management

    127.1K stars · Go