3b1b/manimPublic

Animation engine for explanatory math videos

AI summary: An animation engine for creating precise, programmatic explanatory math videos.

Stars
93.7K
+63 today
Forks
7.7K
Watchers
960
Open issues
461
Open PRs
33
Contributors
~210
Commits
6.5K
Branches
13

PythonMITCreated Mar 22, 2015Last push 1d agoLatest release v1.7.2+726 stars this week+3.1K this month

Star history

since Jan 8, 2023
025K50K75KJan 2023Mar 2024Jun 2025Sep 2026
93.7K stars as of Sep 10, 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
SepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-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: 1 commit2025-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: 0 commits2025-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: 9 commits2026-02-11: 7 commits2026-02-12: 1 commit2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 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: 2 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 1 commit2026-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: 3 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: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 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: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-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: 0 commits2026-05-26: 0 commits2026-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: 1 commit2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-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: 2 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: 2 commits2026-07-31: 1 commit2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 4 commits2026-08-04: 26 commits2026-08-05: 16 commits2026-08-06: 8 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 11 commits2026-08-10: 8 commits2026-08-11: 5 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 3 commits2026-08-15: 2 commits2026-08-16: 1 commit2026-08-17: 3 commits2026-08-18: 7 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: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits
124 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    93,707 stars

  • Battle-tested

    11 years of history

  • Actively maintained

    Pushed within 48 hours

  • Community-driven

    ~210 contributors

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    20 trending appearances

  • Top 10% tracked

    Rank 79 of 1148

What manim does

Manim is a powerful Python library specifically engineered to generate high-quality, programmatic animations for mathematical explanations. It provides a comprehensive suite of tools for rendering complex equations, geometric shapes, and continuous transformations with exact precision. By allowing users to define animations through code rather than a graphical timeline, it ensures mathematical accuracy and enables complex parametric visuals. This engine powers the widely popular 3Blue1Brown YouTube channel, offering a unique aesthetic that excels at breaking down intricate concepts into digestible, fluid animations.

Educators, mathematicians, researchers, and content creators who want to produce highly precise, programmatic visual explanations of complex concepts. Requires a strong understanding of Python.

  • Programmatic animation: Allows users to construct complex visual sequences entirely through Python code rather than manual keyframing.
  • Mathematical precision: Provides native integration with LaTeX for rendering flawless equations alongside geometric transformations.
  • Continuous rendering: Excels at smooth, interpolated transformations between different mathematical states and shapes.
  • Command-line rendering: Offers a robust CLI for generating specific scenes, previewing frames, and controlling output quality.
  • Extensive geometry library: Includes a vast array of built-in objects like vectors, planes, functions, and complex 3D surfaces.

Where teams use it

Educational video production

Educators can create professional-grade instructional videos explaining complex calculus or linear algebra concepts.

Data visualization

Researchers can script elegant animations to demonstrate algorithmic processes or statistical distributions dynamically.

Mathematical art

Creators can generate mesmerizing geometric patterns and fractals through precise parametric programming.

Presentation aids

Speakers can render high-quality, animated snippets to embed into conference presentations to illustrate technical points.

Getting started: git clone https://github.com/3b1b/manim.git && cd manim && pip install -e .

README

master branch

pypi version MIT License Manim Subreddit Manim Discord docs

Manim is an engine for precise programmatic animations, designed for creating explanatory math videos.

Note, there are two versions of manim. This repository began as a personal project by the author of 3Blue1Brown for the purpose of animating those videos, with video-specific code available here. In 2020 a group of developers forked it into what is now the community edition, with a goal of being more stable, better tested, quicker to respond to community contributions, and all around friendlier to get started with. See this page for more details.

Installation

Warning

WARNING: These instructions are for ManimGL only. Trying to use these instructions to install Manim Community/manim or instructions there to install this version will cause problems. You should first decide which version you wish to install, then only follow the instructions for your desired version.

Note

