* 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
* 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(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(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(cli): add render command as alias to `manim render`
* feat(cli): add render command as alias to `manim render`
* chore(test): add test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(lib): simplify how ManimGL rendering is called
* chore(lib): test
* chore(ci): try identify error
* wip
* chore(test): add result output
* try: checkout
* Revert "try: checkout"
This reverts commit 60985f0b612ca0c6bff9726ebcccf07b1b1c4832.
* fix(deps): don't update lock
* chore(lib): simplify code and improve usage
* chore(cli): better cli
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: does this fix?
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(tests): adding tests for Qt widgets
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: reset WINDOW name
* chore(tests): addign tests
* chore: adding more tests
* fix how bin existence is checked
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix: which takes str
* more tests!
* todo: fix
* change verbosity in tests
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* refactor(lib): change how manim API is imported
* chore(lib): delete old files
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: moving all commands
* adding animations
* fix tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix mypy
* fixes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* trying to fix docs
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip: docs
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* make it work
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* wip test
* tests are working
* improving docs
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix index
* docs: nicer shift
* docs: nicer quickstart example
* fix tests
* change tests
* move coverage to test workflow
* fix(tests): remove resolve
* strict resolve
* change local path test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* documented changes
* cleanup docs
* cleanup files
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(ci): set type
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(convert): use Jinja2 for templating
Use Jinja2 templating for more customizable rendering
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(deps): jinja2 is no more optional
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* chore(deps): remove notebook dependencies
Unused optional dependency.
* [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 Jupyter magic
And also use the same logger level as manim (by default)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lib): remove deleted module
* chore(lib): fix typing issues
* chore(docs): document magic
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(ci): install kernel
* fix(ci): spawning is not necessary (and fails)
* chore(ci): add ipykernel
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(convert): support base64 encoded videos
Thanks to @t-fritsch, Manim Slides can now convert to a fully self-contained HTML presentation using base64 encoded videos!
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(lib): explicit decode type
* feat(lib): auto detect mime type
* [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>
This PR introduces a **BREAKING CHANGE**: the general config file is now written in the TOML format. Keys are also placed under a shared subsection. Previous config files will be ignore.
Migration from the previous format can be easily performed with `manim-slides init` and copy/pasting the key codes if necessary.
* chore(deps): bumping pydantic to V2
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lib): validators
* fix(ci): add tests and fixes
* fix(lib): add missing mode arg
* fix(lib): change function name
* chore(tests): add more tests and use pytest
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(deps): change test deps
* chore(ci): install manim deps
* fix(ci): move to right place
* fix(lib): add custom schema
* fix(lib): validators
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(convert): add to PDF conversion
Basic PDF conversion. It takes the last frame (by default) for each animation, and prints out a PDF page.
Closes#196
* chore(ci): remove experimental installer
* feat(convert): add to PDF conversion
Basic PDF conversion. It takes the last frame (by default) for each animation, and prints out a PDF page.
Closes#196
* feat(convert): add to PDF conversion
Basic PDF conversion. It takes the last frame (by default) for each animation, and prints out a PDF page.
Closes#196
* chore(deps): update lockfile
* chore(deps): upgrading to qt6.5
This PR proposes to update to PySide6.5.
On Ubuntu, you may face this problem (solution included): https://bugreports.qt.io/browse/PYSIDE-2306
* chore(ci): remove experimental installer
* chore(deps): add manim and manimgl as extras
* chore(ci): publish wheels too
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): run tests on dep. changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(ci): only use extras to build pages
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* feat(cli): auto detect resolution
The `present` command will now read by default the resolution of each presentation, and only change it if specified by the user.
This PR also fixes bugs introduced by #156 and previous PRs, where the transition between two presentation was not correct...
* fix(lib): better to test if not None
* feat(convert): PowerPoint conversion
You can now convert your presentations to PowerPoint
* fix(deps): push poetry lock
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lint): ignore attr-defined because Windows-only
* chore(convert): autoplay media
* fix(convert): autoplay and autoloop
* chore(deps): update lock file
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat(convert): use first frame as default poster frame
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* chore(docs): document new feature
* [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(lib): reduce import overhead
This PR should reduce the import time overhead caused by manim imports. To solve this, manim is only imported when Slide or ThreeDSlide is needed. A custom logger is now defined, which copies the one from Manim Community. FFMPEG_BIN is now hardcoded, but should be configurable in the future via the CLI or some config file.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(lib): remove last .manim import
* fix(lib): remove print
* chore(lib): fix typo
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>