Skip to content

Commit b81b7ec

Browse files
Merge branch 'main' of https://github.com/ManimCommunity/manim into guide
2 parents 7267c72 + c2dfb59 commit b81b7ec

File tree

367 files changed

+7831
-4324
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

367 files changed

+7831
-4324
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ jobs:
2323
fail-fast: false
2424
matrix:
2525
os: [ubuntu-22.04, macos-13, windows-latest]
26-
python: ["3.9", "3.10", "3.11", "3.12"]
26+
python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
2727

2828
steps:
2929
- name: Checkout the repository
3030
uses: actions/checkout@v4
3131

3232
- name: Install Poetry
3333
run: |
34-
pipx install "poetry==1.7.*"
34+
pipx install "poetry==1.8.*"
3535
poetry config virtualenvs.prefer-active-python true
3636
3737
- name: Setup Python ${{ matrix.python }}
@@ -142,10 +142,7 @@ jobs:
142142
Expand-Archive -LiteralPath "$($env:TMP)\TinyTex.zip" -DestinationPath "$($PWD)\ManimCache\LatexWindows"
143143
$env:Path = "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\windows;$($env:PATH)"
144144
tlmgr update --self
145-
foreach ($c in $tinyTexPackages){
146-
$c=$c.Trim()
147-
tlmgr install $c
148-
}
145+
tlmgr install $tinyTexPackages
149146
$env:PATH=$OriPath
150147
echo "Completed Latex"
151148
@@ -156,10 +153,9 @@ jobs:
156153
$env:Path = "$env:USERPROFILE\.poetry\bin;$($env:PATH)"
157154
echo "$env:Path" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
158155
159-
- name: Install manim
156+
- name: Install dependencies and manim
160157
run: |
161-
poetry config installer.modern-installation false
162-
poetry install
158+
poetry install --all-extras
163159
164160
- name: Run tests
165161
run: |

.pre-commit-config.yaml

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
default_stages: [commit, push]
1+
default_stages: [pre-commit, pre-push]
22
fail_fast: false
33
exclude: ^(manim/grpc/gen/|docs/i18n/)
44
repos:
55
- repo: https://github.com/pre-commit/pre-commit-hooks
6-
rev: v4.6.0
6+
rev: v5.0.0
77
hooks:
88
- id: check-ast
99
name: Validate Python
@@ -12,33 +12,17 @@ repos:
1212
- id: end-of-file-fixer
1313
- id: check-toml
1414
name: Validate Poetry
15-
- repo: https://github.com/pre-commit/pygrep-hooks
16-
rev: v1.10.0
17-
hooks:
18-
- id: python-check-blanket-noqa
19-
name: Precision flake ignores
2015
- repo: https://github.com/astral-sh/ruff-pre-commit
21-
rev: v0.6.2
16+
rev: v0.9.1
2217
hooks:
2318
- id: ruff
2419
name: ruff lint
2520
types: [python]
2621
args: [--exit-non-zero-on-fix]
2722
- id: ruff-format
2823
types: [python]
29-
- repo: https://github.com/PyCQA/flake8
30-
rev: 7.1.1
31-
hooks:
32-
- id: flake8
33-
additional_dependencies:
34-
[
35-
flake8-docstrings==1.6.0,
36-
flake8-pytest-style==1.5.0,
37-
flake8-rst-docstrings==0.2.3,
38-
flake8-simplify==0.14.1,
39-
]
4024
- repo: https://github.com/pre-commit/mirrors-mypy
41-
rev: v1.11.2
25+
rev: v1.14.1
4226
hooks:
4327
- id: mypy
4428
additional_dependencies:

.readthedocs.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
version: 2
2+
3+
sphinx:
4+
configuration: docs/source/conf.py
5+
26
build:
37
os: ubuntu-22.04
48

59
tools:
6-
python: "3.11"
10+
python: "3.13"
711

812
apt_packages:
913
- libpango1.0-dev

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ authors:
44
-
55
name: "The Manim Community Developers"
66
cff-version: "1.2.0"
7-
date-released: 2024-04-28
7+
date-released: 2025-01-20
88
license: MIT
99
message: "We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work."
1010
title: Manim – Mathematical Animation Framework
1111
url: "https://www.manim.community/"
12-
version: "v0.18.1"
12+
version: "v0.19.0"
1313
...

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
Manim is an animation engine for explanatory math videos. It's used to create precise animations programmatically, as demonstrated in the videos of [3Blue1Brown](https://www.3blue1brown.com/).
2323

24-
> NOTE: This repository is maintained by the Manim Community and is not associated with Grant Sanderson or 3Blue1Brown in any way (although we are definitely indebted to him for providing his work to the world). If you would like to study how Grant makes his videos, head over to his repository ([3b1b/manim](https://github.com/3b1b/manim)). This fork is updated more frequently than his, and it's recommended to use this fork if you'd like to use Manim for your own projects.
24+
> [!NOTE]
25+
> The community edition of Manim has been forked from 3b1b/manim, a tool originally created and open-sourced by Grant Sanderson, also creator of the 3Blue1Brown educational math videos. While Grant Sanderson’s repository continues to be maintained separately by him, he is not among the maintainers of the community edition. We recommend this version for its continued development, improved features, enhanced documentation, and more active community-driven maintenance. If you would like to study how Grant makes his videos, head over to his repository ([3b1b/manim](https://github.com/3b1b/manim)).
2526
2627
## Table of Contents:
2728

@@ -35,7 +36,8 @@ Manim is an animation engine for explanatory math videos. It's used to create pr
3536

3637
## Installation
3738

38-
> **WARNING:** These instructions are for the community version _only_. Trying to use these instructions to install [3b1b/manim](https://github.com/3b1b/manim) or instructions there to install this version will cause problems. Read [this](https://docs.manim.community/en/stable/faq/installation.html#why-are-there-different-versions-of-manim) and decide which version you wish to install, then only follow the instructions for your desired version.
39+
> [!CAUTION]
40+
> These instructions are for the community version _only_. Trying to use these instructions to install [3b1b/manim](https://github.com/3b1b/manim) or instructions there to install this version will cause problems. Read [this](https://docs.manim.community/en/stable/faq/installation.html#why-are-there-different-versions-of-manim) and decide which version you wish to install, then only follow the instructions for your desired version.
3941
4042
Manim requires a few dependencies that must be installed prior to using it. If you
4143
want to try it out first before installing it locally, you can do so

conftest.py

Lines changed: 0 additions & 43 deletions
This file was deleted.

docker/Dockerfile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ RUN apt-get update -qq \
1212
pkg-config \
1313
make \
1414
wget \
15-
ghostscript
15+
ghostscript \
16+
fonts-noto
17+
18+
RUN fc-cache -fv
1619

1720
# setup a minimal texlive installation
1821
COPY docker/texlive-profile.txt /tmp/

docs/requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ myst-parser
33
sphinx>=7.3
44
sphinx-copybutton
55
sphinxext-opengraph
6+
sphinx-design
7+
sphinx-reredirects

docs/source/changelog.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ releases since v0.18.0) are documented on our
99

1010
.. toctree::
1111

12+
changelog/0.19.0-changelog
1213
changelog/0.18.0-changelog
1314
changelog/0.17.3-changelog
1415
changelog/0.17.2-changelog

0 commit comments

Comments
 (0)