Note: To install manim directly through pip, please pay attention to the name of the installed package. This repository is ManimGL of 3b1b. The package name is manimgl instead of manim or manimlib. Please use pip install manimgl to install the version in this repository.

Manim runs on Python 3.10 or higher.

System requirements are FFmpeg, OpenGL and LaTeX (optional, if you want to use LaTeX). For Linux, Pango along with its development headers are required. See instruction here.

Directly

# Install manimgl
pip install manimgl

# Try it out
manimgl

For more options, take a look at the Using manim sections further below.

If you want to hack on manimlib itself, clone this repository and in that directory execute:

# Install manimgl
pip install -e .

# Try it out
manimgl example_scenes.py OpeningManimExample
# or
manim-render example_scenes.py OpeningManimExample

Linux (Ubuntu/Debian)

  1. Install system dependencies.
sudo apt update

sudo apt install ffmpeg
sudo apt install python3-pip
sudo apt install libpango1.0-dev
  1. Install a lightweight LaTeX distribution (optional, for LaTeX rendering).
sudo apt install texlive-science texlive-fonts-extra texlive-latex-extra

This lightweight setup is significantly smaller than installing texlive-full while still supporting most Manim projects.

  1. Clone and install ManimGL.
git clone https://github.com/3b1b/manim.git
cd manim

python3 -m pip install -e .

manimgl example_scenes.py OpeningManimExample
💡 Optional: Using a virtual environment (venv)

It is recommended to use a virtual environment to avoid conflicts with system packages.

sudo apt install python3-venv

python3 -m venv venv
source venv/bin/activate

python3 -m pip install -e .

If python3-venv is unavailable on your system, try installing the version-specific package instead:

sudo apt install python3.12-venv

Directly (Windows)

  1. Install FFmpeg.
  2. Install a LaTeX distribution. MiKTeX is recommended.
  3. Install the remaining Python packages.
    git clone https://github.com/3b1b/manim.git
    cd manim
    pip install -e .
    manimgl example_scenes.py OpeningManimExample

Mac OSX

  1. Install FFmpeg, LaTeX in terminal using homebrew.

    brew install ffmpeg mactex
    💡 An alternative to heavyweight MacTeX bundle.

    To avoid installing the full MacTeX bundle, which is ~6GB, you can alternatively install the lightweight BasicTeX and then gradually add only the LaTeX packages you actually need. A list of packages sufficient to run examples can be found here. For an overview of the MacTeX installer bundles, see https://www.tug.org/mactex/.

  2. If you are using an ARM-based processor, install Cairo.

    arch -arm64 brew install pkg-config cairo
  3. Install latest version of manim using these command.

    git clone https://github.com/3b1b/manim.git
    cd manim
    pip install -e .
    manimgl example_scenes.py OpeningManimExample

    If the last command is not found, make sure the directory pip installed manimgl into is on your PATH.

Anaconda Install

  1. Install LaTeX as above.
  2. Create a conda environment using conda create -n manim python=3.10.
  3. Activate the environment using conda activate manim.
  4. Install manimgl using pip install -e ..

Using manim

Try running the following:

manimgl example_scenes.py OpeningManimExample

This should pop up a window playing a simple scene.

Look through the example scenes to see examples of the library's syntax, animation types and object types. In the 3b1b/videos repo, you can see all the code for 3blue1brown videos, though code from older videos may not be compatible with the most recent version of manim. The readme of that repo also outlines some details for how to set up a more interactive workflow, as shown in this manim demo video for example.

When running in the CLI, some useful flags include:

  • -w to write the scene to a file
  • -o to write the scene to a file and open the result
  • -s to skip to the end and just show the final frame.
    • -so will save the final frame to an image and show it
  • -n <number> to skip ahead to the n'th animation of a scene.
  • -f to make the playback window fullscreen

Take a look at custom_config.yml for further configuration. To add your customization, you can either edit this file, or add another file by the same name "custom_config.yml" to whatever directory you are running manim from. For example this is the one for 3blue1brown videos. There you can specify where videos should be output to, where manim should look for image files and sounds you want to read in, and other defaults regarding style and video quality.

