كان الشهر الماضي نقطة تحول في تاريخ بايثون. إصدار بايثون 3.14 التجريبي الثالث، الذي صدر منتصف يونيو، ليس مجرد إصدار تجريبي آخر. إنه أول إصدار يدعم رسميًا الإصدار الحرّ الذي طال انتظاره، أو “بدون جيل”. هذا صحيح: بايثون بدون جيل بدأ يتشكل أخيرًا.
ومع ذلك، فإن المترجم ليس الشيء الوحيد الذي يتصدر العناوين الرئيسية.
ستجد أدناه جولة مختارة لأحدث تطورات Python، مقسمة حسب المنطقة حتى تتمكن من التركيز على موضوعك المفضل.
تطوير بايثون الأساسي
شهدت نواة CPython تحسنًا في التزامن والاستقرار الشهر الماضي. تدعم النسخة التجريبية الثالثة من Python 3.14 الآن رسميًا الإصدار بدون GIL لـ CPython، مما يُبشر بعصر جديد من Python متعدد الأنوية. كما أضاف هذا الإصدار نفسه مُفسّرات متعددة إلى المكتبة القياسية، وفي وقت سابق من يونيو، أصدر الفريق الأساسي دفعة مُنسّقة من تصحيحات الأمان لجميع الإصدارات المُدارة للحفاظ على أمان عمليات النشر.
إصدار Python 3.14 Beta 3 يدعم الخيوط الحرة
في 17 يونيو، أطلق فريق الإصدار بايثون 3.14.0b3 على المرايا. ما يميز هذه النسخة التجريبية هو قبول PEP 779، الذي يُحسّن من النسخة الخالية من GIL من تجريبية إلى مدعومة. هذا التغيير في الحالة يعني أن العجلات الثنائية، وصور التكامل المستمر، وحتى منصات الاستضافة يمكنها البدء في التعامل مع بايثون ذات الخيوط الحرة كمواطن من الدرجة الأولى.
لماذا يُعد هذا أمرًا بالغ الأهمية؟ لطالما حدّ قفل المفسّر العالمي (GIL) من قدرة بايثون على استخدام أنوية وحدة المعالجة المركزية المتعددة بفعالية. مع دعم بنية بدون GIL، يمكن لعلم البيانات وأحمال عمل الويب عالية الإنتاجية الوصول إلى تعدد خيوط حقيقي دون الحاجة إلى تنسيق العمليات الفرعية.
مع أن هذا مثير للاهتمام، إلا أن هناك العديد من المحاذير. يجب إعادة بناء الإضافات الأصلية، ولا تزال هناك تنازلات في الأداء. مع ذلك، يبدو الطريق إلى الإنتاج ممهدًا بشكل متزايد، ويمكن لمجتمع بايثون البدء في الاستعداد للمرحلة الثالثة، والتي ستجعل البناء الحرّ هو الخيار الافتراضي.
انضمام العديد من المترجمين إلى المكتبة القياسية
يُنهي الإصدار التجريبي 3 أيضًا اقتراحًا لغويًا آخر مع PEP 734 – مُفسِّرات متعددة في مكتبة Stdlib. يحل هذا PEP محل PEP 554، ويضيف مُفسِّرات فرعية لبايثون إلى المكتبة القياسية عبر وحدة concurrent.interpreters. تُعزز هذه الإضافة إمكانية تشغيل مُفسِّرات متعددة من واجهة برمجة تطبيقات C إلى المكتبة القياسية، مما يُمهد الطريق لزيادة شيوع هذا النهج للتزامن في بيئة بايثون.
إلى جانب الإضافات السابقة مثل حرفيات سلسلة t، من المتوقع أن يكون Python 3.14 إصدارًا مليئًا بالميزات عند إطلاقه في أكتوبر/تشرين الأول.
إصدارات الأمن المنسقة تضمن السلامة
إذا كنتَ تُصان أي شيء على إصدار بايثون للدعم طويل الأمد (LTS)، فخصص بعض الوقت للترقية. في وقت سابق من الشهر الماضي، أصدر الفريق الأساسي إصلاحاتٍ لمعرفات CVE متعددة في ملفات tar، ولخللٍ في ذاكرة عنوان IP في جميع الفروع المدعومة: 3.13.4، 3.12.11، 3.11.13، 3.10.18، و3.9.23. إذا كنتَ تعتقد أن هذا قد يؤثر عليك، فاقرأ التفاصيل الكاملة على مدونة Python Insider.
وكما هو الحال أحيانًا في الحياة والبرمجيات، بعد أسبوع واحد فقط، صدر إصدار بايثون 3.13.5 لإصلاح الانحدارات التي أحدثها الإصدار 3.13.4. ومن أبرز هذه الانحدارات فشل بناء ويندوز لامتدادات C، وتأخيرات غير مقصودة عند إثارة استثناءات TypeError في المولدات. إذا كنت تستخدم الإصدار 3.13، فيمكنك الترقية مباشرةً إلى الإصدار 3.13.5.
أبرز ما في المكتبات والأدوات
من علم البيانات إلى تطوير الويب، يواكب نظام Python البيئي تقدم اللغات الأساسية.
شهد الشهر الماضي تحديثًا وتحسينًا في أداء المكتبات الرئيسية، حيث أضافت NumPy وscikit-learn دعمًا لمستقبل Python ذي الخيوط الحرة. كما ناقش فريق pandas تغييرًا افتراضيًا كبيرًا لتسريع إطارات البيانات، وأصدر Django تصحيحًا أمنيًا سريعًا.
وعلى صعيد الأدوات، تستمر موجة من أدوات مطوري Python المدعومة بـ Rust في تسريع كل شيء بدءًا من التدقيق وحتى فحص النوع.
يُحسِّن NumPy 2.3.0 التوافق مع المُفسِّر ذي الخيوط الحرة
صدر الإصدار 2.3.0 من NumPy في 7 يونيو، وهو يواصل جهود المشروع نحو التحديث. إلى جانب تحسينات في تعليقات الأنواع وعجلات Windows on ARM الأولية، فإن أبرز ما يميزه هو تحسين التوافق مع المترجم الحر. إذا كنت تجرب Python بدون GIL، فيمكنك الآن استخدام سير عمل موثوقة قائمة على ndarray.
pandas يستعد لـ PyArrow بشكل افتراضي
كان فريق pandas يناقش ما إذا كان ينبغي للإصدار 3.0 جعل أنواع البيانات المدعومة بـ PyArrow هي الافتراضية. يَعِدُ هذا الاقتراح باستهلاك أقل للذاكرة، وتحسين الأداء، وتوافق أفضل مع أدوات مثل DuckDB وPolars وSpark. ولكنه يثير أيضًا مخاوف بشأن الهجرة.
من المحتمل أن يتوفر خيار التبديل لإلغاء الاشتراك في أنواع بيانات PyArrow الافتراضية قبل التبني الكامل:
import pandas as pd
pd.options.mode.use_arrow = False
مع ذلك، لا يزال النقاش جاريًا، والمسألة مفتوحة حاليًا. إذا كان هذا الموضوع يهمك، فتابعنا للاطلاع على التحديثات في نشرة الشهر القادم.
Django يطبق التصحيح الأمني 5.2.2
حصل مطورو الويب على دفعة قوية الشهر الماضي عندما أصدر فريق Django إصدارات Django 5.2.2 و5.1.10 و4.2.22 لمعالجة CVE-2025-48432، وهو متجه حقن سجل منخفض الخطورة.
إذا كنت تعمل مع أي من الإصدارات المتأثرة، مثل Django 5.2.1، فقم بالمضي قدمًا وقم بالترقية عن طريق تشغيل هذا الأمر:
(venv) $ python -m pip install --upgrade django==5.2.2
من المفيد تطبيق هذا الترقية قبل أن تصبح سجلاتك ساحة لعب لشخصيات التحكم المشاغبة.
scikit-learn 1.7 يدمج دعم وحدة معالجة الرسومات التجريبية
يمكن الآن لممارسي التعلم الآلي الوصول إلى الإصدار 1.7 من scikit-learn. يتيح لك هذا الإصدار استخدام العمل التجريبي الجاري على واجهة برمجة تطبيقات Array دون الحاجة إلى تثبيت وحدة array-api-compat.
لتفعيل دعم Array API، تحتاج إلى تعيين متغير بيئة مخصص:
(venv) $ export SCIPY_ARRAY_API=1
بفضل هذا، يمكن الآن لنماذج scikit-learn الخطية الخاصة بك قبول موتر CuPy أو PyTorch وتشغيلها على وحدة معالجة الرسوميات دون الحاجة إلى شوكة خاصة بـ CUDA.
أدوات المطورين التي تعمل بتقنية Rust تستمر في التسارع
صدر الإصدار 0.12 من Ruff في 12 يونيو، مُضيفًا دعمًا أفضل لإصدارات بايثون المتعددة وتغييرًا طفيفًا في تنسيق سلاسل f. إذا كنتَ من مُحبي التدقيق الإملائي فائق السرعة، فراجع منشور الإصدار الكامل على مدونة Astral.
أثناء زيارتك لموقع Astral الإلكتروني، يمكنك أيضًا الاطلاع على أداة فحص الأنواع الجديدة ty، والتي صدرت مؤخرًا بإصدار 0.0.1-alpha.12. وقد تضمنت الإصدارات التجريبية الأخيرة تحسينات مثل تثبيت الإكمال التلقائي وتحسين دعم فئات البيانات.
هناك أيضًا المزيد من Rust في أدوات جديدة لامعة أخرى! في الشهر الماضي، دخلت Meta في نقاش مع Pyrefly، وهو خليفة Pyre مبني على Rust، مصمم للتحليل التدريجي فائق السرعة عبر مستودعات أحادية.
عند النظر إلى هذه المشاريع معًا، فإنها تشير إلى أن عام 2025 قد يُذكر باعتباره العام الذي توقفت فيه أدوات Python في Rust عن كونها شيئًا جديدًا وأصبحت أمرًا أساسيًا.
أخبار مجتمع بايثون
تُسلَّط الأضواء على مناقشات الصورة الكبرى وإنجازات المجتمع. ومع انطلاق فعاليات الصيف ودعوات تقديم المقترحات، يتزايد جدول مؤتمرات بايثون.
قمة لغة بايثون 2025
تناولت سلسلة من منشورات مدونة مؤسسة برمجيات بايثون (PSF) ملخصًا لقمة لغة بايثون التي عُقدت في 14 مايو قبل مؤتمر PyCon US في بيتسبرغ. كان الموضوع الرئيسي هو التزامن، حيث ناقشت الجلسات حالة بايثون ذات الخيوط الحرة، وواجهات برمجة تطبيقات المترجم الفرعي، وحتى تأملات مبكرة حول الخيوط الافتراضية بنمط جافا.
المؤتمرات والدعوات لتقديم المقترحات
تقويم الأحداث في Python يعمل مرة أخرى:
- أضاء مؤتمر AfroPython Conf 2025 مدينة سلفادور في البرازيل في السابع من يونيو بمسارات تغطي التعليم والتأثير الاجتماعي واختراق الأجهزة.
- أغلقت PyBay 2025 دعوتها لتقديم المقترحات، وسيتم نشر جدول المحادثات الشهر المقبل.
- لا يزال مؤتمر JupyterCon 2025 يقبل مقترحات المحادثات، لذا تأكد من تذكر الموعد النهائي.
إذا لم تتحدث في مؤتمر من قبل، فإن الفعاليات الإقليمية قد تكون مكانًا ترحيبيًا للبدء.
التطلع إلى المستقبل
ستصدر النسخة التجريبية الرابعة من Python 3.14 – وهي النسخة التجريبية النهائية قبل مرحلة الإصدار التجريبي – في 8 يوليو. توقعوا ظهور عدد كبير من العجلات الثنائية بدون GIL بمجرد تثبيت واجهة ABI. سيواصل مشرفو المكتبات السعي لتحقيق التوافق مع الخيوط الحرة، وقد تتوصل مناقشات الحزم حول PyArrow وPandas 3.0 إلى قرار.
حتى ذلك الحين، حافظ على تحديث بيئاتك، وتحديث أدواتك البرمجية، والأهم من ذلك، استمتع بمهارة البرمجة! استمتع باستخدام بايثون!
اكتشاف المزيد من بايثون العربي
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.