Skip to main content

riemapp

CI Documentation Status pre-commit.ci status codecov discussion

Python Versions Package Version Downloads License black

riemapp is a fast, easy-to-use, minimal library for Python 3.7+ that aliases manim 0.16.0+ functions for visualising animated and intuitive complex mappings (transformations from the real plane to the complex plane) for various shapes and real-valued functions in two dimensions. It uses a minimum number of dependencies through FFmpeg and pangocairo on Linux.

Users and learners may use riemapp to:

  1. Plot (user-defined)
    • Points
    • Lines
    • Triangles
    • Squares
    • Rectangles
    • Other regular polygons
    • Circles
    • Irregular polygons
    • …and so on
  2. Create smooth, precise animations for plotted figures and map them on the Argand plane according to user-defined complex functions.
  3. Save these animations and play them in the default video player available

Structure

  • Right now, riemapp aliases the geometries provided by manim under riemapp.geometry. Users can either use these alias classes or directly use the MObjects provided by manim.
  • riemapp programmatically generates manim animations, and the code for this is available under riemapp.core. All of the information added by a user is passed into a placeholder class which inherits manim.Scene. This class' object is then used to render the animation.

Installation

Install dependencies

FFmpeg

  • Install FFmpeg through their download page or your system's package manager (apt, brew, ...) or clone Saransh-cpp/FFmpeg.
  • Add the bin folder to system path.

pangocairo (Linux systems)

Install libpango1.0-dev if you are on a Linux system -

sudo apt-get update
sudo apt install libpango1.0-dev

Install riemapp

riemapp uses modern Python packaging and can be installed using pip -

python -m pip install riemapp

Usage example

In [1]: import riemapp as rp
Manim Community v0.16.0.post0

In [2]: import numpy as np

In [3]: square = rp.geometry.Square(2.)

In [4]: square
Out[4]: Square(side_length=2.0) (alias for manim.Square)

In [5]: cm = rp.ComplexMap(square, lambda z: np.e ** z)

In [6]: cm
Out[6]: ComplexMap(f=Square(side_length=2.0) (alias for manim.Square), transformation=<lambda>)

In [7]: cm.generate_animation(run_time=2.)
Out[7]: Animate(f=Square(side_length=2.0) (alias for manim.Square), transformation=<lambda>)

In [8]: cm.render(preview=False)

https://user-images.githubusercontent.com/74055102/193077326-2c21cb9e-eb24-473e-b69c-3376f7664ecd.mp4

Contributing

If you want to contribute to riemapp (thanks!), please have a look at our Contributing Guide.

Metadata

Release files for riemapp 0.2.0

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

Source distribution (sdist)

Source distribution for riemapp 0.2.0
File Size Uploaded Provenance
riemapp-0.2.0.tar.gz 19.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for riemapp 0.2.0
File Interpreter ABI Platform
riemapp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.6 kB

Release files / riemapp-0.2.0.tar.gz

Download URL riemapp-0.2.0.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d8636f0f90eebf9edf748d87d37ae22e7c193aac344c1939edc127715481b96f
BLAKE2b-256 checksum
How to use checksums
a2250807c5ca20fe2faf482e4249102c48dbd5b3cfc1da74f0a83f6a4d67d6ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / riemapp-0.2.0-py3-none-any.whl

Download URL riemapp-0.2.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4595fdf196f31f33677a0c4d984d015c928c9329b33a367e600d85f8f305760b
BLAKE2b-256 checksum
How to use checksums
9e46905f338988fe2a5185cc6f4905646e41e7ae3f10c72825c1d085c09f0532
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Security for riemapp 0.2.0

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