This release is a pre-release and may not be stable for production use.
> English < | 简体中文
Introduction
JAnim is built around the core concept of programmatic animation to create precise and smooth animations. It supports real-time editing, live preview, and a wide range of other rich features.
Inspired by manim.
Introduction video: https://www.bilibili.com/video/BV17s42137SJ/
Examples
|
|
|
|
Highlights
Programmatic animation
class BubbleSort(Timeline):
def construct(self):
# define items
heights = np.linspace(1.0, 6.0, 5)
np.random.seed(123456)
np.random.shuffle(heights)
rects = [
Rect(1, height,
fill_alpha=0.5)
for height in heights
]
group = Group(*rects)
group.points.arrange(aligned_edge=DOWN)
# do animations
self.show(group)
for i in range(len(heights) - 1, 0, -1):
for j in range(i):
rect1, rect2 = rects[j], rects[j + 1]
self.play(
rect1.anim.color.set(BLUE),
rect2.anim.color.set(BLUE),
duration=0.15
)
if heights[j] > heights[j + 1]:
x1 = rect1.points.box.x
x2 = rect2.points.box.x
self.play(
rect1.anim.points.set_x(x2),
rect2.anim.points.set_x(x1),
duration=0.3
)
heights[[j, j + 1]] = heights[[j + 1, j]]
rects[j], rects[j + 1] = rect2, rect1
self.play(
rect1.anim.color.set(WHITE),
rect2.anim.color.set(WHITE),
duration=0.15
)
Change the code, refresh right away
Freely control the preview progress
Installation
JAnim runs on Python 3.12+
You may install JAnim directly via
pip install janim
to install the latest version distributed on PyPI.
To install the latest development version directly from the main branch without cloning the repository, you can run:
pip install git+https://github.com/jkjkil4/JAnim.git@main
Or, to catch up with the latest development and edit the source code, you may clone this repository and install it in editable mode:
git clone https://github.com/jkjkil4/JAnim.git
cd JAnim
pip install -e .
Using JAnim
You can run the following command to see examples.
janim examples
The Documentation provides a more detailed guide on installing and using JAnim. (Note: You can change the documentation language using the flyout menu at the corner of the page.)
Related Projects
JAnim's core dependencies:
- janim-backend: Provides the Rust backend for JAnim
- typst4janim: Used internally to export Typst elements directly to JAnim
License
MIT license
Metadata
Release files for janim 5.0.0rc3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| janim-5.0.0rc3.tar.gz | 411.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| janim-5.0.0rc3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 968.2 kB
Release files / janim-5.0.0rc3.tar.gz
| Download URL | janim-5.0.0rc3.tar.gz |
|---|---|
| Size | 411.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8922e3a734d9c4c3026a6ed34809ead6e6c2123158a3f009fb8ed9dcbc3d9cb4
|
|
BLAKE2b-256 checksum How to use checksums |
5f0fe824ed0c97376ed0d33d5f7e1aa283c9f6d642b445a02cf22157b83ec21b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|
Release files / janim-5.0.0rc3-py3-none-any.whl
| Download URL | janim-5.0.0rc3-py3-none-any.whl |
|---|---|
| Size | 556.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ae54720f35b68414ec8eae541d9501977388d669d65df28775711043413ae04
|
|
BLAKE2b-256 checksum How to use checksums |
dc30661c836b81a13c0690e8ea10490a450c8194b09335a073ea3249f21e89c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|