منصوبے کے بارے میں

marimo پائتھون کے لیے ایک ری ایکٹو پروگرامنگ ماحول ہے جسے روایتی نوٹ بکس کو ایک قابلِتجدید اور یقینی ورک فلو سے تبدیل کرنے کے لیے ڈیزائن کیا گیا ہے۔ معیاری نوٹ بکس کے برعکس، marimo کسی متغیر (variable) کی تبدیلی پر خود بخود انحصار کرنے والے سیلز کو چلاتا ہے، جس سے پوشیدہ حالت (hidden state) اور دستی دوبارہ ایگزیکیوشن کی غلطیاں ختم ہو جاتی ہیں۔ اہم صلاحیتوں میں شامل ہیں: - **ری ایکٹیویٹی اور انٹرایکٹیویٹی**: انحصار کرنے والے سیلز کی خودکار ایگزیکیوشن اور بلٹ ان UI عناصر (سلائیڈرز، ڈراپ ڈاؤنز، چیٹ انٹرفیس) جو کال بیکس کی ضرورت کے بغیر براہ راست Python متغیرات سے جڑتے ہیں۔ - **ڈیٹا انٹیگریشن**: ڈیٹا فریمز، ڈیٹا بیسز، اور لیک ہاؤسز سے ڈیٹا کی پوچھی (querying) کے لیے فرسٹ کلاس SQL سپورٹ، اور تیز فلٹرنگ اور سرچنگ کے لیے ایک انٹرایکٹو ڈیٹا فریم ویور۔ - **ڈویلپمنٹ ورک فلو**: نوٹ بکس کو `.py` فائلوں کے طور پر محفوظ کیا جاتا ہے، جس سے وہ git کے ساتھ ہم آہنگ ہو جاتی ہیں اور انہیں معیاری Python اسکرپٹس کے طور پر چلایا جا سکتا ہے یا انٹرایکٹو ویب ایپس اور سلائیڈز کے طور پر تعینات کیا جا سکتا ہے۔ - **AI انٹیگریشن**: بلٹ ان AI مکمل کرنے والی خصوصیات اور AI ایجنٹس (مثلاً Claude Code) کے ساتھ ہم آہنگی تاکہ ڈیٹا سے آگاہ کوڈ جنریشن ممکن ہو سکے۔ - **ٹولنگ اور ایکو سسٹم**: اس میں بلٹ ان پیکیج مینجمنٹ، pytest کی سپورٹ، اور VS Code اور PyCharm کے لیے ایکسٹینشنز شامل ہیں۔ یہ موجودہ Jupyter نوٹ بکس (.ipynb) کو marimo نوٹ بکس میں تبدیل بھی کر سکتا ہے۔