Name | manim-slides JSON |
Version |
5.1.4
JSON |
| download |
home_page | None |
Summary | Tool for live presentations using manim |
upload_time | 2024-04-16 15:37:45 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.13,>=3.9 |
license | MIT |
keywords |
manim
slides
plugin
manimgl
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/logo_dark_transparent.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/logo_light_transparent.png">
<img alt="Manim Slides Logo" src="https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/logo.png">
</picture>
[![Latest Release][pypi-version-badge]][pypi-version-url]
[![Python version][pypi-python-version-badge]][pypi-version-url]
[![PyPI - Downloads][pypi-download-badge]][pypi-version-url]
[![Documentation][documentation-badge]][documentation-url]
[![DOI][doi-badge]][doi-url]
[![JOSE Paper][jose-badge]][jose-url]
[![codecov][codecov-badge]][codecov-url]
[![Binder][binder-badge]][binder-url]
# Manim Slides
Tool for live presentations using either
[Manim (community edition)](https://www.manim.community/)
or [ManimGL](https://3b1b.github.io/manim/).
Manim Slides will *automatically* detect the one you are using!
> [!NOTE]
> This project extends the work of
> [`manim-presentation`](https://github.com/galatolofederico/manim-presentation),
> with a lot more features!
- [Installation](#installation)
- [Usage](#usage)
- [Comparison with Similar Tools](#comparison-with-similar-tools)
- [F.A.Q](#faq)
* [How to increase quality on Windows](#how-to-increase-quality-on-windows)
- [Contributing](#contributing)
* [Reporting an Issue](#reporting-an-issue)
* [Seeking for Help](#seeking-for-help)
* [Contact](#contact)
## Installation
Manim Slides requires either Manim or ManimGL to be installed, along
with their dependencies. Please checkout the
[documentation](https://eertmans.be/manim-slides/latest/installation.html)
for detailed install instructions.
## Usage
<!-- start usage -->
Using Manim Slides is a two-step process:
1. Render animations using `Slide` (resp. `ThreeDSlide`) as a base class instead
of `Scene` (resp. `ThreeDScene`), and add calls to `self.next_slide()`
everytime you want to create a new slide.
2. Run `manim-slides` on rendered animations and display them like a
*PowerPoint* presentation.
The documentation is available [online](https://eertmans.be/manim-slides/).
### Basic Example
Call `self.next_slide()` everytime you want to create a pause between
animations, and `self.next_slide(loop=True)` if you want the next slide to loop
over animations until the user presses continue:
```python
from manim import * # or: from manimlib import *
from manim_slides import Slide
class BasicExample(Slide):
def construct(self):
circle = Circle(radius=3, color=BLUE)
dot = Dot()
self.play(GrowFromCenter(circle))
self.next_slide() # Waits user to press continue to go to the next slide
self.next_slide(loop=True) # Start loop
self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)
self.next_slide() # This will start a new non-looping slide
self.play(dot.animate.move_to(ORIGIN))
```
First, render the animation files:
```bash
manim-slides render example.py BasicExample
# or use ManimGL
manim-slides render --GL example.py BasicExample
```
<!-- end usage -->
> [!NOTE]
> Using `manim-slides render` makes sure to use the `manim`
> (or `manimlib`) library that was installed in the same Python environment.
> Put simply, this is a wrapper around
> `manim render [ARGS]...` (or `manimgl [ARGS]...`).
<!-- start more-usage -->
To start the presentation using `Scene1`, `Scene2` and so on, run:
```bash
manim-slides [OPTIONS] Scene1 Scene2...
```
In our example:
```bash
manim-slides BasicExample
```
<!-- end more-usage -->
<p align="center">
<img alt="Example GIF" src="https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/example.gif">
</p>
For detailed usage documentation, run `manim-slides --help`, or go to the
[documentation](https://eertmans.be/manim-slides/reference/cli.html).
## Interactive Tutorial
Click on the image to watch a slides presentation that explains to you how
to use Manim Slides.
[![Manim Slides Docs](https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/docs.png)](https://eertmans.be/manim-slides/)
## More Examples
More examples are available in the
[`example.py`](https://github.com/jeertmans/manim-slides/blob/main/example.py)
file, if you downloaded the git repository.
## Comparison with Similar Tools
There exists a variety of tools that allows to create slides presentations
containing Manim animations.
Below is a comparison of the most used ones with Manim Slides:
| Project name | Manim Slides | Manim Presentation | Manim Editor | Jupyter Notebooks |
|:------------:|:------------:|:------------------:|:------------:|:-----------------:|
| Link | [![GitHub Repo stars](https://img.shields.io/github/stars/jeertmans/manim-slides?style=social)](https://github.com/jeertmans/manim-slides) | [![GitHub Repo stars](https://img.shields.io/github/stars/galatolofederico/manim-presentation?style=social)](https://github.com/galatolofederico/manim-presentation) | [![GitHub Repo stars](https://img.shields.io/github/stars/ManimCommunity/manim_editor?style=social)](https://github.com/ManimCommunity/manim_editor) | [![GitHub Repo stars](https://img.shields.io/github/stars/jupyter/notebook?style=social)](https://github.com/jupyter/notebook) |
| Activity | [![GitHub Repo stars](https://img.shields.io/github/last-commit/jeertmans/manim-slides?style=social)](https://github.com/jeertmans/manim-slides) | [![GitHub Repo stars](https://img.shields.io/github/last-commit/galatolofederico/manim-presentation?style=social)](https://github.com/galatolofederico/manim-presentation) | [![GitHub Repo stars](https://img.shields.io/github/last-commit/ManimCommunity/manim_editor?style=social)](https://github.com/ManimCommunity/manim_editor) | [![GitHub Repo stars](https://img.shields.io/github/last-commit/jupyter/notebook?style=social)](https://github.com/jupyter/notebook) |
| Usage | Command-line | Command-line | Web Browser | Notebook |
| Note | Requires minimal modif. in scenes files | Requires minimal modif. in scenes files | Requires the usage of sections, and configuration through graphical interface | Relies on `nbconvert` to create slides from a Notebook |
| Support for ManimGL | Yes | No | No | No |
| Web Browser presentations | Yes | No | Yes | No |
| Offline presentations | Yes, with Qt | Yes, with OpenCV | No | No
## F.A.Q
### How to increase quality on Windows
On Windows platform, one may encounter a lower image resolution than expected.
Usually, this is observed because Windows rescales every application to
fit the screen.
As found by [@arashash](https://github.com/arashash),
in [#20](https://github.com/jeertmans/manim-slides/issues/20),
the problem can be addressed by changing the scaling factor to 100%:
<p align="center">
<img alt="Windows Fix Scaling" src="https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/windows_quality_fix.png">
</p>
in *Settings*->*Display*.
## Contributing
Contributions are more than welcome! Please read through
[our contributing section](https://eertmans.be/manim-slides/contributing/index.html).
### Reporting an Issue
<!-- start reporting-an-issue -->
If you think you found a bug,
an error in the documentation,
or wish there was some feature that is currently missing,
we would love to hear from you!
The best way to reach us is via the
[GitHub issues](https://github.com/jeertmans/manim-slides/issues).
If your problem is not covered by an already existing (closed or open) issue,
then we suggest you create a
[new issue](https://github.com/jeertmans/manim-slides/issues/new/choose).
You can choose from a list of templates, or open a
[blank issue](https://github.com/jeertmans/manim-slides/issues/new)
if your issue does not fit one of the proposed topics.
The more precise you are in the description of your problem, the faster we will
be able to help you!
<!-- end reporting-an-issue -->
### Seeking for help
<!-- start seeking-for-help -->
Sometimes, you may have a question about Manim Slides,
not necessarily an issue.
There are two ways you can reach us for questions:
- via the `Question/Help/Support` topic when
[choosing an issue template](https://github.com/jeertmans/manim-slides/issues/new/choose);
- or via
[GitHub discussions](https://github.com/jeertmans/manim-slides/discussions).
<!-- end seeking-for-help -->
### Contact
<!-- start contact -->
Finally, if you do not have any GitHub account,
or just wish to contact the author of Manim Slides,
you can do so at: [jeertmans@icloud.com](mailto:jeertmans@icloud.com).
<!-- end contact -->
[pypi-version-badge]: https://img.shields.io/pypi/v/manim-slides?label=manim-slides
[pypi-version-url]: https://pypi.org/project/manim-slides/
[pypi-python-version-badge]: https://img.shields.io/pypi/pyversions/manim-slides
[pypi-download-badge]: https://img.shields.io/pypi/dm/manim-slides
[documentation-badge]: https://readthedocs.org/projects/manim-slides/badge/?version=latest
[documentation-url]: https://manim-slides.readthedocs.io/
[doi-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.8215167.svg
[doi-url]: https://doi.org/10.5281/zenodo.8215167
[jose-badge]: https://jose.theoj.org/papers/10.21105/jose.00206/status.svg
[jose-url]: https://doi.org/10.21105/jose.00206
[codecov-badge]: https://codecov.io/gh/jeertmans/manim-slides/branch/main/graph/badge.svg?token=8P4DY9JCE4
[codecov-url]: https://codecov.io/gh/jeertmans/manim-slides
[binder-badge]: https://mybinder.org/badge_logo.svg
[binder-url]: https://mybinder.org/v2/gh/jeertmans/manim-slides-binder/HEAD?filepath=getting_started.ipynb
Raw data
{
"_id": null,
"home_page": null,
"name": "manim-slides",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.9",
"maintainer_email": null,
"keywords": "manim, slides, plugin, manimgl",
"author": null,
"author_email": "=?utf-8?q?J=C3=A9rome_Eertmans?= <jeertmans@icloud.com>",
"download_url": "https://files.pythonhosted.org/packages/f8/28/406d3534c0fff47bcee8fab4d8dcb823c78d7f9f4c643b2f2cb094300b8f/manim_slides-5.1.4.tar.gz",
"platform": null,
"description": "<picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/logo_dark_transparent.png\">\n <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/logo_light_transparent.png\">\n <img alt=\"Manim Slides Logo\" src=\"https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/logo.png\">\n</picture>\n\n[![Latest Release][pypi-version-badge]][pypi-version-url]\n[![Python version][pypi-python-version-badge]][pypi-version-url]\n[![PyPI - Downloads][pypi-download-badge]][pypi-version-url]\n[![Documentation][documentation-badge]][documentation-url]\n[![DOI][doi-badge]][doi-url]\n[![JOSE Paper][jose-badge]][jose-url]\n[![codecov][codecov-badge]][codecov-url]\n[![Binder][binder-badge]][binder-url]\n\n# Manim Slides\n\nTool for live presentations using either\n[Manim (community edition)](https://www.manim.community/)\nor [ManimGL](https://3b1b.github.io/manim/).\nManim Slides will *automatically* detect the one you are using!\n\n> [!NOTE]\n> This project extends the work of\n> [`manim-presentation`](https://github.com/galatolofederico/manim-presentation),\n> with a lot more features!\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Comparison with Similar Tools](#comparison-with-similar-tools)\n- [F.A.Q](#faq)\n * [How to increase quality on Windows](#how-to-increase-quality-on-windows)\n- [Contributing](#contributing)\n * [Reporting an Issue](#reporting-an-issue)\n * [Seeking for Help](#seeking-for-help)\n * [Contact](#contact)\n\n## Installation\n\nManim Slides requires either Manim or ManimGL to be installed, along\nwith their dependencies. Please checkout the\n[documentation](https://eertmans.be/manim-slides/latest/installation.html)\nfor detailed install instructions.\n\n## Usage\n\n<!-- start usage -->\n\nUsing Manim Slides is a two-step process:\n1. Render animations using `Slide` (resp. `ThreeDSlide`) as a base class instead\n of `Scene` (resp. `ThreeDScene`), and add calls to `self.next_slide()`\n everytime you want to create a new slide.\n2. Run `manim-slides` on rendered animations and display them like a\n *PowerPoint* presentation.\n\nThe documentation is available [online](https://eertmans.be/manim-slides/).\n\n### Basic Example\n\nCall `self.next_slide()` everytime you want to create a pause between\nanimations, and `self.next_slide(loop=True)` if you want the next slide to loop\nover animations until the user presses continue:\n\n```python\nfrom manim import * # or: from manimlib import *\n\nfrom manim_slides import Slide\n\n\nclass BasicExample(Slide):\n def construct(self):\n circle = Circle(radius=3, color=BLUE)\n dot = Dot()\n\n self.play(GrowFromCenter(circle))\n self.next_slide() # Waits user to press continue to go to the next slide\n\n self.next_slide(loop=True) # Start loop\n self.play(MoveAlongPath(dot, circle), run_time=2, rate_func=linear)\n self.next_slide() # This will start a new non-looping slide\n\n self.play(dot.animate.move_to(ORIGIN))\n```\n\nFirst, render the animation files:\n\n```bash\nmanim-slides render example.py BasicExample\n# or use ManimGL\nmanim-slides render --GL example.py BasicExample\n```\n<!-- end usage -->\n\n> [!NOTE]\n> Using `manim-slides render` makes sure to use the `manim`\n> (or `manimlib`) library that was installed in the same Python environment.\n> Put simply, this is a wrapper around\n> `manim render [ARGS]...` (or `manimgl [ARGS]...`).\n\n<!-- start more-usage -->\n\nTo start the presentation using `Scene1`, `Scene2` and so on, run:\n\n```bash\nmanim-slides [OPTIONS] Scene1 Scene2...\n```\n\nIn our example:\n\n```bash\nmanim-slides BasicExample\n```\n\n<!-- end more-usage -->\n\n<p align=\"center\">\n <img alt=\"Example GIF\" src=\"https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/example.gif\">\n</p>\n\nFor detailed usage documentation, run `manim-slides --help`, or go to the\n[documentation](https://eertmans.be/manim-slides/reference/cli.html).\n\n## Interactive Tutorial\n\nClick on the image to watch a slides presentation that explains to you how\nto use Manim Slides.\n\n[![Manim Slides Docs](https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/docs.png)](https://eertmans.be/manim-slides/)\n\n## More Examples\n\nMore examples are available in the\n[`example.py`](https://github.com/jeertmans/manim-slides/blob/main/example.py)\nfile, if you downloaded the git repository.\n\n## Comparison with Similar Tools\n\nThere exists a variety of tools that allows to create slides presentations\ncontaining Manim animations.\n\nBelow is a comparison of the most used ones with Manim Slides:\n\n| Project name | Manim Slides | Manim Presentation | Manim Editor | Jupyter Notebooks |\n|:------------:|:------------:|:------------------:|:------------:|:-----------------:|\n| Link | [![GitHub Repo stars](https://img.shields.io/github/stars/jeertmans/manim-slides?style=social)](https://github.com/jeertmans/manim-slides) | [![GitHub Repo stars](https://img.shields.io/github/stars/galatolofederico/manim-presentation?style=social)](https://github.com/galatolofederico/manim-presentation) | [![GitHub Repo stars](https://img.shields.io/github/stars/ManimCommunity/manim_editor?style=social)](https://github.com/ManimCommunity/manim_editor) | [![GitHub Repo stars](https://img.shields.io/github/stars/jupyter/notebook?style=social)](https://github.com/jupyter/notebook) |\n| Activity | [![GitHub Repo stars](https://img.shields.io/github/last-commit/jeertmans/manim-slides?style=social)](https://github.com/jeertmans/manim-slides) | [![GitHub Repo stars](https://img.shields.io/github/last-commit/galatolofederico/manim-presentation?style=social)](https://github.com/galatolofederico/manim-presentation) | [![GitHub Repo stars](https://img.shields.io/github/last-commit/ManimCommunity/manim_editor?style=social)](https://github.com/ManimCommunity/manim_editor) | [![GitHub Repo stars](https://img.shields.io/github/last-commit/jupyter/notebook?style=social)](https://github.com/jupyter/notebook) |\n| Usage | Command-line | Command-line | Web Browser | Notebook |\n| Note | Requires minimal modif. in scenes files | Requires minimal modif. in scenes files | Requires the usage of sections, and configuration through graphical interface | Relies on `nbconvert` to create slides from a Notebook |\n| Support for ManimGL | Yes | No | No | No |\n| Web Browser presentations | Yes | No | Yes | No |\n| Offline presentations | Yes, with Qt | Yes, with OpenCV | No | No\n\n## F.A.Q\n\n### How to increase quality on Windows\n\nOn Windows platform, one may encounter a lower image resolution than expected.\nUsually, this is observed because Windows rescales every application to\nfit the screen.\nAs found by [@arashash](https://github.com/arashash),\nin [#20](https://github.com/jeertmans/manim-slides/issues/20),\nthe problem can be addressed by changing the scaling factor to 100%:\n\n<p align=\"center\">\n <img alt=\"Windows Fix Scaling\" src=\"https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/windows_quality_fix.png\">\n</p>\n\nin *Settings*->*Display*.\n\n## Contributing\n\nContributions are more than welcome! Please read through\n[our contributing section](https://eertmans.be/manim-slides/contributing/index.html).\n\n### Reporting an Issue\n\n<!-- start reporting-an-issue -->\n\nIf you think you found a bug,\nan error in the documentation,\nor wish there was some feature that is currently missing,\nwe would love to hear from you!\n\nThe best way to reach us is via the\n[GitHub issues](https://github.com/jeertmans/manim-slides/issues).\nIf your problem is not covered by an already existing (closed or open) issue,\nthen we suggest you create a\n[new issue](https://github.com/jeertmans/manim-slides/issues/new/choose).\nYou can choose from a list of templates, or open a\n[blank issue](https://github.com/jeertmans/manim-slides/issues/new)\nif your issue does not fit one of the proposed topics.\n\nThe more precise you are in the description of your problem, the faster we will\nbe able to help you!\n\n<!-- end reporting-an-issue -->\n\n### Seeking for help\n\n<!-- start seeking-for-help -->\n\nSometimes, you may have a question about Manim Slides,\nnot necessarily an issue.\n\nThere are two ways you can reach us for questions:\n\n- via the `Question/Help/Support` topic when\n[choosing an issue template](https://github.com/jeertmans/manim-slides/issues/new/choose);\n- or via\n[GitHub discussions](https://github.com/jeertmans/manim-slides/discussions).\n\n<!-- end seeking-for-help -->\n\n### Contact\n\n<!-- start contact -->\n\nFinally, if you do not have any GitHub account,\nor just wish to contact the author of Manim Slides,\nyou can do so at: [jeertmans@icloud.com](mailto:jeertmans@icloud.com).\n\n<!-- end contact -->\n\n[pypi-version-badge]: https://img.shields.io/pypi/v/manim-slides?label=manim-slides\n[pypi-version-url]: https://pypi.org/project/manim-slides/\n[pypi-python-version-badge]: https://img.shields.io/pypi/pyversions/manim-slides\n[pypi-download-badge]: https://img.shields.io/pypi/dm/manim-slides\n[documentation-badge]: https://readthedocs.org/projects/manim-slides/badge/?version=latest\n[documentation-url]: https://manim-slides.readthedocs.io/\n[doi-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.8215167.svg\n[doi-url]: https://doi.org/10.5281/zenodo.8215167\n[jose-badge]: https://jose.theoj.org/papers/10.21105/jose.00206/status.svg\n[jose-url]: https://doi.org/10.21105/jose.00206\n[codecov-badge]: https://codecov.io/gh/jeertmans/manim-slides/branch/main/graph/badge.svg?token=8P4DY9JCE4\n[codecov-url]: https://codecov.io/gh/jeertmans/manim-slides\n[binder-badge]: https://mybinder.org/badge_logo.svg\n[binder-url]: https://mybinder.org/v2/gh/jeertmans/manim-slides-binder/HEAD?filepath=getting_started.ipynb\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tool for live presentations using manim",
"version": "5.1.4",
"project_urls": {
"Changelog": "https://github.com/jeertmans/manim-slides/releases",
"Documentation": "https://eertmans.be/manim-slides",
"Founding": "https://github.com/sponsors/jeertmans",
"Homepage": "https://github.com/jeertmans/manim-slides",
"Repository": "https://github.com/jeertmans/manim-slides"
},
"split_keywords": [
"manim",
" slides",
" plugin",
" manimgl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "612ed973e8009572be225de499ec279c8e5f828b5f9b3798f7a5d6f1d1bc9334",
"md5": "2869aee72ef34750d51ac880ad2238e4",
"sha256": "04a8ae62e459f249128c245678d987ad9bc564b9b08d69ee310ae839ec2a9c0f"
},
"downloads": -1,
"filename": "manim_slides-5.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2869aee72ef34750d51ac880ad2238e4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.9",
"size": 59681,
"upload_time": "2024-04-16T15:37:43",
"upload_time_iso_8601": "2024-04-16T15:37:43.590126Z",
"url": "https://files.pythonhosted.org/packages/61/2e/d973e8009572be225de499ec279c8e5f828b5f9b3798f7a5d6f1d1bc9334/manim_slides-5.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f828406d3534c0fff47bcee8fab4d8dcb823c78d7f9f4c643b2f2cb094300b8f",
"md5": "2a329349dc3b4914f4f4dae94bbcf016",
"sha256": "4ba8aa48bf046b249b8f2148b2e98376ed32461fc939d96c94c9977af40530fa"
},
"downloads": -1,
"filename": "manim_slides-5.1.4.tar.gz",
"has_sig": false,
"md5_digest": "2a329349dc3b4914f4f4dae94bbcf016",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.9",
"size": 326358,
"upload_time": "2024-04-16T15:37:45",
"upload_time_iso_8601": "2024-04-16T15:37:45.438277Z",
"url": "https://files.pythonhosted.org/packages/f8/28/406d3534c0fff47bcee8fab4d8dcb823c78d7f9f4c643b2f2cb094300b8f/manim_slides-5.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-16 15:37:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jeertmans",
"github_project": "manim-slides",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "manim-slides"
}