سایت Marimo چیست؟ آموزش کامل Marimo.io
سایت Marimo چیست و چرا بین ابزارهای برنامهنویسی پایتون مورد توجه قرار گرفته است؟ Marimo یک نوتبوک تعاملی و متنباز برای زبان برنامهنویسی پایتون است که به کاربران کمک میکند کد بنویسند، دادهها را تحلیل کنند، نمودار بسازند و حتی ابزارهای تحت وب تعاملی توسعه دهند. تفاوت مهم آن با بسیاری از محیطهای مشابه این است که تغییرات کد و دادهها را بهصورت واکنشی مدیریت میکند و فایلهای نوتبوک آن به شکل فایلهای معمولی پایتون ذخیره میشوند. در این راهنمای مغز افزار، با سایت Marimo، قابلیتهای آن و روش استفاده از این ابزار از صفر تا صد آشنا میشوید.
سایت Marimo چیست و چه کاری انجام میدهد؟
Marimo یک محیط برنامهنویسی و نوتبوک محاسباتی برای پایتون است که برای آزمایش ایدهها، تحلیل داده، آموزش برنامهنویسی و ساخت ابزارهای تعاملی طراحی شده است.
تصور کنید میخواهید اطلاعات فروش یک فروشگاه را بررسی کنید. در یک محیط ساده پایتون، ممکن است لازم باشد کدهای مختلفی بنویسید، آنها را به ترتیب اجرا کنید و برای مشاهده نتیجه هر تغییر، بعضی قسمتها را دوباره اجرا کنید. Marimo این فرایند را با مدل اجرای واکنشی سادهتر میکند؛ یعنی وقتی مقدار یک متغیر تغییر میکند، بخشهایی از برنامه که به آن وابستهاند میتوانند بهصورت خودکار دوباره اجرا شوند.
از طرف دیگر، Marimo فقط برای اجرای چند خط کد نیست. نوتبوکهای آن را میتوان به اسکریپت پایتون تبدیل کرد، در قالب برنامههای تعاملی ارائه داد و با ابزارهای توسعه نرمافزار مدیریت کرد.
برای شروع، وارد وبسایت رسمی آن شوید:
اگر میخواهید بدون نصب اولیه، نوتبوک آنلاین بسازید، سرویس ابری آن با نام molab را نیز بررسی کنید. در دسترس بودن قابلیتها و منابع محاسباتی ممکن است به شرایط فعلی سرویس وابسته باشد.
شروع کار با Marimo و نوتبوکهای آنلاین
مهمترین قابلیتهای Marimo چیست؟
یکی از دلایل جذابیت این ابزار، ترکیب محیط کدنویسی، تحلیل داده و ساخت رابطهای تعاملی در یک محیط است. در ادامه مهمترین کاربردهای آن را میبینید.
۱. اجرای کد پایتون در محیط نوتبوک
با Marimo میتوانید کدهای پایتون را در سلولهای جداگانه بنویسید و خروجی هر قسمت را مشاهده کنید. این قابلیت برای یادگیری پایتون، آزمایش الگوریتمها و بررسی ایدههای جدید کاربرد دارد.
برای مثال، میتوانید یک متغیر تعریف کنید، عملیات ریاضی انجام دهید و نتیجه را در همان محیط ببینید؛ بدون اینکه برای هر آزمایش مجبور باشید یک پروژه نرمافزاری کامل بسازید.
۲. اجرای واکنشی کدها
در نوتبوکهای Marimo، وابستگی میان سلولها اهمیت زیادی دارد. اگر یک سلول مقداری تولید کند و سلول دیگری از آن استفاده کند، با تغییر مقدار اولیه، Marimo سلولهای وابسته را نیز بهروزرسانی میکند.
برای مثال، فرض کنید در یک سلول قیمت کالا و در سلول دیگر مالیات را محاسبه میکنید. با تغییر قیمت، نتیجه محاسبه مالیات و مبلغ نهایی نیز بهروزرسانی میشود.
این روش کمک میکند نتیجه کد با وضعیت فعلی متغیرها هماهنگ بماند و احتمال بروز خطاهای ناشی از اجرای نامنظم سلولها کاهش پیدا کند.
۳. تحلیل داده و کار با فایلهای CSV
اگر با فایلهای اکسل یا CSV سروکار دارید، Marimo میتواند محیطی برای تحلیل دادههای شما باشد. با استفاده از کتابخانههایی مانند Pandas یا Polars میتوانید دادهها را بخوانید، مرتب کنید، فیلتر بزنید و آمارهای مختلف را محاسبه کنید.
همچنین Marimo قابلیتهای تعاملی برای مشاهده و بررسی دادهها دارد و از پرسوجوهای SQL نیز پشتیبانی میکند. این امکانات برای دانشجویان، تحلیلگران داده و برنامهنویسان کاربردی هستند.
۴. ساخت نمودار و نمایش بصری اطلاعات
برای فهم بهتر دادهها، گاهی یک نمودار از چندین ردیف عدد گویاتر است. در Marimo میتوانید با کمک کتابخانههایی مانند Matplotlib نمودار خطی، میلهای و دیگر نمودارهای آماری بسازید.
بهعنوان مثال، اگر فروش یک فروشگاه در چند ماه مشخص باشد، میتوانید روند رشد یا افت فروش را با یک نمودار خطی نمایش دهید و تغییرات را راحتتر بررسی کنید.
۵. ساخت ابزارهای تعاملی
Marimo از عناصر رابط کاربری مانند اسلایدر، منوهای انتخابی و جدولهای تعاملی پشتیبانی میکند. این عناصر میتوانند مستقیماً به کد پایتون متصل شوند.
فرض کنید میخواهید یک ماشینحساب ساده برای محاسبه قیمت نهایی کالا بسازید. کاربر قیمت و درصد تخفیف را تغییر میدهد و نتیجه بدون نیاز به اجرای دستی تمام مراحل، بهروزرسانی میشود.
۶. تبدیل نوتبوک به برنامه تحت وب
یکی از کاربردهای مهم Marimo این است که یک نوتبوک میتواند به یک برنامه تعاملی تبدیل شود. به این ترتیب، میتوانید ابزاری بسازید که کاربران از طریق رابط آن با دادهها کار کنند، بدون اینکه لزوماً لازم باشد کدهای اصلی را ویرایش کنند.
این ویژگی برای ارائه ماشینحسابها، ابزارهای تحلیل داده، نمونههای آموزشی و داشبوردهای کوچک مفید است.
۷. استفاده از SQL در کنار پایتون
Marimo از اجرای پرسوجوهای SQL در کنار کدهای پایتون پشتیبانی میکند. این قابلیت میتواند برای بررسی دادههای جدولی، فیلتر کردن اطلاعات و انجام تحلیلهای ترکیبی مفید باشد.
برای نمونه، میتوانید دادهها را از یک منبع پشتیبانیشده بخوانید، با SQL بخشی از اطلاعات را انتخاب کنید و سپس با پایتون نمودار یا گزارش بسازید. روش اتصال به پایگاه داده و امکانات قابل استفاده به پیکربندی و کتابخانههای موردنیاز بستگی دارد.
۸. استفاده از قابلیتهای مرتبط با هوش مصنوعی
Marimo قابلیتهایی برای کمک به برنامهنویسی با هوش مصنوعی دارد؛ از جمله تکمیل کد، دستیارهای کدنویسی و اتصال به برخی عاملهای هوش مصنوعی. امکانات دقیق به نسخه ابزار، تنظیمات و سرویسهای متصلشده بستگی دارند.
بنابراین Marimo را نباید صرفاً یک چتبات هوش مصنوعی دانست. هسته اصلی آن یک محیط برنامهنویسی پایتون است که میتواند با ابزارهای هوش مصنوعی ترکیب شود.
آموزش کار با Marimo از صفر تا صد
حالا که با قابلیتهای این ابزار آشنا شدید، بهتر است یک مسیر عملی برای شروع کار داشته باشیم.
مرحله اول: ورود به سایت Marimo
ابتدا به نشانی marimo.io بروید و بخش شروع کار یا مستندات را بررسی کنید.
اگر میخواهید بدون نصب محلی کار را آغاز کنید، گزینههای نوتبوک ابری و molab را بررسی کنید. اگر قصد دارید پروژهها را روی رایانه خود اجرا کنید، میتوانید نسخه متنباز Marimo را نصب کنید.
توجه داشته باشید که سایت معرفی محصول، محیط ویرایش محلی و سرویس نوتبوک ابری لزوماً یکسان نیستند. انتخاب روش مناسب به این بستگی دارد که بخواهید فقط یک مثال را امتحان کنید یا پروژهای جدیتر بسازید.
مرحله دوم: نصب Marimo روی رایانه
اگر پایتون را روی رایانه خود دارید، میتوانید Marimo را با ابزار مدیریت بسته پایتون نصب کنید. برای نمونه، در ترمینال دستور زیر را اجرا کنید:
pip install marimoپس از نصب، برای باز کردن محیط ویرایش میتوانید از دستور زیر استفاده کنید:
marimo editبرای ایجاد یا ویرایش یک فایل مشخص نیز میتوانید نام فایل را وارد کنید:
marimo edit my_notebook.pyاین دستور یک محیط ویرایش در مرورگر باز میکند. اجرای محلی به نصب پایتون و فراهم بودن محیط مناسب روی دستگاه نیاز دارد.

