Saravanan666/pypi-org huggingface dataset:
Package: manimce
Deprecated: Please usemanimPyPi project as this will not have any updates in Future.An animation engine for explanatory math videosmanimis an animation engine for explanatory math videos. It's used to create precise animations programmatically, as demonstrated in the videos of3Blue1Brown.NOTE: This repository is maintained by the Manim Community, and is not associated with Grant Sanderson or 3Blue1Brown in any way (although we are definitely indebted to him for providing his work to the world). If you would like to study how Grant makes his videos, head over to his repository (3b1b/manim). This fork is updated more frequently than his, and it's recommended to use this fork if you'd like to use Manim for your own projects.Table of Contents:InstallationUsageDocumentationHelp with ManimContributingLicenseInstallationManim requires a few dependencies that must be installed prior to using it. Please visit thedocumentationand follow the appropriate instructions for your operating system.Once the dependencies have been installed, run the following in a terminal window:pipinstallmanimceUsageManim is an extremely versatile package. The following is an exampleSceneyou can construct:frommanimimport*classSquareToCircle(Scene):defconstruct(self):circle=Circle()square=Square()square.flip(RIGHT)square.rotate(-3*TAU/8)circle.set_fill(PINK,opacity=0.5)self.play(ShowCreation(square))self.play(Transform(square,circle))self.play(FadeOut(square))In order to view the output of this scene, save the code in a file calledexample.py. Then, run the following in a terminal window:manimexample.pySquareToCircle-p-qlYou should see your native video player program pop up and play a simple scene in which a square is transformed into a circle. You may find some more simple examples within thisGitHub repository. You can also visit theofficial galleryfor more advanced examples.Command line argumentsThe general usage of manim is as follows:The-pflag in the command above is for previewing, meaning the video file will automatically open when it is done rendering. The-qlflag is for a faster rendering at a lower quality.Some other useful flags include:-sto skip to the end and just show the final frame.-n <number>to skip ahead to then'th animation of a scene.-fshow the file in the file browser.For a thorough list of command line arguments, visit thedocumentation.DocumentationDocumentation is in progress atReadTheDocs.Help with ManimIf you need help installing or using Manim, feel free to reach out to ourDiscord
ServerorReddit Community. If you would like to submit bug report or feature request, please open an issue.ContributingContributions tomanimare always welcome. In particular, there is a dire need for tests and documentation. For contribution guidelines, please see thedocumentation.This project usesPoetryfor management. You must have poetry installed and available in your environment. You can learn morepoetryand how to use it at itsDocumentation.LicenseThe software is double-licensed under the MIT license, with copyright by 3blue1brown LLC (see LICENSE), and copyright by Manim Community Developers (see LICENSE.community).
Package: manim-code-blocks
Manim-Code-BlocksManim-Code-Blocksis a library forManimthat allows animating blocks of code in Manim videos and scenes.Example Usagefrommanimimport*frommanim_code_blocksimport*classMain(Scene):defconstruct(self):java=CodeBlock("""public class Main {public static void main(String[] args) {System.out.println("Hello world");}}""",language=Java)self.play(*java.create(run_time=3))Outputs:Problems & LimitationsLimited Language SupportCurrently only the following languages are supported for syntax highlighting:CC#C++JavaJavaScriptLuaGoPythonRustTypeScriptTo add language support, submit a pull request to to theTokenize-Allmodule.Unintelligent HighlightingManim-Code-Blockusessyntaxhighlighting, notsemantichighlighting. The source code is only tokenized, not parsed, and as such accurate highlighting can be impossible for certain circumstances. Syntax highlighting is provided by theTokenize-Allmodule, which lacks thorough language support. Additionally many languages have not been thoroughly tested enough for accurate highlighting. If you find an issue in your syntax highlighting, please report it tothe issues thread.Lack of ThemesCurrently the only theme supported out of the box is theOne Dark Protheme from Atom and used in Visual Studio Code. Adding a custom theme is possible (and simple), however currently this is the only theme supported out of the box.
Package: manim-code-blocks-redux
Manim Code Blocks Reduxmanim-code-blocks-reduxis a library forManimthat allows animating blocks of code in Manim videos and scenes.Example Usagefrommanimimport*frommanim_code_blocksimport*classMain(Scene):defconstruct(self):java=CodeBlock("""public class Main {public static void main(String[] args) {System.out.println("Hello world");}}""",language=Java)self.play(*java.create(run_time=3))Outputs:Problems & LimitationsLimited Language SupportCurrently only the following languages are supported for syntax highlighting:CC#C++JavaJavaScriptLuaGoPythonRustTypeScriptTo add language support, submit a pull request to to thetokenize_all_codemodule.Unintelligent HighlightingManim-Code-Blockusessyntaxhighlighting, notsemantichighlighting. The source code is only tokenized, not parsed, and as such accurate highlighting can be impossible for certain circumstances. Syntax highlighting is provided by thetokenize_all_codemodule, which lacks thorough language support. Additionally many languages have not been thoroughly tested enough for accurate highlighting. If you find an issue in your syntax highlighting, please report it tothe issues thread.Lack of ThemesCurrently the only theme supported out of the box is theOne Dark Protheme from Atom and used in Visual Studio Code. Adding a custom theme is possible (and simple), however currently this is the only theme supported out of the box.
Package: manimcs
Manim-CSAn animation library for explanatory Computer Science videosThis is an extension of the 3B1B library for animating with python. Manim CS provides additional MObjects, and Animation sequinces to provide support for rendering sorting algorithms, tree structure, and memory simulations.Table of Contents:InstallationPrerequisitesPrerequisites:Manim CommunityFollow theOfficial Documentationto install the Manim Animation Library for PythonLaTeXFollow theOfficial Documentationto install LaTeX on your system.InstallationOption 1: Package Installer for PythonInstall the officialPyPy Releaseby running:$pipinstallmanimcs
Package: manim-data-structures
A plugin that contains common data structures to create Manimations.InstallationTo install, simply run the following command:pip install manim-data-structuresImportingSimply use the following line of code to import the package:frommanim_data_structuresimport*UsageCodeclassMainScene(Scene):defconstruct(self):# Create an arrayarr=MArray([8,7,6,5,4])self.play(Create(arr))# Animate arrayself.play(arr.animate.shift(UP*2.5+LEFT*5))# Animate array elementself.play(arr.animate_elem(3).shift(DOWN*0.5))# Animate array element mobjectsself.play(arr.animate_elem_square(0).set_fill(BLACK),arr.animate_elem_value(0).rotate(PI/2).set_fill(RED),arr.animate_elem_index(0).rotate(PI/2))# Display array with hex valuesarr2=MArray([0,2,4,6,8],index_hex_display=True,index_offset=4)self.play(Create(arr2))self.play(arr2.animate.shift(DOWN*2.5+LEFT*5))# Create customized arrayarr3=MArray([1,1,2],mob_square_args={'color':GRAY_A,'fill_color':RED_E,'side_length':0.5},mob_value_args={'color':GOLD_A,'font_size':28},mob_index_args={'color':RED_E,'font_size':22})self.play(Create(arr3))# Append elementself.play(Write(arr2.append_elem(10)))# Append customized elementself.play(Write(arr2.append_elem(12,mob_square_args={'fill_color':BLACK})))# Update value of elementself.play(Write(arr2.update_elem_value(3,0,mob_value_args={'color':RED})),arr2.animate_elem_square(3).set_fill(WHITE))self.wait()Outputhttps://user-images.githubusercontent.com/56049229/203757924-6f3aed6d-e870-468f-a269-a572350355b1.mp4Other LinksOfficial DocumentationChangelog
Package: manim-express
manim_expressEnglish|中文说明Installpipinstallmanim_expressRun in pycharmhttps://stackoverflow.com/questions/44851652/how-to-allocate-a-pseudo-tty-in-which-to-run-scripts-from-ide(Find action 'Registry' in PyCharm) named 'run.processes.with.pty' that allows to run Python processes with ttyQuick startRender an animation:3b1b:SquareToCirclefrommanimlibimport*frommanim_expressimportGlEagerScenescene=GlEagerScene()circle=Circle()circle.set_fill(BLUE,opacity=0.5)circle.set_stroke(BLUE_E,width=4)square=Square()scene.show_creation(square)scene.play(ReplacementTransform(square,circle))scene.hold_on()Operating graphics:hold down thedkey ormouse lefton the keyboard and move the mouse to change the three-dimensional perspective.hold down theskey ormouse righton the keyboard and move the mouse to pan the screenhold down thezorctrlon the keyboard while scrolling the middle mouse button to zoom the screenscroll the middle mouse button to move the screen up and downreset camera view by pressingrclose the window and exit the program by pressingqortabpause the animation by pressingspaceorctrloraltpreviews animation clip by pressingLEFTnext animation clip:RIGHTreplay current animation clip:DOWNmanim_expressvsMatplotlib:Eager mode usage:frommanimlibimport*frommanim_expressimportGlEagerSceneCONFIG.use_online_tex=True# If you don't have installed latex locally.theta=np.linspace(0,2*np.pi,200)x=np.cos(theta)y=np.sin(theta)scene=GlEagerScene()scene.plot(x,y,color=GREEN,width=2,scale_ratio=1)scene.show_plot()scene.hold_on()Object oriented usage:frommanimlibimport*frommanim_expressimportGlEagerScenefromsklearn.datasetsimportmake_multilabel_classificationclassScatterExample(GlEagerScene):defclip_1(self):X1,y1=make_multilabel_classification(n_samples=200,n_classes=4,n_features=2)X2,y2=make_multilabel_classification(n_samples=200,n_classes=4,n_features=2)self.scatter2d(X1[:,0],X1[:,1],size=.05,color=BLUE)self.scatter2d(X2[:,0],X2[:,1],size=.05,color=YELLOW)ScatterExample().render()It should be noted that manim is not suitable for drawing patterns that need to be accurately realized!ResourcesWikihttps://flyingframes.readthedocs.io/en/latest/index.htmlhttps://3b1b.github.io/manim/https://docs.manim.org.cn/https://docs.manim.org.cn/shaders/3B1B videos:https://github.com/3b1b/videosexport pptxhttps://github.com/yoshiask/manim-pptxhttps://github.com/RythenGlyth/manim-pptxhttps://manimcommunity.github.io/manim_editor/Tutorial/index.htmlExamplesBezier curvehttps://user-images.githubusercontent.com/32060638/159116579-083692a2-f12c-48c0-8abd-1ee147e63714.mp4GOA modelhttps://user-images.githubusercontent.com/32060638/159116901-eafa5842-135c-47f5-85a8-c946099a160f.mp4GOAApply functionDouble pendulum
Package: manim-fontawesome
manim-fontawesomeFont Awesome SVG's for Manim.How to Use.You can import this as any python library in your script and then usebrand,regular,solidvaraibles to get the necessarySVGMobjects.For example,frommanimimport*frommanim_fontawesomeimport*classAngryEmoji(Scene):defconstruct(self):# import https://fontawesome.com/v5.15/icons/angry?style=regularself.add(regular.angry)This module defined these variables:regular: These contains the Regular Style icons.solid: These contains the Solid style icons.brand: These contains the Brands.LicenseThis module is licensed under BSD-3-Clause.
Package: manim-fonts
Manim FontsGet fonts on the fly from the internet which can be used with Manim.Examplefrommanimimport*frommanim_fontsimport*classExample(Scene):defconstruct(self):withRegisterFont("Poppins")asfonts:a=Text("Hello World",font=fonts[0])self.play(Write(a))You can replacePoppinswith any font available on Google Fonts for exampleRegisterFont("Berkshire Swash"), and this plugin will download that font and add to search path and returns the font names that can be passed toTextto directly to use the fonts.The fonts downloaded are cached and are reused.LicenseThis project is licensed underBSD 3-Clause License.
Package: manim-gearbox
manim-GearboxThis is a plugin for Manim that enables you to draw realistic looking gears and mechanisms.
Mostly based on these tec-science pages:https://www.tec-science.com/mechanical-power-transmission/involute-gear/geometry-of-involute-gears/Currently supported Involute gear features:Basic spur gearsInside ring-gearsBasic rackUndercutting (gears with fewer than 17 teeth)Profile shifted gearsMeshing calculation with distance variationPlanned further development:Cycloid gears, cycloid rackInstallationmanim-gearboxis a package on pypi, and can be directly installed using pip:pip install manim-gearboxNote:manim-gearboxuses, and depends on SciPy and Manim.UsageMake sure include these two imports at the top of the .py filefrommanimimport*frommanim_gearboximport*Add Gear objects, use mesh_to() method to position 2 gears into meshing.
I tend to use 'fill_opacity=1' and 'stroke_opacity=0' options because the stroke increases the gear size by a couple pixels, and gives the feeling of interference.Examples2 basic gearsclassgear_example(Scene):defconstruct(self):# small geargear1=Gear(15,stroke_opacity=0,fill_color=WHITE,fill_opacity=1)# larger geargear2=Gear(25,stroke_opacity=0,fill_color=RED,fill_opacity=1)# shifting gear1 away from centergear1.shift(-gear1.rp*1.5*RIGHT)# position gear2 next to gear1 so that they mesh togethergear2.mesh_to(gear1)self.add(gear1,gear2)self.play(Rotate(gear1,gear1.pitch_angle,rate_func=linear),Rotate(gear2,-gear2.pitch_angle,rate_func=linear),run_time=4)inner gearclassgear_example_inner(Scene):defconstruct(self):# smaller geargear1=Gear(12,module=1,profile_shift=0.3,stroke_opacity=0,fill_color=WHITE,fill_opacity=1)# larger gear with inner teethgear2=Gear(36,module=1,inner_teeth=True,profile_shift=0.1,stroke_opacity=0,fill_color=RED,fill_opacity=1)gear1.shift(gear1.rp*UP)gear2.shift(gear2.rp*UP)# mesh with 0.15*module larger distance than default# bias param is used to define left or right tooth flank shall engage if there is offset and playgear2.mesh_to(gear1,offset=0.15,bias=False)self.add(gear1)self.add(gear2)self.play(Rotate(gear1,gear1.pitch_angle,rate_func=linear),Rotate(gear2,gear2.pitch_angle,rate_func=linear),run_time=10)
Package: manim-kunyuan
manim_kunyuanRequirementsargparsecolournumpyPillowscipysympytqdmmapbox-earcutmatplotlibmodernglmoderngl_windowskia-pathopspydubpygmentspyyamlrichscreeninfopyreadline;sys_platform=='win32'validatorsipythonPyOpenGLmanimpango>=0.2.0,<0.4.0Installpipinstallmanim-kunyuan
Package: manimlib-pptx
MANIMLIB-PPTXA Manimlib (the one from 3b1b) addon which exports the video as a powerpointSeemanim-pptxfor manim community editionTable of ContentsInstallationUsageExampleContributingCreditInstallationpip install manimlib-pptxUsageTo export as pptx make your scene class inherit fromPPTXSceneYou can then callself.endSlide()to add all animations since the lastendSlide().TheendSlidemethod has also two arguments:loop- loops the whole Slide.autonext- automatically advances to the next slide when the current slide is done animatingnotes- notes which should be displayed on the created Slideshownextnotes- show the notes of the next slide in the notes of the current slideNote: You need to use the-w, --write_fileflag otherwise it will throw an error. Pull-requests are welcome.Examplefrommanim_pptximport*frommanimlibimport*classTestScene(PPTXScene):defconstruct(self):t=Tex("Hello World!")self.play(Write(t,run_time=2))self.endSlide()c=Circle(radius=3)self.play(Create(c))d=Dot()d.move_to(c.get_start())self.play(Write(d))self.endSlide(autonext=True,shownextnotes=True)self.play(MoveAlongPath(d,c))self.endSlide(loop=True,notes="Next Animation displays Bye")self.play(*[FadeOut(m)forminself.mobjects])t2=Tex("Bye!")self.play(Write(t2,run_time=1))self.endSlide()ContributionFeel free to contribute and create pull requests.CreditCredit to bothmanim-presentationandmanim-pptxwhere i stole some good ideas and a bit of code
Package: manim-live
This is a lib that tries to make math animation easier to show live by being able to control them.Change log0.0.1 (2020/11/8)First Release0.0.2 (2020/11/8)Fixing some initial problems0.0.3 (2020/11/8)Added list_files() methodAdded change_order() method0.0.4 (2020/11/8)Changed some minor things0.0.5 (2020/11/8)Minor bugfix0.0.6 (2020/11/8)Minor bugfix
Package: manim-livestream
Manim LivestreamThis plugin is designed to enable livestreaming support forManim.InstallationWorks like other packages, so pip will do finepip install manim-livestreamUsageRun the following command:python-mmanim_livestreamThis loads a python shell along with the usage information:Manimisnowrunninginstreamingmode.Streamanimationsbypassing
themtoself.play(),e.g.

>>>c=Circle()>>>self.play(ShowCreation(c))Thecurrentstreamingclassunderthename`manim`inheritsfromthe
originalSceneclass.Tocreateastreamingclasswhichinheritsfrom
anothersceneclass,e.g.MovingCameraScene,createitwiththesyntax:

>>>self2=get_streamer(MovingCameraScene)Toviewanimageofthecurrentstateofthesceneormobject,use:

>>>self.show_frame()# view image of current scene>>>c=Circle()>>>c.show()# view image of Mobject>>>Config parameters in the command line carry over to manim's internal framework.
For example:python-mmanim_livestream-vWARNING

...INFO...

>>>config.verbosity'WARNING'>>>IPython is an option:python-mmanim_livestream--use-ipython

...INFO...

Python3.9.2(tags/v3.9.2:1a79785,Feb192021,13:44:55)[MSCv.192864bit(AMD64)]Type'copyright','credits'or'license'formoreinformation
IPython7.23.0--AnenhancedInteractivePython.Type'?'forhelp.

In[1]:Simple ways exist for simpler actions:Python3.9.2(tags/v3.9.2:1a79785,Feb192021,13:44:55)[MSCv.192864bit(AMD64)]onwin32Type"help","copyright","credits"or"license"formoreinformation.>>>frommanim_livestreamimportstream>>>frommanimimportCircle,ShowCreation>>>self=stream()>>>circ=Circle()>>>self.play(ShowCreation(circ))You want scenes present in files? Here you go:python-mmanim_livestreamexample_scenes/basic.py
ManimCommunityv0.6.01:OpeningManim2:SquareToCircle3:UpdatersExample4:WarpSquare5:WriteStuff

