riemapp
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:
- Plot (user-defined)
- Points
- Lines
- Triangles
- Squares
- Rectangles
- Other regular polygons
- Circles
- Irregular polygons
- …and so on
- Create smooth, precise animations for plotted figures and map them on the Argand plane according to user-defined complex functions.
- Save these animations and play them in the default video player available
Structure
- Right now,
riemappaliases the geometries provided bymanimunderriemapp.geometry. Users can either use these alias classes or directly use theMObjects provided bymanim. riemappprogrammatically generatesmanimanimations, and the code for this is available underriemapp.core. All of the information added by a user is passed into a placeholder class which inheritsmanim.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
binfolder 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)
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| riemapp-0.2.0.tar.gz | 19.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.