۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

PyScript راحت تر از همیشه پایتون را به مرورگر می آورد

پروژه جدیدی از Anaconda، زمان اجرای پایتون را در یک صفحه وب، از طریق یک JS شامل، و با دسترسی به بسیاری از بسته‌های محبوب پایتون ارائه می‌کند.

پروژه جدیدی از Anaconda، زمان اجرای پایتون را در یک صفحه وب، از طریق یک JS شامل، و با دسترسی به بسیاری از بسته‌های محبوب پایتون ارائه می‌کند.

آناکوندا، سازندگان توزیع پایتون برای محاسبات علمی، اعلام کرد در PyCon US 2022 پروژه PyScript – یک روش درون مرورگر و یکپارچه برای اجرای اسکریپت‌های پایتون در صفحات HTML به راحتی خود جاوا اسکریپت.

به طور سنتی، Python می‌توانست با جاوا اسکریپت یا یک صفحه وب تنها با اجرای به‌عنوان یک سرور برنامه که HTML و جاوا اسکریپت را برمی‌گرداند، تعامل داشته باشد. PyScript هیچ جزء سروری ندارد. همه چیز مستقیماً در مرورگر اجرا می شود.

با استفاده از PyScript، اجزای مفید از هر دو دنیای پایتون و جاوا اسکریپت را می توان در کنار یکدیگر مستقر کرد. در یک مثال، نمایش داده‌های تاکسی نیویورک، PyScript از پانداها برای تجزیه و تحلیل داده‌ها استفاده می‌کند، سپس یک تعاملی ایجاد می‌کند. نمای سه بعدی داده ها از طریق WebGL جاوا اسکریپت.

چرا منبع باز در عصر ابر ضروری است

pyscript

نمونه نمایشی PyScript (پردازش بی‌درنگ فعالیت تاکسی نیویورک) که از پانداها برای خرد کردن اعداد و کتابخانه‌های تجسم جاوا اسکریپت برای ارائه نمای تعاملی داده‌ها استفاده می‌کند.

PyScript از یک پورت کامل از زمان اجرا CPython برای WebAssembly برای اجرای کد پایتون درون خطی استفاده می کند. کد پایتون خود را درون تگ‌های قرار می‌دهید و می‌توانید خروجی آن را در یک 

انتخاب شده قرار دهید. یک تگ  یک بلوک REPL را وارد می‌کند که به شما امکان می‌دهد کد را وارد و اجرا کنید، و یک تگ   مانند فایل requires.txt عمل می‌کند. یک مخزن برای فهرست کردن بسته های مورد نیاز.

زمان اجرا PyScript همچنین بسیاری از بسته‌های رایج پایتون مانند کتابخانه‌های علمی همراه با Anaconda—NumPy، Pandas، Scikit-learn و بسیاری دیگر را فعال می‌کند. نمایش‌های نمایشی در مخزن PyScript روش‌های مختلفی را برای انجام این کار نشان می‌دهد.

در حالی که PyScript هنوز در مراحل اولیه است، از قبل این قابلیت را برای پایتون و جاوا اسکریپت فراهم می‌کند تا به عنوان مثال پایتون به DOM ارجاع دهد، یا برای اشیاء جاوا اسکریپت برای آدرس دادن به اشیاء پایتون. PyScript همچنین معادل‌های درون مرورگر را برای بسیاری از رفتارهای مورد نیاز در توزیع Python فعال می‌کند، مانند فهرست کردن الزامات بسته برای یک اسکریپت.

پروژه‌های قبلی در این زمینه، مانند Pyodide (که PyScript از آن به عنوان مبنایی برای کار خود استفاده می‌کند)، فاقد ادغام نرم PyScript بین جاوا اسکریپت و پایتون و دسترسی گسترده آن به بسته‌ها بود. PyScript به هر بسته ای که از طریق PyPI در دسترس است دسترسی دارد، با Pandas و NumPy که معمولاً استفاده می شود در حال حاضر موجود است.

با این حال، بسته‌های شخص ثالث اگر پایتون خالص باشند بهترین کار را دارند. PyScript هنوز مکانیزمی برای ساخت خودکار باینری های پلتفرم برای بسته ها ندارد، اگرچه این از نظر تئوری امکان پذیر است. یکی دیگر از موانع، زمان و پهنای باند مورد نیاز برای دانلود و راه اندازی تمام اجزای مورد نیاز برای یک صفحه وب با قابلیت PyScript است. هسته اجرا پایتون حدود ۳.۴ مگابایت WebAssembly است، اگرچه پس از بارگیری اول ذخیره می شود.

هدف آناکوندا برای PyScript، همانطور که در پست تابلوی پیام انجمن، تبدیل آن به یکی از راه حل های ممکن برای مشکل طولانی مدت بسته بندی و استقرار برنامه های کاربردی پایتون است. گرفتن یک اسکریپت پایتون، به خصوص اسکریپت با وابستگی‌های زیاد، و بسته‌بندی آن برای شخص دیگری که بتواند آن‌طور که هست بدون زمان اجرا پایتون استفاده کند، مدت‌ها مشکل بوده است.