Documentation

Documentation is in progress at 3b1b.github.io/manim. And there is also a Chinese version maintained by @manim-kindergarten: docs.manim.org.cn (in Chinese).

manim-kindergarten wrote and collected some useful extra classes and some codes of videos in manim_sandbox repo.

Contributing

Is always welcome. As mentioned above, the community edition has the most active ecosystem for contributions, with testing and continuous integration, but pull requests are welcome here too. Please explain the motivation for a given change and examples of its effect.

License

This project falls under the MIT license.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

13 total
  1. v1.7.2v1.7.2Dec 13, 2024

    - Added reload functionality by @Splines - Updated how configuration is handled - Change how Tex (and Text) caches generated svg data - Fix incorrect arg injection in Riemann rectangles by @InakiRaba91 - Misc. other bug fixes

  2. v1.7.1v1.7.1Oct 23, 2024

    - Fix a bug associated with Fill, and negative winding numbers - Update project dependencies - Fix window background bug by @Varniex

  3. ManimGL 1.7.0v1.7.0Oct 16, 2024147 downloads

    ## What's Changed * Performance improvements in rendering * Improvements to interactive scene development * Improved stroke rendering in 3d * Refactor StringMobject and relevant classes by @YishiMichael in https://github.com/3b1b/manim/pull/1795 * Fix a logistic bug by @YishiMichael in https://github.com/3b1b/manim/pull/1815 * Add `template` and `additional_preamble` parameters to `Tex` by @YishiMichael in https://github.com/3b1b/manim/pull/1818 * Add `set_anim_args` to `.animate` method by @widcardw in https://github.com/3b1b/manim/pull/1862 * Many more misc. bug fixes and improvements ## New Contributors * @alexrintt made their first contribution in https://github.com/3b1b/manim/pull/1787 * @beccare made their first contribution in https://github.com/3b1b/manim/pull/1840 * @CheryX made their first contribution in https://github.com/3b1b/manim/pull/1872 * @IcyChlorine made their first contribution in https://github.com/3b1b/manim/pull/1858 * @zakhar-kogan made their first contribution in https://github.com/3b1b/manim/pull/1879 * @eltociear made their first contribution in https://github.com/3b1b/manim/pull/1913 * @LucaCappelletti94 made their first contribution i

  4. ManimGL 1.6.1v1.6.1Apr 13, 20223.6K downloads

    ## What's Changed * Added a \overset as a special string by @EbbDrop in https://github.com/3b1b/manim/pull/1783 * Fix bug when handling multi-line tex by @YishiMichael in https://github.com/3b1b/manim/pull/1785 * Interpolate fix by @3b1b in https://github.com/3b1b/manim/pull/1788 * Fix `ImageMobject` by overriding `set_color` method by @TonyCrane in https://github.com/3b1b/manim/pull/1791 ## New Contributors * @EbbDrop made their first contribution in https://github.com/3b1b/manim/pull/1783 **Full Changelog**: https://3b1b.github.io/manim/development/changelog.html#v1-6-1 ## Checksums <details> <summary>MD5</summary> ```text cd5eb952ffc1ff4fe9206a6a3dd08e2e manimgl-1.6.1-docs.zip 767127eb9f8b526faccf872328b72c90 manimgl-1.6.1-py310-none-any.whl bb3caa5d426e446407595bf6c8a5843c manimgl-1.6.1-py37-none-any.whl fb85b412d0a1a66cb2d2111d12329443 manimgl-1.6.1-py38-none-any.whl c0c655376ca424147c8ea2ec1a828372 manimgl-1.6.1-py39-none-any.whl 523b03d1089212cf41d7fb44afb664bd Source code (zip) manim-1.6.1.zip c4387c801207ca044412016d5869bd7c Source code (tar.gz) manim-1.6.1.tar.gz ``` </details> <details> <summary>SHA256</summary> ```text 142d

  5. ManimGL 1.6.0v1.6.0Apr 7, 2022276 downloads

    ## What's Changed * **Python 3.6 is no longer supported** * Specify UTF-8 encoding for tex files by @YishiMichael in https://github.com/3b1b/manim/pull/1748 * Reorganize getters for ParametricCurve by @TurkeyBilly in https://github.com/3b1b/manim/pull/1757 * Fix the width of riemann rectangles by @widcardw in https://github.com/3b1b/manim/pull/1762 * Refactor Text with the latest manimpango by @YishiMichael in https://github.com/3b1b/manim/pull/1751 * Add type hints according to PEP 484 and PEP 604 by @TonyCrane in https://github.com/3b1b/manim/pull/1736 * Video work by @3b1b in https://github.com/3b1b/manim/pull/1764 * Adjust some typings by @YishiMichael in https://github.com/3b1b/manim/pull/1765 * Give the user feedback for SVGs that take a while by @sunkisser in https://github.com/3b1b/manim/pull/1766 * Small camera/3d updates by @3b1b in https://github.com/3b1b/manim/pull/1770 * Construct LabelledString base class for MarkupText and MTex by @YishiMichael in https://github.com/3b1b/manim/pull/1772 * Fix typo by @YishiMichael in https://github.com/3b1b/manim/pull/1777 * Remove unnecessary raise statement by @YishiMichael in https://github.com/3b1b/manim/pull/1778 *

