Skip to main content

A simple terminal animation library

Project description

Animpy 🎬

PyPI - Version PyPI - Downloads GitHub License

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

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.clear()

Interactive Scene – Handle real-time input:

scene = animpy.InteractiveScene()
scene.add(text1, text2, text3)
scene.render()
scene.clear()
scene.key_pressed("w")  # Check if 'w' is pressed

Audio – Play sounds:

audio = animpy.Audio()
audio.load("bg", "music.mp3")
audio.play("bg", loop=-1)
audio.stop_all()
audio.is_playing("track")

Version History

v1.4.1

  • Added scene.remove method to remove items from the scene

v1.4.0

  • Added three new examples to Github example folder
  • Added new class InteractiveScene that allows for real-time keyboard input
  • Added collision detection method collides_with to Text class

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.clear method to clear the scene
  • Added version history to README

Made with ❤️ by a human.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

animpy-1.4.2.2.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

animpy-1.4.2.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file animpy-1.4.2.2.tar.gz.

File metadata

  • Download URL: animpy-1.4.2.2.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for animpy-1.4.2.2.tar.gz
Algorithm Hash digest
SHA256 3f28dec2eeac9df2c13f2127c1a02a718291eac97be7ddc3e9ac4ef05f1a9a88
MD5 d14e545e3deac9e240a4817d1da14062
BLAKE2b-256 ad490b4b8ac6be51c5e0d5501b8086a9d6820ba23d2d36d56d230a8a44003885

See more details on using hashes here.

File details

Details for the file animpy-1.4.2.2-py3-none-any.whl.

File metadata

  • Download URL: animpy-1.4.2.2-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for animpy-1.4.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b79103685ef6f16fc20c1cfe8870157a32d21aed7eb6782dba4d1a5be887e55a
MD5 d6680b09887c1a78fbe9fa857bb6ac85
BLAKE2b-256 bc7e5a2eb7be0b53e415e7f5a3872ef45dc93894108bead7e1276697c04dfe31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page