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

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

فلسفه ویرایش

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

محصولات ویرایش

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

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

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

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

 
IPython Notebook رابط

هستهٔ ژوپیتر ویرایش

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

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

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

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

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

استفاده در صنعت ویرایش

دفتر یادداشت ژوپیتر به یک رابط کاربری محبوب برای رایانش ابری تبدیل شده و ارائه دهندگان اصلی این سرویسها مانند 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.