پروژه ژوپیتر

پروژه ژوپیتر یک سازمان غیرانتفاعی است که به منظور «ارائهٔ نرم‌افزارهای متن-باز، استانداردهای باز، و خدماتی برای محاسبات تعاملی میان ده‌ها زبان برنامه‌نویسی» ایجاد شده‌است. پروژهٔ ژوپیتر که در سال ۲۰۱۴ توسط فرناندو پرز از آی‌پایتون اشتقاق یافت، از محیطهای اجرایی در ده‌ها زبان برنامه‌نویسی پشتیبانی می‌کند. نام این پروژه به سه زبان برنامه‌نویسی که مورد پشتیبانی این پروژه هستند، یعنی جولیا، پایتون (زبان برنامه‌نویسی) و آر (زبان برنامه‌نویسی)، و همچنین گالیله نوت بوک (یادداشتهای گالیله) اشاره دارد. پروژه ژوپیتر محصولات کامپیوتری تعاملی دفتر یادداشت ژوپیتر، مرکز ارتباطات ژوپیتر، آزمایشگاه ژوپیتر، و نسل بعدی دفتر یادداشت ژوپیتر را ایجاد کرده و پشتیبانی می‌کند.

Project Jupyter
کوته‌نوشتJupyter
بنیان‌گذاری2015
گونهnonprofit organization
هدفTo support interactive data science and scientific computing across all programming languages.[1]
منطقه
Worldwide
وبگاه

فلسفه

فلسفهٔ عملیاتی پروژه ژوپیتر حمایت از علوم داده ها و محاسبات علمی تعاملی در تمام زبان‌های برنامه‌نویسی از طریق توسعه نرم‌افزار متن-باز می‌باشد. بر اساس وبگاه پروژه «ژوپیتر همواره نرم‌افزاری کاملاً متن-باز و رایگان برای برای استفاده همگانی بوده و تحت شرایط آزاد پروانهٔ بی-اس-دی منتشر می‌گردد».

محصولات

دفتر یادداشت ژوپیتر

دفتر یادداشت ژوپیتر (در گذشته، دفتر یادداشت آی پایتون)، محیطی محاسباتی مبتنی بر تعاملات شبکه ای برای ایجاد مدارک ژوپیتری است. اصطلاح «دفتر یادداشت» به صورت کلامی به موجودیتهای مختلفی (عمدتا متشکل از اپلیکیشنهای شبکه ای ژوپیتر، پایگاه خدمات شبکه ای پایتون ژوپیتر، یا اسناد به فرمت ژوپیتر بسته به محتوا) اشاره دارد. یک دفتر یادداشت ژوپیتر یک مدرک JSON است که با یک فرم ثبت نسخ کامل می‌شود و حاوی یک لیست مرتب از واحدهای ورودی/خروجی است که می‌تواند حاوی کد، متن (با استفاده از مدل‌های نشانه گذاری)، ریاضیات، طرحها و رسانه‌های غنی باشد، و معمولاً با فرمت «ipynb.» پایان می‌یابد.

یک دفتر یادداشت ژوپیتر می‌تواند از طریق dowloand as -> nbconvert library در صفحهٔ اینترنتی یا با اجرای دستور "Jupyter nbconvert" در واسط خط فرمان به یکی از فرمتهای مختلف استاندارد باز (HTML، اسلایدهای قابل ارائه، latex ،PDF، متنهای بازسازی شده، مدل‌های نشانه گذاری شده، و Python) تبدیل شود.

برای ساده کردن تجسم دفتریادداشت ژوپیتری بر روی شبکه، کتابخانهٔ nbconvert به عنوان یک سرویس تحت NbViewer ارائه شده‌است که می‌تواند یک آدرس شبکه ای را به یک دفتریادداشت به فرمت HTML تبدیل کرده و در دسترس عموم قرار دهد.

IPython Notebook رابط

هستهٔ ژوپیتر

یک هستهٔ ژوپیتر برنامه ای است که مسئول مدیریت و پاسخگویی به انواع درخواست (اجرای کد، تکمیل کد، بررسی) می‌باشد. هسته با دیگر اجزای ژوپیتر با استفاده از ZeroMQ بر روی شبکه ارتباط برقرار می‌کند و در نتیجه می‌تواند برروی ماشین استفاده‌کننده یا ماشینی دیگر قرار داشته باشد. بر خلاف بسیاری دیگر از رابطهای دفتریادداشت-مانند، در ژوپیتر، هسته از اینکه به مدرک خاصی متصل است آگاه نیست و می‌تواند با مراجعین متعددی به‌طور همزمان در ارتباط باشد. معمولاً هسته‌ها تحت یک زبان خاص ایجاد شده و توانایی اجرایی در زبانی خاص را دارند، ولی استثناهایی هم در این مورد وجود دارد.

مرکز ارتباطی ژوپیتر (Jupyter Hub)

مرکز ارتباطی ژوپیتر یک سرور چند کاربری برای دفتر یادداشتهای ژوپیتری است و برای پشتیبانی از کاربران متعدد با ایجاد، مدیریت، و پراکسی کردن تعداد زیادی سرور مختلف تحت دفتریادداشت ژوپیتر طراحی می‌شود.

آزمایشگاه ژوپیتر

آزمایشگاه ژوپیتر، نسل بعدی رابط کاربری برای پروژه ژوپیتر است و تمام اجزای معمول تشکیل دهندهٔ دفتریادداشت ژوپیتری کلاسیک (مثل دفتریادداشت، ترمینال، ویرایشگر متن، مرورگر فایل، خروجیهای غنی، و غیره) را تحت یک رابط کاربری انعطاف‌پذیر و قوی ارایه می‌کند. . اولین نسخه پایدار آن در روز ۲۰ فوریه ۲۰۱۸ آزاد شد.[2]

استفاده در صنعت

دفتریادداشت ژوپیتر به یک رابط کاربری محبوب برای رایانش ابری تبدیل شده و ارائه دهندگان اصلی این سرویسها مانند Amazon's SageMaker Notebooks, Google's Colaboratory, Microsoft's Azur Notebook از دفتر یادداشت ژوپیتر یا ابزار منشقق از آن به عنوان رابط نهایی برای ارتباط با کاربران رایانش ابری استفاده می‌کنند.

منابع

  1. "Project Jupyter - About Us". 2018-04-20. Retrieved 2018-05-03.
  2. "JupyterLab is Ready for Users – Jupyter Blog". Jupyter Blog. 2018-02-20. Retrieved 2018-05-04.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.