manim-dsa
A Manim plugin to animate common data structures and algorithms.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Repository
A Manim plugin to animate common data structures and algorithms.
Basic Info
- Host: GitHub
- Owner: F4bbi
- Language: Python
- Default Branch: main
- Homepage: https://manim-dsa.readthedocs.io/
- Size: 522 KB
Statistics
- Stars: 30
- Watchers: 1
- Forks: 5
- Open Issues: 8
- Releases: 2
Metadata Files
README.md
A Manim plugin designed to animate common data structures and algorithms
Manim DSA, short for Manim Data Structures & Algorithms, is a Manim plugin designed to animate common data structures and algorithms. Whether you are an educator looking to enhance your lectures, a student seeking to better understand these concepts, or a content creator making educational videos, Manim DSA provides a robust toolkit to bring abstract concepts to life.
Table of Contents:
Installation
To install Manim DSA, you can use pip:
bash
pip install manim-dsa
If you don't have Manim installed, please refer to the official Manim documentation for installation instructions.
Importing
Simply use the following line of code to import the package:
py
from manim_dsa import *
Usage
The following is an example Scene where an array, a stack and a graph are created.
```python from manim import * from manim_dsa import *
class Example(Scene): def construct(self): graph = { 'A': [('C', 11), ('D', 7)], 'B': [('A', 5), ('C', 3)], 'C': [('A', 11), ('B', 3)], 'D': [('A', 7), ('C', 4)], } nodesandpositions = { 'A': LEFT * 1.5, 'B': UP * 2, 'C': RIGHT * 1.5, 'D': DOWN * 2, }
mArray = (
MArray([1, 2, 3], style=MArrayStyle.BLUE)
.add_indexes()
.scale(0.9)
.add_label(Text("Array", font="Cascadia Code"))
.to_edge(LEFT, 1)
)
mStack = (
MStack([3, 7, 98, 1], style=MStackStyle.GREEN)
.scale(0.8)
.add_label(Text("Stack", font="Cascadia Code"))
.move_to(ORIGIN)
)
mGraph = (
MGraph(graph, nodes_and_positions, MGraphStyle.PURPLE)
.add_label(Text("Graph", font="Cascadia Code"))
.to_edge(RIGHT, 1)
)
self.play(Create(mArray))
self.play(Create(mStack))
self.play(Create(mGraph))
self.wait()
```
The result is as follows:
https://github.com/user-attachments/assets/05307dc9-65d9-4262-ae32-3fb53068c8e4
Documentation
Documentation is in progress at ReadtheDocs.
Help with Manim DSA
If you need help installing or using Manim DSA, or you need to submit a bug report or feature request, please open an issue.
Contributing
Contributions are welcome! Whether it’s reporting a bug, suggesting new features, or submitting pull requests, any help is greatly appreciated.
How to Cite Manim DSA
To demonstrate the value of Manim DSA, we ask that you cite Manim DSA in your work. Currently, the best way to cite Manim DSA is to go to the repository page (if you aren't already) and click the "cite this repository" button on the right sidebar. This will generate a citation in your preferred format, and will also integrate well with citation managers. For guidance on how to properly cite Manim, please refer to the Manim GitHub page.
License
Manim DSA is licensed under the MIT License. You are free to use, modify, and distribute this software as long as you include the original license.
Acknowledgements
- Manim Community: For creating and maintaining the amazing Manim library.
- drageelr: For the inspiration behind the array implementation.
- Verdiana Pasqualini: For the inspiration behind the graph implementation.
Owner
- Login: F4bbi
- Kind: user
- Repositories: 1
- Profile: https://github.com/F4bbi
Citation (CITATION.cff)
cff-version: 1.2.0
title: Manim DSA
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Fabio
email: fabio.missagia@gmail.com
family-names: Missagia
repository-code: 'https://github.com/F4bbi/manim-dsa'
abstract: >-
Manim DSA, short for Manim Data Structures & Algorithms,
is a Manim plugin designed to animate common data
structures and algorithms.
license: MIT
GitHub Events
Total
- Create event: 5
- Issues event: 12
- Release event: 3
- Watch event: 25
- Delete event: 2
- Push event: 20
- Pull request event: 2
- Fork event: 4
Last Year
- Create event: 5
- Issues event: 12
- Release event: 3
- Watch event: 25
- Delete event: 2
- Push event: 20
- Pull request event: 2
- Fork event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 2
- Total pull requests: 1
- Average time to close issues: 3 months
- Average time to close pull requests: 4 days
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 1
- Average time to close issues: 3 months
- Average time to close pull requests: 4 days
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- F4bbi (10)
Pull Request Authors
- Slug-Boi (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 485 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 4
- Total maintainers: 1
pypi.org: manim-dsa
A Manim plugin to animate common data structures.
- Documentation: https://manim-dsa.readthedocs.io/
-
Latest release: 0.4.0
published 7 months ago