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

Uploaded Python 3

File details

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

File metadata

  • Download URL: arabic_text_animator-0.3.2.tar.gz
  • Upload date:
  • Size: 13.1 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.2.tar.gz
Algorithm Hash digest
SHA256 8f5e77c0ed72317eac049fe43932a38c8cd98403487e19a43d77891825bca8e4
MD5 a0fb70a0662163e230abd60cd7a55a3b
BLAKE2b-256 aaf78e611b9264bdbc1a405a53e396e1afc77a0ae66631ab0c331b24c9193951

See more details on using hashes here.

Provenance

The following attestation bundles were made for arabic_text_animator-0.3.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for arabic_text_animator-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 de6b5a29fd3f9d21a36d3416b2efb64ae7644914e174d313126f72bd49e2bc77
MD5 b99157c9d499d80f4caee8771a9c241f
BLAKE2b-256 468bed8487f251645acb7bb9f3469ea053c1dd04863f6536af969b47a4100ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for arabic_text_animator-0.3.2-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