Skip to main content

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

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.tar.gz (4.9 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-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: animpy-1.4.2.tar.gz
  • Upload date:
  • Size: 4.9 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.tar.gz
Algorithm Hash digest
SHA256 1e56a0949da75fc08582e50be0b8946b8dd20dfc9a6340c7470112a0b8a41c5e
MD5 bf464adff7d7e64c114d843554f147a5
BLAKE2b-256 7a1afc071ea8c7a867a686fe17ba70db689162535fea95b9286841eeecbf1f91

See more details on using hashes here.

File details

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

File metadata

  • Download URL: animpy-1.4.2-py3-none-any.whl
  • Upload date:
  • Size: 5.7 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-py3-none-any.whl
Algorithm Hash digest
SHA256 55bff2805de1d766e91a2d12541fbe7a4d6d4d5eaca4f7d6af26a49586728ea7
MD5 e1c8611cf0556956640402355accdc94
BLAKE2b-256 4c4475647897a46c44ecd9e18c74f31751f6eb683558091dbc3c6a962cc76e6a

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