Skip to main content

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

Metadata

Release files for arabic-text-animator 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arabic-text-animator 0.3.3
File Size Uploaded
arabic_text_animator-0.3.3.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arabic-text-animator 0.3.3
File Interpreter ABI Platform
arabic_text_animator-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 29.1 kB

Release files / arabic_text_animator-0.3.3.tar.gz

Download URL arabic_text_animator-0.3.3.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8db81b2667e5ebbcda5b7e64033aea7fad569edc8e9ec925f73664282cca2364
BLAKE2b-256 checksum
How to use checksums
f22ec913231ef70404a90b61deae3f9e590e77134f245bad04d8a93fac188085
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 17, 2025.

Transparency log

Release files / arabic_text_animator-0.3.3-py3-none-any.whl

Download URL arabic_text_animator-0.3.3-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aaf04bf17089689487472c0522d89d2bb8cfb0f39f04549e7e60cc9da85ff8c9
BLAKE2b-256 checksum
How to use checksums
39045148a1fdd8a6f07999950e7ba65b36a9065027b7a723afc5e66163785752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 17, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page