مرحله سوم: ساخت اولین نوتبوک
پس از باز کردن محیط ویرایش، یک نوتبوک جدید ایجاد کنید. کدهای خود را در سلولهای جداگانه قرار دهید و اجرا کنید.
برای شروع، میتوانید یک محاسبه ساده بنویسید:
price = 500000
discount = 20
final_price = price * (1 - discount / 100)
final_priceدر این مثال، قیمت اولیه ۵۰۰ هزار تومان و درصد تخفیف ۲۰ درصد است. نتیجه محاسبه برابر با ۴۰۰ هزار تومان خواهد بود.
در Marimo میتوانید همین ایده را گسترش دهید و مقادیر قیمت و تخفیف را به عناصر تعاملی متصل کنید.
مثال عملی اول: ساخت ماشینحساب تخفیف با Marimo
حالا یک نمونه کاربردیتر بسازیم. فرض کنید صاحب فروشگاه هستید و میخواهید با تغییر قیمت کالا و درصد تخفیف، مبلغ نهایی را محاسبه کنید.
در یک نوتبوک Marimo، ابتدا یک سلول برای وارد کردن کتابخانه اصلی ایجاد کنید:
import marimo as moدر سلول بعدی، یک اسلایدر برای تعیین درصد تخفیف بسازید:
discount = mo.ui.slider(
start=0,
stop=90,
value=20,
label="درصد تخفیف"
)
discountحالا در یک سلول دیگر، قیمت کالا را مشخص کنید و مبلغ نهایی را محاسبه کنید:
price = 500000
final_price = price * (1 - discount.value / 100)
mo.md(
f"قیمت اولیه: {price:,.0f} تومان\n\n"
f"درصد تخفیف: {discount.value}%\n\n"
f"قیمت نهایی: {final_price:,.0f} تومان"
)در یک نوتبوک واقعی Marimo، این کدها را در سلولهای جداگانه قرار دهید. چون محاسبه نهایی به مقدار discount.value وابسته است، با تغییر اسلایدر، سلول وابسته نیز دوباره اجرا میشود.
این مثال نشان میدهد Marimo چطور میتواند یک محاسبه ساده را به ابزاری تعاملی تبدیل کند. البته برای استفاده تجاری، بهتر است اعتبارسنجی ورودیها، واحد پول و قواعد تخفیف فروشگاه را نیز در نظر بگیرید.
مثال عملی دوم: تحلیل دادههای فروش با پایتون
فرض کنید اطلاعات فروش سه ماه یک فروشگاه را در اختیار دارید و میخواهید مجموع فروش و بهترین ماه را پیدا کنید.
ابتدا دادههای نمونه را در یک سلول تعریف کنید:
import pandas as pd
sales = pd.DataFrame({
"ماه": ["فروردین", "اردیبهشت", "خرداد"],
"فروش": [12000000, 18500000, 16000000]
})
salesدر سلول بعدی، مجموع فروش و ماهی را که بیشترین فروش را داشته است محاسبه کنید:
total_sales = sales["فروش"].sum()
best_month = sales.loc[
sales["فروش"].idxmax(),
"ماه"
]
print(f"مجموع فروش: {total_sales:,} تومان")
print(f"بهترین ماه: {best_month}")در این مثال، مجموع فروش برابر با ۴۶ میلیون و ۵۰۰ هزار تومان است و اردیبهشت بیشترین فروش را دارد.
این روش برای تمرین تحلیل داده مناسب است. در پروژههای واقعی میتوانید دادهها را از فایل CSV بخوانید، اطلاعات ناقص را بررسی کنید و گزارشهای دقیقتری بسازید.
مثال عملی سوم: ساخت نمودار فروش
برای اینکه تغییرات فروش بهتر دیده شود، میتوانید یک نمودار خطی بسازید. در صورت نصب نبودن کتابخانه Matplotlib، ابتدا آن را در محیط پایتون خود نصب کنید.
import matplotlib.pyplot as plt
plt.plot(
sales["ماه"],
sales["فروش"],
marker="o"
)
plt.title("Monthly Sales")
plt.xlabel("Month")
plt.ylabel("Sales")
plt.grid(True)
plt.show()این نمودار فروش سه ماه را بهصورت بصری نمایش میدهد. اگر دادههای جدول را تغییر دهید و سلول نمودار به آن دادهها وابسته باشد، Marimo میتواند نمودار را نیز بهروزرسانی کند.
برای استفاده از متن فارسی در نمودار، ممکن است لازم باشد فونت فارسی مناسب و تنظیمات نمایش راستبهچپ را جداگانه پیکربندی کنید.
چطور نوتبوک Marimo را به برنامه تحت وب تبدیل کنیم؟
یکی از قابلیتهای جذاب Marimo، اجرای نوتبوک به شکل یک برنامه تعاملی است.
اگر فایل شما با نام my_notebook.py ذخیره شده باشد، در محیط محلی میتوانید از دستور زیر استفاده کنید:
marimo run my_notebook.pyدر حالت معمول، این دستور برنامه را به شکلی اجرا میکند که کاربران بتوانند خروجیها و عناصر تعاملی را مشاهده کنند، بدون اینکه کد منبع بهصورت قابل ویرایش در رابط نمایش داده شود.
برای انتشار عمومی برنامه روی اینترنت، باید موضوع میزبانی، امنیت، دسترسی کاربران و پیکربندی محیط اجرا را هم در نظر بگیرید. اجرای محلی بهتنهایی به معنی انتشار عمومی سایت نیست.
آیا Marimo رایگان است؟
هسته اصلی Marimo یک پروژه متنباز است و میتوانید آن را روی رایانه خود نصب کنید. مستندات و کد منبع نیز بهصورت عمومی در دسترس هستند.
بااینحال، سرویسهای ابری، منابع محاسباتی و امکانات میزبانی ممکن است شرایط یا محدودیتهای جداگانهای داشته باشند. بنابراین رایگان بودن نرمافزار متنباز را نباید به معنی رایگان بودن نامحدود تمام خدمات ابری در نظر گرفت.
برای بررسی شرایط فعلی، از وبسایت رسمی و مستندات استفاده کنید:
تفاوت Marimo با Google Colab و Jupyter چیست؟
Marimo، Google Colab و Jupyter همگی برای کار با کد و داده کاربرد دارند، اما در شیوه اجرا و امکانات تفاوتهایی دارند.
| ویژگی | Marimo | Jupyter | Google Colab |
|---|---|---|---|
| کاربرد اصلی | نوتبوک واکنشی پایتون | محیط نوتبوک محاسباتی | نوتبوک ابری پایتون |
| اجرای وابسته به تغییرات | اجرای واکنشی سلولهای وابسته | معمولاً اجرای دستی سلولها | معمولاً اجرای دستی سلولها |
| قالب اصلی فایل نوتبوک | فایل پایتون .py | معمولاً فایل .ipynb | معمولاً فایل .ipynb |
| عناصر تعاملی | پشتیبانی داخلی | با ابزارها و افزونهها | با ابزارها و کتابخانهها |
| اجرای محلی | بله | بله | تمرکز اصلی بر محیط ابری |
| تبدیل نوتبوک به برنامه | پشتیبانی داخلی | معمولاً نیازمند ابزارهای مکمل | بهتنهایی هدف اصلی آن نیست |
این مقایسه کلی است؛ قابلیتهای هر ابزار به نسخه، کتابخانههای نصبشده و شیوه استفاده بستگی دارد. برای نمونه، Jupyter هم با افزونهها و ابزارهای مختلف قابلیتهای تعاملی فراوانی دارد.
اگر میخواهید نوتبوکهای پایتون را به فایلهای معمولی پایتون نزدیک کنید، از اجرای واکنشی استفاده کنید و بتوانید نوتبوک را به برنامه تبدیل کنید، Marimo گزینهای جدی برای بررسی است. اگر هدف اصلی شما استفاده از محیط ابری آماده برای آموزش یا اجرای سریع کد باشد، Google Colab نیز میتواند انتخاب مناسبی باشد.
مزایا و محدودیتهای Marimo
مزایا
- متنباز بودن هسته اصلی ابزار
- اجرای واکنشی و بهروزرسانی سلولهای وابسته
- ذخیره نوتبوکها در قالب فایلهای پایتون
- پشتیبانی از عناصر تعاملی
- امکان کار با دادهها و SQL
- قابلیت اجرای نوتبوک بهصورت اسکریپت یا برنامه
- امکان استفاده از ابزارهای توسعه و دستیارهای هوش مصنوعی
محدودیتها
- برای استفاده حرفهای، آشنایی با پایتون ضروری است.
- بعضی قابلیتها به نصب کتابخانههای اضافی نیاز دارند.
- برای اجرای محلی باید محیط پایتون را آماده کنید.
- انتشار عمومی یک برنامه نیازمند توجه به میزبانی و امنیت است.
- سرویسهای ابری ممکن است محدودیتهای مستقل داشته باشند.
- مهاجرت از نوتبوکهای قدیمی ممکن است به بررسی و اصلاح کد نیاز داشته باشد.
Marimo برای چه کسانی مناسب است؟
دانشجویان و افرادی که پایتون یاد میگیرند: برای آزمایش کد، مشاهده خروجی و ساخت تمرینهای تعاملی.
تحلیلگران داده: برای پاکسازی اطلاعات، کار با جدولها، محاسبات آماری و رسم نمودار.
برنامهنویسان: برای نمونهسازی ایدهها، آزمایش الگوریتمها و مدیریت بهتر کدهای تحلیلی.
مدرسان: برای ترکیب توضیحات آموزشی، کد و خروجی در یک محیط قابل اجرا.
توسعهدهندگان ابزارهای کوچک: برای ساخت ماشینحسابها، داشبوردها و نمونههای تعاملی با پایتون.
اگر هیچ تجربهای از پایتون ندارید، همچنان میتوانید با مثالهای ساده شروع کنید؛ اما برای استفاده کامل از قابلیتهای Marimo بهتر است مفاهیم پایهای مانند متغیرها، شرطها، حلقهها و توابع پایتون را یاد بگیرید.
پرسشهای متداول درباره سایت Marimo
آیا برای استفاده از Marimo باید پایتون بلد باشیم؟
برای استفاده حرفهای، بله. این ابزار محیطی برای برنامهنویسی پایتون است. افراد مبتدی میتوانند از مثالهای آماده شروع کنند و بهتدریج مفاهیم پایه را یاد بگیرند.
آیا میتوان بدون نصب برنامه از Marimo استفاده کرد؟
بسته به روش دسترسی و سرویس ابری در دسترس، امکان شروع کار از طریق نوتبوک آنلاین وجود دارد. برای اجرای محلی، باید Marimo و وابستگیهای موردنیاز را نصب کنید.
آیا Marimo جایگزین Google Colab است؟
برای برخی کارها، بله. هر دو برای اجرای کد و کار با داده استفاده میشوند، اما تجربه کاربری و قابلیتهایشان متفاوت است. انتخاب مناسب به نیاز شما، منابع محاسباتی و شیوه کارتان بستگی دارد.
آیا Marimo برای تحلیل داده مناسب است؟
بله. میتوانید از کتابخانههایی مانند Pandas و Matplotlib در کنار قابلیتهای داخلی آن برای تحلیل داده و رسم نمودار استفاده کنید.
آیا میتوان با Marimo سایت یا ابزار آنلاین ساخت؟
میتوانید نوتبوکهای خود را به برنامههای تعاملی تبدیل کنید. برای انتشار عمومی و دسترسی کاربران از طریق اینترنت، باید محیط میزبانی و تنظیمات استقرار را نیز آماده کنید.
آیا Marimo از هوش مصنوعی پشتیبانی میکند؟
Marimo امکانات و روشهایی برای کار با دستیارهای کدنویسی و عاملهای هوش مصنوعی دارد. دسترسی و روش راهاندازی این قابلیتها به نسخه، تنظیمات و سرویس انتخابی بستگی دارد.
جمعبندی؛ آیا Marimo ارزش امتحان کردن دارد؟
اگر به برنامهنویسی پایتون، تحلیل داده و ساخت ابزارهای تعاملی علاقه دارید، Marimo میتواند یکی از گزینههای ارزشمند شما باشد. اجرای واکنشی، ذخیره نوتبوکها در قالب فایل پایتون، پشتیبانی از عناصر رابط کاربری و امکان اجرای نوتبوک به شکل برنامه، آن را از یک محیط ساده برای آزمایش کد فراتر میبرد.
برای شروع لازم نیست یک پروژه پیچیده انتخاب کنید. ابتدا ماشینحساب تخفیف را بسازید، سپس یک فایل داده را تحلیل کنید و در نهایت یک نمودار یا ابزار تعاملی طراحی کنید. این مسیر به شما کمک میکند کاربردهای واقعی Marimo را بهتر بشناسید.
برای آشنایی با ابزارهای برنامهنویسی، هوش مصنوعی و فناوریهای کاربردی بیشتر، مطالب آموزشی پلتفرم مغز افزار را دنبال کنید.
منابع رسمی برای مطالعه بیشتر
- وبسایت رسمی: https://marimo.io/
- مستندات و راهنمای شروع: https://docs.marimo.io/
- راهنمای مفاهیم اصلی: https://docs.marimo.io/getting_started/key_concepts/
- پرسشهای متداول: https://docs.marimo.io/faq/
- کد منبع پروژه: https://github.com/marimo-team/marimo


