المشاريع

أدوات مفتوحة المصدر مبنيّة على مبادئ عملية: مصدر واحد للحقيقة، استثناءات واضحة، وتزامن أصلي أولاً.

fastapi-forge

FastAPIRedisDockerCI

قالب FastAPI جاهز للإنتاج بفصل حاد بين الطبقات (api/core/services/repos)، وإعدادات مُنمطة عبر pydantic-settings، وريديس لثلاثة استخدامات منفصلة (كاش، تحديد معدل، قفل موزّع)، ولوجز JSON مع request-id، وبنية Docker متعددة المراحل وعامل CI يفحص lint و typing و tests. مبنيّ على مبدأ الاشتراك مع Redis بأوامر ذرّية (Lua) بدل الاعتماد على تنافس على مستوى العملية.

redisjobs

Redisasyncqueue

مكتبة Python غير متزامنة لتشغيل مهام موزعة فوق Redis، بدون أي خيط أو عملية وسيطة. التسليم يعتمد على LMOVE/BLMOVE الذرّية مع reaper يعيد جدولة المهام من العمال المتعطلين (at-least-once)، مع retries بـ backoff أُسّي، وطابور رسائل ميتة (DLQ)، وجدولة مؤجلة، وأولويات، وإلغاء المهام.

debian-bootstrap

DebianSecurityBash

أداة تجهز سيرفر Debian جديد بطريقة قابلة للتكرار: مستخدم sudo، إعداد SSH آمن، جدار ناري UFW، fail2ban، تحديثات أمنية تلقائية، Docker من المستودع الرسمي، swap، وقت/NTP، وقوالب systemd. كل مرحلة بتفحص الحالة الأول ويبدل فقط اللي محتاج يتغير، مع dry-run كامل للاستعراض قبل أي تعديل وآلية تسجيل لكل تشغيل.

loglens

LoggingasyncioFastAPI

مكتبة تسجيل منظم بمعرّف ارتباط (correlation id) عبر contextvars ينتقل تلقائيًا لكل المهام الفرعية في asyncio. مخرجات JSON للمراحل الإنتاجية، تنسيق ملوّن للتطوير يُعطّل لوحده على غير الطرفيات، وتعتيم تلقائي للأسرار (passwords، tokens، مفاتيح API، JWTs) في اللوجز، مع middleware جاهزين لـ FastAPI و aiohttp وصفر تبعيات افتراضيًا.

async-web-collector

ScrapingasyncioCLI

أداة غير متزامنة لجمع البيانات العامة من صفحات الويب بطريقة مسؤولة: تزامن محدود عبر Semaphore، تحديد معدل الطلبات لكل نطاق، retries مع backoff أُسّي، واحترام robots.txt في الاصطلاح الافتراضي. الاستخراج عبر CSS selectors و XPath، وتصدير لـ JSON أو CSV، مع CLI كامل عبر Typer وكسب من YAML.

envguard

ConfigpydanticCLI

مكتبة مبنية على pydantic-settings تضيف ما يعاده كل تطبيق بتكرره على فوقها: Profiles (dev/staging/prod) بقواعد تحميل واضحة، اكتشاف الأسرار تلقائيًا (بالنوع أو الاسم أو علامة صريحة) وتعتميها في اللوجز و repr، ورسائل خطأ واضحة بأسماء متغيرات البيئة بدل traceback خام، و CLI يولّد .env.example ويصحّح البيئة قبل التشغيل.