Skip to main content

PyPI version License Documentation Status

Example Themes

About this Project

This project is a Python Module that provides allows theming of Manim projects with iterm2 color themes. It works by overriding the default Manim configuration with a set of colors that are derived from the selected theme. I am not an expert in how Python looks up variables, and I am not sure if there is a better way for a plugin to realise theming. It works fine for my purposes, but if you have a idea how to improve this, feel free to let me know (by issuing a pull request or opening an issue).

Installation

Install the package with pip:

   pip install manim-themes

Minimal Example

NOTE: Please make sure you have manim installed and running on your machine

Below is a minimal example of how to use the Module.

import manim as m

from manim_themes.manim_theme import apply_theme


class MinimalThemeExample(m.Scene):

    def setup(self):
        # Set the background color to a light beige
        theme = "Andromeda"
        apply_theme(manim_scene=self, theme_name=theme, light_theme=True)

    def construct(self):
        my_text = m.Text("Hello World")
        maroon_text = m.Text("I use Manim BTW", color=m.MAROON)
        maroon_text.next_to(my_text, m.DOWN)

        text_group = m.VGroup(my_text, maroon_text).move_to(m.ORIGIN)

        self.play(m.FadeIn(text_group))


if __name__ == '__main__':
    import os
    from pathlib import Path

    FLAGS = "-pqm"
    SCENE = "MinimalThemeExample"

    file_path = Path(__file__).resolve()
    os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}")

This should yield a Scene that looks like so:

Example Output Screenshot

Documentation

This project uses sphinx for generating the documentation. It also uses a lot of sphinx extensions to make the documentation more readable and interactive. For example the extension myst-parser is used to enable markdown support in the documentation (instead of the usual .rst-files). It also uses the sphinx-autobuild extension to automatically rebuild the documentation when changes are made. By running the following command, the documentation will be automatically built and served, when changes are made (make sure to run this command in the root directory of the project):

sphinx-autobuild ./docs/source/ ./docs/build/html/

If sphinx extensions were added the requirements_dev.txt file needs to be updated. These are the requirements, that readthedocs uses to build the documentation. The file can be updated using this command:

poetry export -f requirements.txt --output requirements.txt --with dev

This project features most of the extensions featured in this Tutorial: Document Your Scientific Project With Markdown, Sphinx, and Read the Docs | PyData Global 2021.

Metadata

Release files for manim-themes 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manim-themes 0.1.3
File Size Uploaded Provenance Actions
manim_themes-0.1.3.tar.gz 12.5 kB Without provenance Details for manim_themes-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for manim-themes 0.1.3
File Interpreter ABI Platform Actions
manim_themes-0.1.3-py3-none-any.whl Python 3 none any Details for manim_themes-0.1.3-py3-none-any.whl

Total release size: 25.2 kB

Release files / manim_themes-0.1.3.tar.gz

Download URL manim_themes-0.1.3.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f9578d520ae575f911fa04e7938b34750f4fdd3bdbd9febeca2045182ac2ca02
BLAKE2b-256 checksum
How to use checksums
e5cea9136b75538d61090aacea6053b9e462e633d03f110822a33114fe2775f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / manim_themes-0.1.3-py3-none-any.whl

Download URL manim_themes-0.1.3-py3-none-any.whl
Size 12.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2687854526ee163c0995fdafe504afbc4f2dfdeed0927f06dd6ec4a1a32f37d4
BLAKE2b-256 checksum
How to use checksums
f9cc6170c988c012fe887507238316e3d09c2c904b357fc069ca9c015b323f1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Security for manim-themes 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page