This PR refactors a lot of the code in order to have a better organized codebase. If will that I needed to create a second level of submodules, to better distinguish the different parts of this project.
* fix(lib): Manim fixes, bump to >= 0.18, and tests
* chore(ci): tests and happy mypy
* chore(deps): fix override
* fix(tests): correct skipping
* fix(ci): coverage
* fix(docs): dead links
* fix(tests): deps fixes
* fix(deps): add missing override
* fix(tests): correctly ignore
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(tests): no filterwarning
* chore(tests): add a check to see if we can install package
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): typo
* fix(ci): typo
* oops
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(ci): double quote instead of single
* chore(ci): add OSes requirements
* chore(tests): removed `full-gl` extra
* chore(ci): automatically cancel jobs
* fix(docs): typo
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* remove old validation check
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update CHANGELOG.md
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(lib): prevent filename collision
Apparently, ManimCE can produce two different animations with the same name (i.e., the same hash). As documented, ManimGL would any produce files with the same name so this fix was needed.
Closes#428
* chore(lib): update comment
chore(lib): update comment
* chore(tests): add test
* chore(tests): remove redundant underscore
* chore(docs): add changelog entry
* test: re-add opencv-python
* chore(dev): move to Rye instead of PDM
* try fix
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: build backend
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: string quotes?
* small fixes
* upgrade typing
* fix(ci): rye install on Windows
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(ci): typos
* fix
* fix(ci): actually use right python version
* fix(deps): manimgl
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix docs
* another fix
* cleanup
* make sure to use trusted publisher
* chore(docs): remove PDM
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(ci): checking links and spell checking
* chore(ci): move markdown-link-check to GitHub ci
Because pre-commit.ci does not have access to the internet...
* fix(lib): revert `reverse-...` utils because of warnings
* chore(ci): checking links and spell checking
* chore(ci): move markdown-link-check to GitHub ci
Because pre-commit.ci does not have access to the internet...
* fix(docs): myst-parser xref cannot end with .html
* fix(docs): oops
* feat(present): add audio output
This PR adds the necessary audio output to the presenter mode, so it can play audio contained in video files, see #375.
However, this does not fix the issue that slides do not contain audio by default, but should be solved by Manim, see #375 for updates on that topic.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: PR number
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix(rtd): remove flyout in iframes
* fix(rtd): remove dirhtml and default to html
Because dirhtml seems to have issues with iframes
* fix(html): correct css style
* chore(deps): make Qt backend optional
TODO:
- [ ] Add relevant entry in CHANGELOG
- [ ] Update install documentation
- [ ] Make sure `manim-slides convert` can run without any Qt backend
- [ ] Make sure test suite works (partially) without any Qt backend
- [ ] Make sure we can import `manim_slides` without any Qt backend
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(deps): some fixes but wip
* chore(docs): update
* chore(deps): support PyQt6
* chore(deps): make Qt backend optional
TODO:
- [ ] Add relevant entry in CHANGELOG
- [ ] Update install documentation
- [ ] Make sure `manim-slides convert` can run without any Qt backend
- [ ] Make sure test suite works (partially) without any Qt backend
- [ ] Make sure we can import `manim_slides` without any Qt backend
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(deps): some fixes but wip
* chore(docs): update
* chore(deps): support PyQt6
* fix(deps): ci and docs
* fix(lib): missing package
* chore(ci): does it work?
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(test): skip failing
* chore(docs): update
* chore(docs): update
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(docs): typo
* fix(test): quit instead of shutdown
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(docs): document HTML custom templates
Shows an example of custom template.
TODO:
- [ ] finish documentating;
- [ ] add possibility to pass `-cargs` to Manim Slides' `convert` method when calling the Sphinx extension.
Closes#356
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(docs): document changes and fix
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(deps): use PDM instead of Poetry
* chore(git): move to top
* chore(lint): fixes
* fix(pdm): dynamic version did not work
* chore(ci): fix syntax for Windows
* fix(ci): typo
* wip(docs): updates
* chore(docs): add changelog entry
* chore(docs): admonitions
* chore(docs): update to use manim-slides render
* chore(docs): make it better
* chore(lib): do not include reversed files in HTML assets
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(deps): remove subprocess calls to FFMPEG with `av`
Linked to the progess made in https://github.com/ManimCommunity/manim/pull/3501.
The following PR aims at reducing subprocess calls for security and speed reasons. Also, with https://github.com/ManimCommunity/manim/pull/3501 is merged, FFMPEG should not be needed anymore as it is part of `PyAv`.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lib): oops forgot to commit those changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(lib): clear assets and clean code
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(doc): document changes
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(lib): enhance notes support
TODO: fix keyboard inputs and window order with `present`.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(lint): allow too complex
* wip: presenter mode
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat(cli): add presenter view
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(cli): automatically detect conversion format from DEST
As titled
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(cli): fix and add tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(ci): ?
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(lib): add support for presenter notes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(test): typo
* Update test_slide.py
* Update convert.py
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(lib): simplify how to add config options
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(lint): some fixes
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>