
تطوير Python
أنشئ سكريبتات Python وخدمات FastAPI ومجموعات الاختبارات باستخدام الأدوات الحديثة — uv وPEP 723 وأفضل ممارسات pytest
تثبيت
شغّل هذا الأمر لتثبيت جميع المهارات في هذا الحزمة:
npx skillstore add @python-development تكتشف CLI مجلدات Codex وClaude Code تلقائيًا وتثبّت فيهما عند توفرهما.
نظرة عامة
دليل الاستخدام
محسّن بالذكاء الاصطناعيدليل مفصل
# تطوير Python
أنشئ سكريبتات Python وخدمات FastAPI ومجموعات الاختبارات باستخدام الأدوات الحديثة — uv وPEP 723 وأفضل ممارسات pytest.
10 分钟起一个带测试的 FastAPI 服务。
## وظائف هذا المكون الإضافي
ثلاث مهارات تغطي سير العمل الكامل للواجهة الخلفية لـ Python:
| المهارة | الغرض |
|-------|---------|
| **Python Scripting** | سكريبتات مستقلة مع uv وتبعيات PEP 723 المضمنة — لا حاجة لإعداد virtualenv |
| **FastAPI Mastery** | إنشاء REST API مع التوجيه والتحقق من الطلبات والبرمجيات الوسيطة والمصادقة وتكامل قاعدة البيانات |
| **pytest Mastery** | مجموعات الاختبارات مع fixtures وparametrize ومحاكاة والاختبار غير المتزامن وتغطية الاختبارات |
## مثال كامل: إنشاء API لتقصير الروابط مع الاختبارات
### الخطوة 1: إنشاء هيكل خدمة FastAPI
```
Create a FastAPI URL shortener service with:
- POST /shorten — accepts {"url": "https://..."}, returns {"short_code": "abc123", "short_url": "http://localhost:8000/abc123"}
- GET /{short_code} — redirects to original URL
- GET /stats/{short_code} — returns click count
- Use SQLite via SQLAlchemy for storage
- Add input validation: reject invalid URLs, max URL length 2048
- Include proper error responses (404 for unknown codes, 422 for invalid input)
```
### الخطوة 2: إضافة اختبارات شاملة
```
Write pytest tests for the URL shortener:
- Test POST /shorten with valid URL returns 201 + short_code
- Test POST /shorten with invalid URL returns 422
- Test GET /{short_code} redirects correctly (status 307)
- Test GET /{short_code} with unknown code returns 404
- Test GET /stats/{short_code} returns correct click count after multiple visits
- Use httpx AsyncClient as test client
- Use a separate test database (SQLite in-memory)
- Add fixtures for: app client, sample shortened URL, database setup/teardown
```
### الخطوة 3: إضافة سكريبت أدوات مساعدة
```
Create a Python script with PEP 723 inline dependencies that:
- Reads a CSV file of URLs (one per line)
- Calls the /shorten endpoint for each URL
- Outputs a new CSV with original_url, short_url, short_code columns
- Use uv for dependency management (httpx, csv are dependencies)
- Add retry logic for failed requests
- Include a --dry-run flag that validates URLs without shortening
```
**النتيجة:** خدمة API كاملة ومختبرة + سكريبت أدوات مساعدة للدفعات — كلها مولدة من أوامر اللغة الطبيعية، جاهزة للنشر.
## متطلبات البيئة
- **Python 3.10+** (يُنصح بـ 3.12)
- **مدير الحزم uv** لحل التبعيات بسرعة:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
- لمشاريع FastAPI، تُدار التبعيات عبر `pyproject.toml` أو `requirements.txt`
- للسكريبتات المستقلة، تتيح لك البيانات الوصفية المضمنة لـ PEP 723 تعريف التبعيات مباشرة في ملف السكريبت — لا حاجة لتكوين منفصل
### فحص سريع
```bash
python3 --version # 3.10+
uv --version # أي إصدار حديث
```
## معالجة الأخطاء
### uv غير مثبت
```
command not found: uv
```
**الحل:** قم بتثبيت uv: `curl -LsSf https://astral.sh/uv/install.sh | sh`
بدلاً من ذلك، يمكنك الرجوع إلى pip: `pip install -r requirements.txt`
### أخطاء الاستيراد في الاختبارات
```
ModuleNotFoundError: No module named 'httpx'
```
**الحل:** قم بتثبيت تبعيات الاختبار: `uv pip install httpx pytest pytest-asyncio`
### خادم FastAPI لا يعمل
الأسباب الشائعة:
- المنفذ مستخدم بالفعل: `uvicorn app:app --port 8001`
- تبعيات مفقودة: `uv pip install fastapi uvicorn sqlalchemy`
- إصدار Python قديم جدًا: ترقية إلى 3.10+
### pytest fixtures غير موجودة
إذا فشلت الاختبارات مع رسالة `fixture not found`، تأكد من:
- وجود `conftest.py` في دليل الاختبار
- دوال fixtures مزينة بـ `@pytest.fixture`
- fixtures غير المتزامنة تستخدم `@pytest_asyncio.fixture`المهارات
3python-scripting
مخاطر متوسطة 72إنشاء سكربتات Python محمولة باستخدام uv
غالبا ما تحتاج أدوات Python المستقلة إلى تبعيات قابلة للتكرار وسلوك واضح عبر سطر الأوامر. تساعد هذه المهارة Claude وCodex وClaude Code على صياغة سكربتات قائمة على uv مع بيانات PEP 723 الوصفية.
fastapi-mastery
مخاطر متوسطة 69أنشئ واجهات API باستخدام FastAPI وفق أنماط إرشادية
تحتاج مشاريع FastAPI إلى أنماط متسقة للتوجيه، والتحقق، والأمان، والوصول إلى البيانات، والنشر. تمنح هذه المهارة Claude وCodex وClaude Code إرشادات منظمة لبناء خدمات FastAPI وتحسينها.
pytest-mastery
مخاطر منخفضة 79اكتب مجموعات Pytest موثوقة
تحتاج فرق Python إلى اختبارات قابلة للتكرار يسهل تشغيلها وتصحيحها وتوسيعها. تمنح هذه المهارة إرشادات عملية حول pytest وuv لاختبارات الوحدة والتغطية وfixtures وأنماط اختبار FastAPI.
حزم مشابهة

أدوات حاويات Docker
حاويات Docker من البداية للنهاية — تدقيق Dockerfiles، تنسيق بناءات الخدمات المتعددة، والنشر إلى Kubernetes. مجموعة أدوات واحدة لسير عمل الحاويات الخاص بك.
3 مهارات

أدوات تصميم مخطط Postgres
يغطي تصميم المخطط، وصياغة الاستعلامات، وتحسين SQL للواجهات الخلفية العلائقية. الأفضل للوكلاء الذين يعملون على ميزات كثيفة البيانات وتحتاج إلى نمذجة نظيفة ووصول سريع.
3 مهارات

أدوات Claude Code
أضف أدوات hooks والتشغيل بدون واجهة ورسائل MCP لتحويل Claude Code إلى محرك سير عمل قابل للبرمجة
3 مهارات