پروژه ژوپیتر

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

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

محصولات

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

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

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

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

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

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

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

منابع 

سازمان‌های بنیان‌گذاری‌شده در ۲۰۱۵ (میلادی)
سازمان‌های مرتبط با نرم‌افزارهای آزاد و متن‌باز