Choosenumbercorrespondingtodesiredscene/arguments.(Usecommaseparatedlistformultipleentries)Choice(s):2This particular one will render the scene and send the frames to the streaming protocol.Potential problemsLast 2 or 3 frames don't get sent?
Close the window and restart it withopen_client()The entire thing freezes?
Close the window and restart it withopen_client()Using any other streaming protocol?
As of yet, not a great plan. From experimentation rtp seems the most stable. However the
streaming port shouldn't be too hard to modify.License and contributionThe code is released as Free Software under theGNU/GPLv3license.
Copying, adapting and republishing it is not only consent but also encouraged, particularly surrounding the subject of tests for the framework.AddendumAs long as the way Manim interprets scene compilation remains static, this library can easily be
used with anymanim>=0.6.0(as far as I know).
Package: manim-mobject-svg
manim-mobject-svgCreate SVG files fromVMobjectandVGroup.Install:pip install manim-mobject-svgHere's an example of how to use this plugin:frommanimimport*frommanim_mobject_svgimport*a=Square(color=BLUE)a.to_svg("square.svg")This should create a filesquare.svgin the current directory and return the path to the file. The output should look like this:It's also possible to create a SVG file for VGroup.frommanimimport*frommanim_mobject_svgimport*a=Square(color=BLUE)b=Circle(color=RED)c=VGroup(a,b)c.to_svg("group.svg")It'll create a SVG file like this:Parameters forto_svg()to_svg()takes the following parameters:path: Path to the SVG file to be created. If not specified, it'll create a temporary file and return the path to the file.crop: Crop the SVG file to the bounding box of the VMobject. Default:Truepadding: Padding around the VMobject. Default:0.5This method returns the path to the SVG file.
Package: manim-notebook
Manim notebookmanim_notebookaims to integrate manim with jupyter notebook.InstallationFrom PyPIYou can directly installmanim_notebookfrom PyPI via pip:pip install manim_notebookorDirectlyYou can also install and configure things manually by cloning this repository,git clone https://github.com/AkashKarnatak/manim_notebook.gitand then installing the necessary packages.pip install -r requirements.txtUsagemanim_notebookmakes use of IPython'scell magiccommands to integrate manim in jupyter notebook. Cell magic takes a form like%%magicand are placed on top of each cell in jupyter notebook.Learn basic usage ofmanim_notebookhere.
Package: manim-onlinetex
manim-onlinetexA Manim Plugin that renders LaTeX for Mobjects likeTexandMathTexvia online services.
This plugin will try to render the LaTeX required by such Mobjects viaLaTeXCluster, and if for some reason LaTeXCluster is down, will attempt to useQuickLaTeX.Usage instructionsImport the contents ofmanim_onlinetexAFTERmanimhas been imported, like so:frommanimimport*frommanim_onlineteximport*Then, use aMobjectthat requiresLaTeXrendering. If the
Plugin is doing its job, then theTexfolder of yourmediadirectory should have the source.texfile, the final.svgfile, and no intermediary files (like.dvifiles), since that's
all handled by the online service.LimitationsPlease avoid clearing the Tex directory of your media directory. This is so you don't contact the external LaTeX rendering APIs too often and put an unnecessary strain on their servers.
Package: manim-physics
manim-physicsIntroductionThis is a 2D physics simulation plugin that allows you to generate complicated
scenes in various branches of Physics such as rigid mechanics,
electromagnetism, wave etc.Due to some reason, I (Matheart) may not have
time to maintain this repo, if you want to contribute please seek help from
other contributors.Official Documentation:https://manim-physics.readthedocs.io/en/latest/Contributors:pdcxsMathearticedcoffeeeeInstallationmanim-physicsis a package on pypi, and can be directly installed using pip:pipinstallmanim-physics
Package: manim-play-timeline
Playing animations in a timelineThis plugin provides the functionplay_timeline()which allows for launching several animations, at different instants, each one with a different duration, so that there can be several ones playing in parallel and finishing at different moments.The interface is simple. You provide a dictionary whose keys are the timestamps at which each animations should start, and the values are the animations to play at those timestamps. It is possible to pass a list of animations for any given timestant, and in that case all those animations will start at once. The timestamps are relative to the time in which the whole timeline starts.You can find ademo.pyin this folder, which runs a timeline in which:A progress bar increases linearly from timestamp 0 up to timestamp 12 (used as a reference)At timestamp 1, a Square is created during 10 secsAt timestamp 2, a Circle and a Triangle are created, during 4 secs and 2 secs respectivelyAt timestamp 9, a Text is written during 3 secsThis is the code:classTest(Scene):"""Example showing how to use play_timeline."""defconstruct(self):n=NumberLine(include_numbers=True,x_range=[0,12]).to_edge(DOWN)self.add(n)progress_bar=Line(n.n2p(0),n.n2p(12)).set_stroke(color=YELLOW,opacity=0.5,width=20)# Create a timeline of animations. One of the animations is the progress bar itself# going from 0 to 12 in 12 seconds. It can be used as a reference to check that# the other animations are playing at the right time.timeline={0:Create(progress_bar,run_time=12,rate_func=linear),1:Create(Square(),run_time=10),2:[Create(Circle(),run_time=4),Create(Triangle(),run_time=2)],9:Write(Text("It works!").next_to(progress_bar,UP,buff=1),run_time=3)}play_timeline(self,timeline)self.wait()And this is the result: