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
- Clone the repository:
git clone https://github.com/saqib-ahmed/arabic-text-animator.git
cd arabic-text-animator
- Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 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:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests (when available)
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f5e77c0ed72317eac049fe43932a38c8cd98403487e19a43d77891825bca8e4
|
|
| MD5 |
a0fb70a0662163e230abd60cd7a55a3b
|
|
| BLAKE2b-256 |
aaf78e611b9264bdbc1a405a53e396e1afc77a0ae66631ab0c331b24c9193951
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arabic_text_animator-0.3.2.tar.gz -
Subject digest:
8f5e77c0ed72317eac049fe43932a38c8cd98403487e19a43d77891825bca8e4 - Sigstore transparency entry: 163236915
- Sigstore integration time:
-
Permalink:
saqib-ahmed/arabic-text-animator@36c56eb937fde59995a87e16e4f709baa3e52c2e -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/saqib-ahmed
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@36c56eb937fde59995a87e16e4f709baa3e52c2e -
Trigger Event:
push
-
Statement type:
File details
Details for the file arabic_text_animator-0.3.2-py3-none-any.whl.
File metadata
- Download URL: arabic_text_animator-0.3.2-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de6b5a29fd3f9d21a36d3416b2efb64ae7644914e174d313126f72bd49e2bc77
|
|
| MD5 |
b99157c9d499d80f4caee8771a9c241f
|
|
| BLAKE2b-256 |
468bed8487f251645acb7bb9f3469ea053c1dd04863f6536af969b47a4100ddc
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arabic_text_animator-0.3.2-py3-none-any.whl -
Subject digest:
de6b5a29fd3f9d21a36d3416b2efb64ae7644914e174d313126f72bd49e2bc77 - Sigstore transparency entry: 163236917
- Sigstore integration time:
-
Permalink:
saqib-ahmed/arabic-text-animator@36c56eb937fde59995a87e16e4f709baa3e52c2e -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/saqib-ahmed
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@36c56eb937fde59995a87e16e4f709baa3e52c2e -
Trigger Event:
push
-
Statement type: