Skip to main content

saad-almikhlafi

إطار واجهات Python مختصر، ببنية وأدوات واجهة من تنفيذ المشروع نفسه.

اسم التوزيعة saad-almikhlafi واسم الاستيراد saad_almikhlafi. هذا مشروع مستقل: نظام العناصر والتخطيط والأحداث والرسم مكتوب لهذا الإطار، ويستعمل Pygame فقط كطبقة منخفضة المستوى للنافذة والرسم والإدخال؛ لا يعتمد على إطار واجهات Python آخر.

الإصدار 0.1.0 هو المرحلة الأولى ويظل محليًا حتى يكتمل المشروع وتتم مراجعة النشر.

التثبيت والتجربة

هذا الإصدار غير منشور بعد. من جذر مجلد المشروع، ثبّته للتجربة:

pip install -e ".[test]"

بعد اكتمال المشروع ونشره، سيكون أمر التثبيت:

pip install saad-almikhlafi

يتطلب Python 3.10+ وPygame 2.1.3+.

لتشكيل النص العربي واتجاهه، ثبّت الإضافات الاختيارية من مجلد المشروع:

pip install -e ".[test,arabic]"

تستخدم عناصر النص الخط الافتراضي إن لم تحدد font_path. لعرض العربية على الجهاز، مرّر مسار ملف خط يدعم العربية، مثل text("مرحبًا", font_path="/مسار/الخط.ttf") أو app(root, font_path="/مسار/الخط.ttf").

مثال سريع

from saad_almikhlafi import app, btn, col, field, text

app(
    col(
        text("Welcome!", font=28),
        field(hint="Your name"),
        btn("Say hello", on=lambda widget: print("Hello!")),
        spacing=12,
        padding=20,
    ),
    title="تطبيقي الأول",
)

يعمل المثال في بيئة سطح المكتب، وعلى Android داخل Pydroid 3 عند توافر Pygame 2 في البيئة. قبل التشغيل تحقق في Pydroid من import pygame; print(pygame.version.ver). يذكر وصف Pydroid 3 الرسمي دعم Pygame 2؛ تشغيله مباشرةً على الجهاز لم يُختبر بعد.

عناصر الواجهة

الاستدعاء الوظيفة
col(...) / column(...) ترتيب العناصر رأسيًا
row(...) ترتيب العناصر أفقيًا
text("...") / label("...") نص مع حجم ولون ومحاذاة
btn("...") / button("...") زر مع دالة on عند النقر
field(...) / input(...) حقل إدخال نص أحادي السطر
image(path) عرض ملف صورة محلي
spacer() مساحة تتمدد داخل الصف أو العمود
scroll(content) مساحة تمرير رأسية
screen_manager({name: widget}) تبديل بين شاشات مسماة مع سجل رجوع
app(root, ...) / run(root, ...) تشغيل نافذة التطبيق

تقبل التخطيطات spacing, padding, background, width, height, align. وتقبل العناصر خصائصها الخاصة مثل font, color, hint, secure, on_change وon_submit. استخدم manager.show("settings") للتبديل وmanager.back() للعودة.

المرحلة الحالية

المراحل 1–3: نواة العناصر والتخطيطات والأحداث والرسم، تمرير رأسي، شاشات مسماة وسجل رجوع، مع معالجة عربية اختيارية وخطوط مخصصة. نجحت اختبارات الرسم واللمس الاصطناعي والعربية على Linux؛ لم يجر التشغيل على جهاز Android بعد.

المرحلة التالية: تشغيل examples/pydroid_smoke.py على Pydroid والتحقق على الجهاز من اللمس ولوحة المفاتيح والاتجاه؛ ثم تحسين السمات وإتاحة الوصول والتوافق قبل إصدار مستقر. لا يُنشر أي إصدار قبل اكتمال المراجعة وموافقة المستخدم.

English

saad-almikhlafi is a standalone Python UI toolkit with its own widget tree, layout, event handling, scrolling, screens, and drawing code. It uses Pygame as a low-level graphics/input backend. Optional Arabic shaping and custom fonts are available. Import it as saad_almikhlafi. Android/Pydroid execution still needs device testing; version 0.1.0 remains a local milestone.

Metadata

Release files for saad-almikhlafi 0.1.0

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

Built distribution (wheel)

Table of built distributions (wheels) for saad-almikhlafi 0.1.0
File Interpreter ABI Platform
saad_almikhlafi-0.1.0-py3-none-any.whl Python 3 none any Details

Release files / saad_almikhlafi-0.1.0-py3-none-any.whl

Download URL saad_almikhlafi-0.1.0-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4dc480f8b34a7e6f751394d603a3bbe5f0a34d071bae43a6a4dee70b8c81155
BLAKE2b-256 checksum
How to use checksums
25b6f2d99e1dc97fc9ce17d17679c7e55080d3c31768bc0ce6b9a8639ef00099
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.1.2

1 release file

0.1.1

2 release files

This release

0.1.0 This release

1 release file

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