Code frequency

additions and deletions
+13K-13KWeek of 2025-09-07: +0 linesWeek of 2025-09-07: -0 linesWeek of 2025-09-14: +0 linesWeek of 2025-09-14: -0 linesWeek of 2025-09-21: +0 linesWeek of 2025-09-21: -0 linesWeek of 2025-09-28: +0 linesWeek of 2025-09-28: -0 linesWeek of 2025-10-05: +0 linesWeek of 2025-10-05: -0 linesWeek of 2025-10-12: +227 linesWeek of 2025-10-12: -68 linesWeek of 2025-10-19: +0 linesWeek of 2025-10-19: -0 linesWeek of 2025-10-26: +0 linesWeek of 2025-10-26: -0 linesWeek of 2025-11-02: +0 linesWeek of 2025-11-02: -0 linesWeek of 2025-11-09: +0 linesWeek of 2025-11-09: -0 linesWeek of 2025-11-16: +0 linesWeek of 2025-11-16: -0 linesWeek of 2025-11-23: +0 linesWeek of 2025-11-23: -0 linesWeek of 2025-11-30: +0 linesWeek of 2025-11-30: -0 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -0 linesWeek of 2025-12-14: +0 linesWeek of 2025-12-14: -0 linesWeek of 2025-12-21: +0 linesWeek of 2025-12-21: -0 linesWeek of 2025-12-28: +0 linesWeek of 2025-12-28: -0 linesWeek of 2026-01-04: +0 linesWeek of 2026-01-04: -0 linesWeek of 2026-01-11: +0 linesWeek of 2026-01-11: -0 linesWeek of 2026-01-18: +0 linesWeek of 2026-01-18: -0 linesWeek of 2026-01-25: +0 linesWeek of 2026-01-25: -0 linesWeek of 2026-02-01: +0 linesWeek of 2026-02-01: -0 linesWeek of 2026-02-08: +340 linesWeek of 2026-02-08: -138 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +0 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +0 linesWeek of 2026-03-01: -0 linesWeek of 2026-03-08: +115 linesWeek of 2026-03-08: -36 linesWeek of 2026-03-15: +0 linesWeek of 2026-03-15: -0 linesWeek of 2026-03-22: +58 linesWeek of 2026-03-22: -4 linesWeek of 2026-03-29: +0 linesWeek of 2026-03-29: -0 linesWeek of 2026-04-05: +0 linesWeek of 2026-04-05: -0 linesWeek of 2026-04-12: +0 linesWeek of 2026-04-12: -0 linesWeek of 2026-04-19: +0 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +0 linesWeek of 2026-04-26: -0 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +0 linesWeek of 2026-05-10: -0 linesWeek of 2026-05-17: +0 linesWeek of 2026-05-17: -0 linesWeek of 2026-05-24: +0 linesWeek of 2026-05-24: -0 linesWeek of 2026-05-31: +0 linesWeek of 2026-05-31: -0 linesWeek of 2026-06-07: +0 linesWeek of 2026-06-07: -0 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +127 linesWeek of 2026-06-28: -9 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +42 linesWeek of 2026-07-12: -16 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +159 linesWeek of 2026-07-26: -52 linesWeek of 2026-08-02: +12,974 linesWeek of 2026-08-02: -10,346 linesWeek of 2026-08-09: +2,617 linesWeek of 2026-08-09: -1,813 linesWeek of 2026-08-16: +259 linesWeek of 2026-08-16: -59 linesWeek of 2026-08-23: +0 linesWeek of 2026-08-23: -0 linesWeek of 2026-08-30: +0 linesWeek of 2026-08-30: -0 linesSep 7, 2025Aug 30, 2026
+16.9K lines added, -12.5K removed over the last year.

Commits per week

last 52 weeks
540Week of 2025-09-07: 0 commitsWeek 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: 1 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: 0 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: 17 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 3 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 3 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 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: 1 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 2 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 3 commitsWeek of 2026-08-02: 54 commitsWeek of 2026-08-09: 29 commitsWeek of 2026-08-16: 11 commitsWeek of 2026-08-23: 0 commitsWeek of 2026-08-30: 0 commitsSep 7, 2025Aug 30, 2026
124 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 7 commitsSun 1:00 — 4 commitsSun 2:00 — 1 commitsSun 3:00 — 5 commitsSun 4:00 — 1 commitsSun 5:00 — 2 commitsSun 6:00 — 1 commitsSun 7:00 — 4 commitsSun 8:00 — 18 commitsSun 9:00 — 36 commitsSun 10:00 — 46 commitsSun 11:00 — 26 commitsSun 12:00 — 52 commitsSun 13:00 — 23 commitsSun 14:00 — 20 commitsSun 15:00 — 22 commitsSun 16:00 — 43 commitsSun 17:00 — 30 commitsSun 18:00 — 25 commitsSun 19:00 — 26 commitsSun 20:00 — 20 commitsSun 21:00 — 32 commitsSun 22:00 — 19 commitsSun 23:00 — 22 commitsMon 0:00 — 7 commitsMon 1:00 — 7 commitsMon 2:00 — 2 commitsMon 3:00 — 2 commitsMon 4:00 — 0 commitsMon 5:00 — 1 commitsMon 6:00 — 6 commitsMon 7:00 — 11 commitsMon 8:00 — 18 commitsMon 9:00 — 34 commitsMon 10:00 — 58 commitsMon 11:00 — 62 commitsMon 12:00 — 63 commitsMon 13:00 — 64 commitsMon 14:00 — 77 commitsMon 15:00 — 63 commitsMon 16:00 — 75 commitsMon 17:00 — 41 commitsMon 18:00 — 32 commitsMon 19:00 — 50 commitsMon 20:00 — 41 commitsMon 21:00 — 44 commitsMon 22:00 — 35 commitsMon 23:00 — 24 commitsTue 0:00 — 25 commitsTue 1:00 — 6 commitsTue 2:00 — 4 commitsTue 3:00 — 4 commitsTue 4:00 — 4 commitsTue 5:00 — 0 commitsTue 6:00 — 1 commitsTue 7:00 — 9 commitsTue 8:00 — 10 commitsTue 9:00 — 54 commitsTue 10:00 — 62 commitsTue 11:00 — 81 commitsTue 12:00 — 83 commitsTue 13:00 — 85 commitsTue 14:00 — 92 commitsTue 15:00 — 80 commitsTue 16:00 — 65 commitsTue 17:00 — 56 commitsTue 18:00 — 41 commitsTue 19:00 — 59 commitsTue 20:00 — 57 commitsTue 21:00 — 46 commitsTue 22:00 — 66 commitsTue 23:00 — 24 commitsWed 0:00 — 39 commitsWed 1:00 — 1 commitsWed 2:00 — 1 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 1 commitsWed 6:00 — 0 commitsWed 7:00 — 17 commitsWed 8:00 — 21 commitsWed 9:00 — 39 commitsWed 10:00 — 46 commitsWed 11:00 — 79 commitsWed 12:00 — 68 commitsWed 13:00 — 81 commitsWed 14:00 — 75 commitsWed 15:00 — 58 commitsWed 16:00 — 71 commitsWed 17:00 — 81 commitsWed 18:00 — 42 commitsWed 19:00 — 42 commitsWed 20:00 — 49 commitsWed 21:00 — 61 commitsWed 22:00 — 40 commitsWed 23:00 — 34 commitsThu 0:00 — 12 commitsThu 1:00 — 5 commitsThu 2:00 — 0 commitsThu 3:00 — 1 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 5 commitsThu 8:00 — 23 commitsThu 9:00 — 40 commitsThu 10:00 — 83 commitsThu 11:00 — 102 commitsThu 12:00 — 68 commitsThu 13:00 — 48 commitsThu 14:00 — 100 commitsThu 15:00 — 95 commitsThu 16:00 — 83 commitsThu 17:00 — 79 commitsThu 18:00 — 42 commitsThu 19:00 — 36 commitsThu 20:00 — 42 commitsThu 21:00 — 43 commitsThu 22:00 — 29 commitsThu 23:00 — 44 commitsFri 0:00 — 9 commitsFri 1:00 — 4 commitsFri 2:00 — 4 commitsFri 3:00 — 2 commitsFri 4:00 — 3 commitsFri 5:00 — 0 commitsFri 6:00 — 6 commitsFri 7:00 — 4 commitsFri 8:00 — 34 commitsFri 9:00 — 53 commitsFri 10:00 — 52 commitsFri 11:00 — 69 commitsFri 12:00 — 65 commitsFri 13:00 — 67 commitsFri 14:00 — 64 commitsFri 15:00 — 67 commitsFri 16:00 — 51 commitsFri 17:00 — 61 commitsFri 18:00 — 25 commitsFri 19:00 — 34 commitsFri 20:00 — 33 commitsFri 21:00 — 34 commitsFri 22:00 — 18 commitsFri 23:00 — 17 commitsSat 0:00 — 11 commitsSat 1:00 — 1 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 1 commitsSat 5:00 — 0 commitsSat 6:00 — 3 commitsSat 7:00 — 2 commitsSat 8:00 — 9 commitsSat 9:00 — 28 commitsSat 10:00 — 53 commitsSat 11:00 — 42 commitsSat 12:00 — 37 commitsSat 13:00 — 44 commitsSat 14:00 — 24 commitsSat 15:00 — 42 commitsSat 16:00 — 43 commitsSat 17:00 — 40 commitsSat 18:00 — 50 commitsSat 19:00 — 37 commitsSat 20:00 — 26 commitsSat 21:00 — 23 commitsSat 22:00 — 55 commitsSat 23:00 — 12 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits97 (73%)
Community commits36 (27%)

133 commits in total over the last year.

DateListRankStars gained
Sep 10, 2026monthly#18+4,394
Sep 9, 2026monthly#18+4,394
Sep 8, 2026monthly#16+4,285
Sep 7, 2026monthly#15+4,206
Sep 6, 2026monthly#16+4,108
Sep 5, 2026monthly#16+4,029
Sep 4, 2026monthly#16+3,988
Sep 3, 2026daily#6+86
Sep 2, 2026daily#6+86
Sep 1, 2026daily#7+74
Aug 20, 2026weekly#8+1,646
Aug 19, 2026weekly#8+1,646
Aug 18, 2026weekly#6+1,724
Aug 17, 2026weekly#8+1,978
Aug 16, 2026weekly#9+2,008