Follow-up to #3501
This commit combines all the installation documentation onto one page, and switches to recommending the usage
of `uv` for installing Manim.
* Update macos.rst
As of July/2024, brew installs Manim and its dependencies.
Guideline for installing dependencies with brew, and attempt to install using pip3 will no longer work either venv or not.
Now homebrew team manages python resources as "System-wide" only with Brew installed resources.
Hence, to give first time installer just leave a single line install command would be the simplest option we have.
* Update docs/source/installation/macos.rst
---------
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* added av as a dependency
* make partial movie files use av instead of piping to external ffmpeg
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* opengl rendering: use av for movie files
* no need to check for ffmpeg executable
* refactor: *_movie_pipe -> *_partial_movie_stream
* improve (oneline) documentation
* pass more options to partial movie file rendering
* move ffmpeg verbosity settings to config; renamed option dict
* replaced call to ffmpeg in combine_files by using av
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* there was one examples saved as a gif?
* chore(deps): re-order av
* chore(lib): simplify `write_frame` method
Reduces the overall code complexity
* chore(lib): add audio
* fix(lib): same issue for conversion
* fix(lib): webm export
* fix(lib): transparent export
Though the output video is weird
* try(lib): fix gif + TODOs
* chore(deps): lower dep crit
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat(lib): add support for GIF
* fix(ci): rewrite tests
* fix
* chore(ci): prevent calling concat on empty list
* add missing dot
* fix(ci): update frame comparison ?
* fix(log): add handler to libav logger
* chore: add TODO
* fix(lib): concat issue
* Revert "fix(ci): update frame comparison ?"
This reverts commit 904cfb46ae.
* fix(ci): make it pass tests
* chore(lib/docs/ci): remove FFMPEG entirely
This removes any reference to FFMPEG, except in translation files
* added av as a dependency
* make partial movie files use av instead of piping to external ffmpeg
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* opengl rendering: use av for movie files
* no need to check for ffmpeg executable
* refactor: *_movie_pipe -> *_partial_movie_stream
* improve (oneline) documentation
* pass more options to partial movie file rendering
* move ffmpeg verbosity settings to config; renamed option dict
* replaced call to ffmpeg in combine_files by using av
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* there was one examples saved as a gif?
* chore(deps): re-order av
* chore(lib): simplify `write_frame` method
Reduces the overall code complexity
* chore(lib): add audio
* fix(lib): same issue for conversion
* fix(lib): webm export
* fix(lib): transparent export
Though the output video is weird
* try(lib): fix gif + TODOs
* chore(deps): lower dep crit
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* feat(lib): add support for GIF
* fix(ci): rewrite tests
* fix
* chore(ci): prevent calling concat on empty list
* add missing dot
* fix(ci): update frame comparison ?
* fix(log): add handler to libav logger
* chore: add TODO
* fix(lib): concat issue
* Revert "fix(ci): update frame comparison ?"
This reverts commit 904cfb46ae.
* fix(ci): make it pass tests
* chore(lib/docs/ci): remove FFMPEG entirely
This removes any reference to FFMPEG, except in translation files
* chore(deps): update lockfile
* chore(lib): rewrite ffprobe
* fix typo
* slightly more aggressive removal of ffmpeg in docs; minor language changes
* fix gif output stream dimensions
* minor style change
* fix encoding of (transparent) mov files
* fixed metadata / comment
* set frame rate for --format=gif in output_stream
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* more video tests for different render settings, also test pix_fmt
* improve default bitrate setting via crf
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* parametrized format/transparency rendering test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* context managers for (some) av.open
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update manim/utils/commands.py
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
* fixed segfault
* update test data involving implicit functions (output improved!)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* explicity set pix_fmt for transparent webms
* special-special case extracting frame from vp9-encoded file with transparency
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix transparent gifs, more special casing in parametrized video format test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* run tests on macos-latest again
* removed old control data
* Revert "run tests on macos-latest again"
This reverts commit f50efa4b88.
* added sound to codec test; fixed issue with sound track in gif (disabled) and webm (now via opus)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* manual wav -> ogg transcoding
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixed f-string
* refactored codec test, split out gif
* check for non-zero audio samples
* more cleanup
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove ffmpeg from readthedocs apt_packages
* round up run_time if positive and shorter than current frame rate
* added more run_time tests
* black
* improve implementation of test
* removed some unused imports
* improve wording of logged warning
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
* move run_time checks from Animation.begin to Scene.get_run_time
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove unused import
* flake: PT012
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jérome Eertmans <jeertmans@icloud.com>
In the docs the winget command to install MiKTeX was changed from `winget install ChristianSchenk.MiKTeX` to `winget install MiKTeX.MiKTeX`. I have changed the docs to reflect this change. Here is the link to the manifest on the winget repo. I have also attached an image that shows the original command not working and an image of the new command working.
Winget Repo Link: https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/MiKTeX/MiKTeX
New command working: https://imgur.com/D7qp6kU
Image of old command not working: https://imgur.com/k7Pvpp0
Without these packages, using `poetry install` fails on pycairo and manimpango because there is no C++ compiler nor headers to compile parts of those packages.
* Add conda installation docs
* MacOS -> macOS
* Add Working with Manim section
* Small fixes
* maybe the refs work now?
* why is ci stuck?
* Lets see if this works...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
* move tutorials -> tutorials_guide
* change title in tutorials_guides
* rename: a_deeper_look -> output_and_config
* splitting Tutorials
* reorder index (sidebar), move some top level sections elsewhere
* rename some tutorials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* replace recommonmark with rest for rendering md files
* fixed broken references
* fixed **all** warnings and errors during docbuild
* faq: help, more structure for landing page
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix deprecation tests
* prepare some sort of skeleton for installation faq
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* ensure that pip from poetry venv is used in pipeline
* added myst-parser as dev dependency
* remove fixed sphinx version from requirement.txt, don't re-install dependencies
* move and improve versions and troubleshooting content to FAQ
* resolve broken references
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* help blacken-docs
* new: navigating the docs
* make different versions question more prominent
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixed order of tutorials
* added explicit references to building blocks and quickstart tutorial
* docs -> doc
* change a page-reference to a paragraph-reference
* pypi manimlib, split answer regarding chocolatey failing
* added a note on #beginner-resources
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* use :pr: directive in changelog script
* change hardcoded links to PRs + issues to extlinks
* adapt extlink formatting
* fixed warning about bullet list
* improved formatting of an admonition, tried to fix section not expected (unsuccessful)
* updated minimal latex installation instructions
* [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>
* Update python dependency
* Update python version in the docs
* add python 3.10 to workflow
* use quotes for python version
* small mistake
* added cleo dependency
* added tomlkit
* using new installer for poetry
* updated path
* Update ci.yml
* changed path update
* added poetry to path, EVERYWHERE
* using pip now
* adding to path...again
* adding to path everywhere again
* fixed path, fingers crossed
* path only for macos
* bashrc?
* test path
* githbu path?
* github path, this time?
* updated grpcio; substituted * notation
* pre-commit update
* updated psutil
* importlib-metadata only for Python 3.7
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
* remove pygments doubling
* added psutil-wheels
* removed psutil
* Update pyproject.toml
Co-authored-by: Marcin Serwin <marcin.serwin0@protonmail.com>
* ran poetry update
* Update pyproject.toml
Co-authored-by: Marcin Serwin <marcin.serwin0@protonmail.com>
* poetry upadated
* updated mypy version
Co-authored-by: Christopher Besch <christopher.besch@gmx.de>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
Co-authored-by: Marcin Serwin <marcin.serwin0@protonmail.com>
This adds 'collection-basic' to the list of LaTeX packages on the Linux
installatioon documentation page:
docs/source/installation/linux.rst
Several packages provided by 'collection-basic' are required for Manim
to function, so the whole collection is specified rather than finding
the specific packages.
* Make point_color a positional argument in all growing animations
* Replace arc path in SpinInFromNothing with spiral path
* Add docstring to growing animations
* Fix errors reported by sphinx
* Update tests
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* warn that manim doesn't support python 3.10 yet added
* warning that manim does not support python 3.10 yet, was added
* changed the warning to a separate paragraph and rephrased it
* a few typo corrections, I also changed the other files that were was saying that manim supports python 3.7+, when actually is just 3.7-3.9
* Changed normal hyphens (-) to en dashes (–), and remove a space before and after a dash.
* Added troubleshooting snippets from the Discord
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fixed linting errors
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fixed formatting issues
* Update docs/source/installation/troubleshooting.rst
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* Added requested changes
* added reference to the stack exchange post
* fixed link displaying incorrectly
* Mentioned which aliases caused the issue
* Update docs/source/installation/troubleshooting.rst
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* Update docs/source/installation/troubleshooting.rst
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* Moved atributation for PATH, broke up some lines
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Removed the copied answer for PATH
* Update docs/source/installation/troubleshooting.rst
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* Update docs/source/installation/troubleshooting.rst
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* move plugins
* plugins in main sidebar
* restructure installation guide
* fix some removed references
* more sphinx fixes
* restructured developer installation, more cleanup
* rename some files
* rewrote MacOS installation instructions
* rewrote the windows installation guide
* cleaned up linux installation instructions
* added a lot of colons
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* improve first paragraph of installation.rst
* move docker and jupyter to separate files
* Copyediting
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* change wording regarding colab env
* copyediting, second pass
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* first mention recommended ffmpeg installation for windows
* move admonition above table of contents
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* bump version number to v0.9.0
* changelog for v0.9.0, first pass
* v0.9.0 changelog, second pass
* try to take care of codespell
* v0.9.0 changelog, third pass
* v0.9.0 changelog, fourth pass
* fix some docbuild warnings
* v0.9.0 changelog, final pass
* Add in missing context about repo cloning
* added a link to existing git instructions
* Apply suggestions from code review
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* Finished copyedititng
* Made some more changes
* Update plugins.rst
* Fixed scoop link
* Capped the character limit to 80
* Declare *.npz *.wav *.png as binary (#1560)
* Revert "Capped the character limit to 80"
This reverts commit c7e57faea5.
* Capped the character limit to 80 again
* Made it small r
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* fix BulletedList alignment problem
* add typing for get_module
* flippin black
* ahh black stupidly showing only one file error in the action logs.... as usual
* fix -s issue
* fix -a path issue
* Revert "fix -a path issue"
This reverts commit 44b0cc1433. Already
fixed in ManimCommunity#1134
* remove remnant of ManimCommunity/manim#1120
* Revert 675324a
* Remove extraneous whitespace
How did this slip in here again..? Anyways, done to bring local fork in line with upstream.
* Make FILE a required argument
* add scoop installation docs
* Added documentation explaining the differences between manim versions
* Attempt to fix link
* Attempt to fix link again
* Attempt to fix link yet again
* Attempt to fix more links
* more fix attempts
* Apply suggestions from code review
Co-authored-by: Oliver <44864613+PhotonSpheres@users.noreply.github.com>
* Uncapitalized Manim
* fix
* Add link to manimgl documentation
* make names of different manim versions (more) consistent
Co-authored-by: Oliver <44864613+PhotonSpheres@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* Possible fix for macOS pipeline failure
* Revert back to --cask flag
* Remove cask command
* Remove cleanup command
* Revert "Remove cleanup command"
This reverts commit 63f59be5c9.
* Combine brew install statements
* Add --reinstall flag to tlmgr install just in case
* Fix typo
* Isolate dvisvgm.x86_64-darwin installation
* Remove dvisvgm.x86_64-darwin dependency
* Remove legacy dvisvgm package from mac install
* Remove brew update cmd and tlgmr --reinstall flag
Could improve build speed
* Bring back brew update but only upgrade basictex
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>