Skip to main content

A Python library for creating Arabic text writing animations

Project description

Arabic Animations

A Python library for creating Arabic text writing animations, similar to Manim but specialized for Arabic calligraphy and text animations.

Features

  • Create smooth writing animations for Arabic text
  • Support for RTL text rendering
  • Live preview during development
  • Export to MP4 video files
  • Customizable text properties (font, size, color, stroke width)
  • Multiple text elements with different timings
  • Command-line interface with preview and render options

Quick Start

Prerequisites

macOS

# Install Homebrew if not already installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install system dependencies
brew install cairo pango pygobject3 pkg-config fontconfig

Linux (Ubuntu/Debian)

sudo apt-get update
sudo apt-get install -y \
    python3-gi \
    python3-gi-cairo \
    gir1.2-gtk-3.0 \
    libcairo2-dev \
    pkg-config \
    python3-dev \
    libgirepository1.0-dev

Windows

Windows support is currently experimental. We recommend using WSL2 with Ubuntu for the best experience.

Installation

  1. Clone the repository:
git clone https://github.com/saqib-ahmed/arabic-text-animator.git
cd arabic-text-animator
  1. Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install the package:
pip install -e .

Basic Example

from arabic_animations.core.scene import Scene
from arabic_animations.core.text import Text
from arabic_animations.core.position import Position

# Create scene
scene = Scene(width=1920, height=1080)

# Create and add text
text = Text(
    "بسم الله الرحمن الرحيم",
    position=Position.CENTER,
    font_name="DecoType Thuluth II",
    font_size=128,
    write_duration=2.0
)

scene.add(text)

Running Animations

# Live preview during development
arabic-animate render my_animation.py --preview

# Render to video file
arabic-animate render my_animation.py --output video.mp4

Documentation

For detailed documentation including:

  • Complete installation instructions
  • API reference
  • Advanced examples
  • Styling guide
  • Animation techniques
  • Troubleshooting

Visit our documentation site.

Development

To contribute to the project:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests (when available)
  5. Submit a pull request

License

MIT License

Acknowledgments

  • Cairo Graphics Library
  • Pango Text Layout Engine
  • OpenCV for video output

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

arabic_text_animator-0.3.3.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

arabic_text_animator-0.3.3-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file arabic_text_animator-0.3.3.tar.gz.

File metadata

  • Download URL: arabic_text_animator-0.3.3.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for arabic_text_animator-0.3.3.tar.gz
Algorithm Hash digest
SHA256 8db81b2667e5ebbcda5b7e64033aea7fad569edc8e9ec925f73664282cca2364
MD5 737229eff58b3a3ef32b6e188f54ee95
BLAKE2b-256 f22ec913231ef70404a90b61deae3f9e590e77134f245bad04d8a93fac188085

See more details on using hashes here.

Provenance

The following attestation bundles were made for arabic_text_animator-0.3.3.tar.gz:

Publisher: release.yml on saqib-ahmed/arabic-text-animator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arabic_text_animator-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for arabic_text_animator-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aaf04bf17089689487472c0522d89d2bb8cfb0f39f04549e7e60cc9da85ff8c9
MD5 9b94b370d611fadc58a0b75db5bdd0ad
BLAKE2b-256 39045148a1fdd8a6f07999950e7ba65b36a9065027b7a723afc5e66163785752

See more details on using hashes here.

Provenance

The following attestation bundles were made for arabic_text_animator-0.3.3-py3-none-any.whl:

Publisher: release.yml on saqib-ahmed/arabic-text-animator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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