نسخه اصلی جدید کامپایلر Python-to-C که مدت ها در حال توسعه است، پشتیبانی قدیمی پایتون را کنار می گذارد و توسعه دهندگان Cython را برای تغییرات بزرگ در پایتون آماده می کند.
توسعه دهندگان پشت Cython، کتابخانه Python برای کامپایل کد پایتون در C، سرانجام Cython 3.0 پس از سالها توسعه و اصلاح.
هدف اصلی در پشت Cython این است که نوشتن پسوندهای C برای پایتون را آسانتر کند، چه برای سرعت و چه برای ایجاد رابطهای مناسب برای کتابخانههای C. Cython 3 از بسیاری جهات Cython را تمیز و مدرن می کند. این پشتیبانی از Python 2 که مدتها منسوخ شده بود را حذف میکند، پشتیبانی از ویژگیهای جدیدتر Python (تا Python 3.12) را اضافه میکند، و استفاده از “حالت Python خالص” را گسترش میدهد.
حالت Pure Python به توسعه دهندگان Python اجازه می دهد تا از ابزارهای موجود در Python linting و تجزیه و تحلیل کد در Cython استفاده کنند. از لحاظ تاریخی، Cython از نحو خاص خود استفاده می کرد، ترکیبی از نحو پایتون و نحو اعلان نوع C، که عیب یابی Cython را با ابزار Python سخت می کرد. با گذشت زمان، Cython شروع به ارائه یک نحو جایگزین کرد که کاملاً با نحو مرسوم پایتون سازگار بود، به نام حالت Python خالص. اکثریت قریب به اتفاق توابع Cython اکنون در حالت Python خالص قرار دارند، از جمله توابعی برای فراخوانی کتابخانه های خارجی C.
یکی دیگر از زمینه های اصلی بهبود پشتیبانی NumPy است. Cython مدتهاست که به خوبی با NumPy بازی میکند، به شما امکان میدهد توابع Cython را بنویسید که مستقیماً و بهطور بومی به توابع و ساختارهای داده NumPy متصل میشوند. Cython 3 (در میان چیزهای دیگر) توانایی نوشتن NumPy ufuncs را به طور مستقیم در Cython اضافه می کند، به طوری که یک تابع عددی ساده نوشته شده در Cython را می توان به سرعت و به راحتی در کل محتوای یک ساختار داده NumPy اعمال کرد.
داخلیهای Cython نیز برای تکمیل بهتر تغییرات در حال انجام داخلی Python بازسازی شدهاند. برای مثال، «API محدود» جدید برای پایتون، یک زیرمجموعه پایدار تضمین شده از APIهای پایتون را نشان میدهد، مخصوصاً برای نوع کاری که Cython اغلب برای اتصال به مفسر پایتون انجام میدهد. Cython 3 دارای پشتیبانی اولیه اما رو به رشد برای API محدود است. در دراز مدت، این بدان معناست که ماژولهای افزونه Cython که برای یک نسخه از Python ساخته شدهاند، بدون نیاز به کامپایل مجدد، در نسخههای بعدی پایتون کار خواهند کرد.
اولین نسخه Cython 3 در کنار Python 3.8 سه سال پیش ظاهر شد. هیچ تاریخ قطعی یا هدف نسخه ای برای نهایی شدن Cython 3 تعیین نشده است. اما تیم توسعه Cython استفاده گسترده از نسخههای آلفا و بتا Cython 3 را تشویق کردند، و این پروژه با ویژگیهای جدید و تغییرات داخلی در هر نسخه از Python در طول مسیر همگام شده است.
پست های مرتبط
Cython 3.0: نسل بعدی پایتون با سرعت C
Cython 3.0: نسل بعدی پایتون با سرعت C
Cython 3.0: نسل بعدی پایتون با سرعت C