أهلاً بكم في موجز أخبار بايثون لشهر مايو 2025. شهد الشهر الماضي تأكيداً على أن بايثون ستتضمن سلاسل القوالب، أو سلاسل T، التي طال انتظارها، في الإصدار القادم. ستقرأون أيضاً عن تطورات رئيسية أخرى في بايثون خلال الشهر الماضي، وتحديثات من عالم جانجو، وإعلانات شيقة من مجتمع بايثون حول المؤتمرات القادمة.
من PEPs الجديدة والإصدارات التجريبية إلى تحديثات الإطار الرئيسية، إليك ما حدث في عالم بايثون.
PEP 750: سلاسل القوالب قادمة إلى بايثون
يُقدّم PEP 750 سلاسل القوالب، وهي آلية قياسية جديدة لتعريف قوالب السلاسل ككائنات مُهيكلة قابلة لإعادة الاستخدام. بخلاف f-strings أو ()str.format، اللتين تُضمّنان التنسيق مباشرةً في حروف السلاسل، تفصل سلاسل القوالب تعريف بنية السلسلة عن البيانات المُستخدمة لملئها:
>>> template = t"Howdy, {input('Enter your name: ')}!"
Enter your name: Stephen
>>> template
Template(
strings=('Howdy, ', '!'),
interpolations=(
Interpolation('Stephen', "input('Enter your name: ')", None, ''),
)
)
>>> for item in template:
... print(item)
...
Howdy,
Interpolation('Stephen', "input('Enter your name: ')", None, '')
!
تتيح هذه الأداة الجديدة إمكانيات جديدة للتنسيق الديناميكي، والتوطين، والرسائل الموجهة للمستخدم، وغيرها. كما تُسهّل مشاركة قوالب التنسيق وإعادة استخدامها عبر التطبيق. وتُوصف إضافة سلاسل t بالفعل بأنها تحسين كبير لقدرات بايثون في التعامل مع السلاسل.
تطورات أخرى في لغة بايثون
يواصل إصدار بايثون 3.14 تبلوره، مع إصدار ألفا جديد وقبول أو اقتراح العديد من مشاريع التطوير الشخصية (PEPs). تُعطي هذه التحديثات فكرةً عن مستقبل اللغة، خاصةً في مجالات مثل تصحيح الأخطاء، وإدارة التبعيات، وفحص الأنواع.
إصدار بايثون 3.14.0a7
صدر بايثون 3.14.0a7 في أبريل، مُمثلاً النسخة التجريبية النهائية في دورة تطوير بايثون 3.14. يتضمن هذا الإصدار العديد من الإصلاحات والتعديلات، مع التركيز الآن على الاستقرار مع اقتراب النسخة التجريبية الأولى.
إلى جانب إصدار ألفا 3.14، أصدر فريق بايثون الأساسي أيضًا مجموعة من إصدارات الصيانة: 3.13.3، 3.12.10، 3.11.12، 3.10.17، و3.9.22. تتضمن هذه الإصدارات إصلاحات للأخطاء وتحديثات أمنية لجميع إصدارات بايثون المدعومة.
مع اكتمال مرحلة ألفا، سيدخل بايثون 3.14 الآن مرحلة البيتا. هذا يعني أنه لن تُضاف أي ميزات جديدة، وسينصبّ التركيز على إصلاح الأخطاء وإتمام التوثيق قبل الإصدار الرسمي في وقت لاحق من هذا العام.
PEP 751: تنسيق ملف لتسجيل تبعيات بايثون
تم قبول PEP 751. يُعرّف هذا PEP تنسيق ملف جديد يعتمد على TOML لتسجيل التبعيات، بهدف تمكين عمليات تثبيت قابلة للتكرار عبر البيئات.
يلتقط هذا التنسيق حالة بيئة المشروع في وقت محدد، مما يسمح للمطورين بتثبيت نفس إصدارات جميع التبعيات، بغض النظر عن نظام التشغيل أو إصدار بايثون. مع أن هذا التنسيق لا يزال في مراحله الأولى، إلا أنه قد يدعم في نهاية المطاف تجربة إعداد مشروع أكثر اتساقًا وموثوقية لمستخدمي بايثون.
PEP 768: واجهة تصحيح أخطاء آمنة لـ CPython
تم قبول PEP 768 أيضًا، وهو يُقدّم واجهة جديدة منخفضة التكلفة تُتيح للمُصحِّحات الخارجية الاتصال بعمليات بايثون الجارية. مستوحاة من أدوات مثل gdb -p، تُتيح هذه الواجهة للمُصحِّحات الاتصال بأمان بعملية CPython جارية من خلال مُعرِّف العملية، وتشغيل نصوص التصحيح في نقاط مُحدَّدة مُسبقًا أثناء تشغيل المفسّر.
يتجنب التصميم حقن الكود غير الآمن من خلال توسيع نطاق حالة الخيط وحلقة التقييم في بايثون، مما يضمن التوافق مع البرامج متعددة الخيوط وخطافات التدقيق في بايثون. مع أن هذا البرنامج التدريبي مُوجّه في المقام الأول لمطوري الأدوات، إلا أنه يُمكن لمستخدمي بايثون توقع استقرار ودعم أفضل في أدوات التصحيح المتقدمة.
يعد التغيير جزءًا من جهد مستمر لتحسين قدرات Python في الاستكشاف والأدوات دون المساس بسلامة وقت التشغيل.
PEP 781: ثابت مدمج لـ TYPE_CHECKING
PEP 781 هو مشروع جديد يقترح أن يصبح TYPE_CHECKING، وهو حاليًا جزء من وحدة typing، ثابتًا مدمجًا. يُستخدم غالبًا لتغليف عبارات الاستيراد اللازمة فقط أثناء التحليل الثابت.
من خلال جعل TYPE_CHECKING متاحًا دائمًا، سيؤدي هذا التغيير إلى إزالة نقطة احتكاك شائعة لمؤلفي المكتبة وتبسيط عمليات الاستيراد الشرطية في الكود المشير إلى النوع.
جانجو وتطوير الويب
كان شهر أبريل شهرًا حافلًا لمطوري Django. فقد شهد إصدارًا جديدًا وتحديثات أمنية مهمة تضمّنت تحسينات وإصلاحات في إصدارات متعددة مدعومة.
إصدار Django 5.2
أصدر فريق Django الإصدار 5.2، مضيفًا العديد من التحسينات الموجهة للمطورين:
- دعم المفاتيح الأساسية المركبة، وهي ميزة مطلوبة منذ فترة طويلة
- استيراد النماذج تلقائيًا في shell التفاعلي
- خيارات محسنة لتخصيص كيفية عرض النماذج في القوالب
إذا كنت قد قمت بإعداد عناصر واجهة مستخدم مخصصة للنماذج يدويًا أو استيراد نماذجك في كل مرة تقوم فيها بتشغيل manage.py، فقد يجعل هذا الإصدار حياتك أسهل قليلاً.
تحديثات الأمان لـ Django 5.0 و4.2 و3.2
كما أصدر الفريق تصحيحات أمنية لإصدارات Django المدعومة لمعالجة الثغرات الأمنية المحتملة في عمليات تحميل الملفات وبعض الحالات في إنشاء استعلامات SQL.
يتم تشجيع مستخدمي Django على التحديث في أقرب وقت ممكن لضمان حمايتهم.
ما هو التالي بالنسبة لبايثون؟
ينتقل بايثون 3.14 الآن من مرحلة ألفا إلى بيتا، مما يعني تجميد ميزات اللغة وتحوّل التركيز إلى الاختبار والتوثيق. العديد من برامج التطوير الشخصية (PEPs) المقبولة – مثل سلاسل القوالب وتنسيق التبعيات القابل للتكرار – تُشكّل بالفعل ما سيُقدّمه بايثون 3.14.
في أماكن أخرى، يستمر نظام نوع Python في التطور، وتعمل القدرات الجديدة مثل واجهات تصحيح الأخطاء الآمنة على تمهيد الطريق لأدوات وتجارب مطورين أفضل.
سنعود الشهر القادم بمزيد من أبرز أحداث عالم بايثون. استمتعوا باستخدام بايثون!
اكتشاف المزيد من بايثون العربي
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.