Python tutorial code and Manim animations for graph theory and network science teaching.
The Chapter 5 animation workflow is built and tested in the manim conda
environment.
Core libraries and tools:
- Python 3
- Manim Community
- NumPy
- NetworkX
- pandas, used by the real-network data loaders and clustering comparison scripts
- openpyxl, used by pandas to read the C. elegans
.xlsxdata file - FFmpeg and FFprobe
- LaTeX tools used by Manim for
MathTex - A Chinese font for bilingual captions, currently
Noto Sans SC - Pillow, used for generated video cover images
Audio and review helpers:
- gTTS, used by
NetworkScience/Chapter5/video5_1/scripts/generate_chinese_audio.py - openai-whisper, used for recorded Chinese narration transcription
- faster-whisper, used for recorded Chinese narration transcription when available
- Optional
manim-voiceover[gtts]for future in-scene voiceover timing - Optional ImageMagick for contact-sheet visual checks
Typical setup:
source /home/haotian/miniconda3/etc/profile.d/conda.sh
conda activate manim
pip install gTTS
pip install pandas openpyxl
pip install faster-whisper Pillow
pip install "manim-voiceover[gtts]" # optionalFor the recorded-audio transcription pass, openai-whisper was installed in
the system Python with existing Torch dependencies:
python -m pip install --user --no-deps openai-whisperChapter 5 videos should render Manim scenes sequentially, because parallel
renders can race while writing shared media/Tex files.
Every finished movie should end with:
- Network Science book: https://www.networksciencebook.com/
- Course repository: https://github.com/haotianh9/graph_teaching
- Network Science Book by Albert-Laszlo Barabasi
- Dynamics and Bifurcation in Networks: Theory and Applications of Coupled Differential Equations by Martin Golubitsky and Ian Stewart