A simple terminal animation library
Project description
Animpy 🎬
Make cool terminal animations without the pain. Move text around, use RGB colors, play audio, and build actual animations. Works great on modern terminals.
Examples
- Particle simulation
- The zen of python
- Audio example
- Loading screen
- Tag game
- Collision example
- Player Controls
- Linear interpolation
Install
pip install animpy
Quick Start
import animpy
scene = animpy.Scene()
text = animpy.Text("Hello!", 10, 5, r=255, g=100, b=50)
scene.add(text)
scene.render()
How It Works
Text – Create animated text:
text = animpy.Text("Hi", 0, 0, r=255, g=0, b=0)
text.moveX(10) # Move right
text.moveY(5) # Move down
text.centerX() # Center horizontally
text.change_rgb_values(0, 255, 0) # Change color
text.collides_with(other_text) # Check collision with another text
text.width, text.height # Get dimensions
text.type_out("Type me!", speed=0.05, scene=scene) # Type effect
text.fall(velocity=2, floor=15) # Falling effect
text.change_frame() # Cycle through frames (if you used a list)
Scene – Render everything:
scene = animpy.Scene()
scene.add(text1, text2, text3)
scene.remove(text2) # Remove text2 from the scene
scene.render()
scene.set_bg_rgb(0, 0, 255) # Set background color to blue
scene.clear()
scene.shake(intensity=2) # Shake the scene
scene.dt # Get time since last frame (for smooth movement)
Interactive Scene – Handle real-time input:
scene = animpy.Scene()
scene.add(text1, text2, text3)
scene.remove(text2) # Remove text2 from the scene
scene.render()
scene.set_bg_rgb(0, 0, 255) # Set background color to blue
scene.clear()
scene.shake(intensity=2) # Shake the scene
scene.key_pressed("w") # Check if 'w' is pressed
scene.dt # Get time since last frame (for smooth movement)
Audio – Play sounds:
audio = animpy.Audio()
audio.load("bg", "music.mp3")
audio.play("bg", loop=-1)
audio.stop_all()
audio.is_playing("track")
Animpy (extras) – Some extra methods for animations:
animpy.lerp(start, end, t) # Linear interpolation between start and end
Version History
v1.5.1
- Added full guide to project folder
v1.5.0
- Added linear interpolation function
lerptoanimpyfor smooth animations - Added
dtproperty toScenefor easy frame timing and smooth movement - Added z-index support to
Textfor layering items in the scene - Added scene shaking effect with
shakemethod for dramatic animations
v1.4.5
- Added background color support to
Scenewithset_bg_rgbmethod
v1.4.1
- Added
scene.removemethod to remove items from the scene
v1.4.0
- Added three new examples to Github example folder
- Added new class
InteractiveScenethat allows for real-time keyboard input - Added collision detection method
collides_withtoTextclass
v1.3.8
- Added
audio.is_playing()method to check if audio is currently playing - Added two more examples to Github example folder
v1.3.5
- Added
scene.clearmethod to clear the scene - Added version history to README
Made with ❤️ by a human.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file animpy-1.5.1.tar.gz.
File metadata
- Download URL: animpy-1.5.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57beec0ba6060f85f6543fefde572d1ab773c8c1481581f5165fdaaaec20360f
|
|
| MD5 |
ab9a7a210e499f150bf5d0017b3c4065
|
|
| BLAKE2b-256 |
892ca642690109c1b60e8cc73f2511096c7d13080e91b20cc227fa1dccec2d4e
|
File details
Details for the file animpy-1.5.1-py3-none-any.whl.
File metadata
- Download URL: animpy-1.5.1-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fba6818f69ef191af1a467022bdc55420efc1becbb0ce7ebbe906c3f7615cb68
|
|
| MD5 |
0dae7566e3e327ebcb1d5a67e6caff65
|
|
| BLAKE2b-256 |
7eec031f67c0e65314ba675415f18cacf4b4b090d6c0d409235dcc454fac07bc
|