Hub documentation
Spaces'te marimo
Spaces'te marimo
marimo, Python için not defterlerini veri akışı grafikleri olarak modelleyen reaktif bir not defteridir. Bir hücreyi çalıştırdığınızda veya bir kullanıcı arayüzü öğesiyle etkileşime girdiğinizde, marimo etkilenen hücreleri otomatik olarak çalıştırır (veya bunları bayat olarak işaretler); böylece kod ve çıktıların tutarlı kalmasını sağlar ve hatalar oluşmadan önce önüne geçer. Her marimo not defteri saf Python olarak saklanır, bir betik olarak çalıştırılabilir ve bir uygulama olarak dağıtılabilir.
Öne çıkan özellikler:
- ⚡️ reaktif: bir hücreyi çalıştırın, marimo bağımlı tüm hücreleri reaktif olarak çalıştırır veya bunları eski olarak işaretler
- 🖐️ etkileşimli: kaydırıcıları, tabloları, grafikleri ve daha fazlasını Python'a bağlayın — geri çağrılar (callback) gerekmez
- 🔬 tekrarlanabilir: gizli durum yok, deterministik çalışma, yerleşik paket yönetimi
- 🏃 çalıştırılabilir: CLI argümanlarıyla parametrelenmiş bir Python betiği olarak çalıştır
- 🛜 paylaşılabilir: etkileşimli bir web uygulaması veya slaytlar olarak dağıtın, tarayıcıda WASM aracılığıyla çalıştırın
- 🛢️ veri için tasarlandı: SQL ile veri çerçevelerini ve veritabanlarını sorgula, veri çerçevelerini filtrele ve ara
Spaces üzerinde marimo uygulamalarını dağıtma
Spaces'te marimo ile başlamak için aşağıdaki düğmeye tıklayın:
Bu işlem, Space'inizi marimo'nun Docker şablonunu kullanarak derlemeye başlayacaktır. Başarılı olursa, marimo tanıtım defterine benzer bir uygulama görmelisiniz.
marimo uygulamanızı özelleştirme
Bir marimo Space oluşturduğunuzda, başlamanıza yardımcı olacak birkaç ana dosya alırsınız:
1. app.py
Bu, uygulamanızın mantığını tanımlayan ana marimo defter dosyanızdır. marimo defterleri, hücreleri tanımlamak için @app.cell dekoratörünü kullanan saf Python dosyalarıdır. Defter ve uygulama oluşturma hakkında daha fazla bilgi için marimo dokümantasyonuna bakın. Uygulamanız büyüdükçe, kodunuzu modüllere ayırabilir ve bunları ana defterinize içe aktarabilirsiniz.
2. Dockerfile
Bir marimo uygulaması için Dockerfile, marimo'nun az sayıda sistem bağımlılığı nedeniyle minimaldir. Temel gereksinimler şunlardır:
requirements.txtiçinde listelenen bağımlılıkları (uvkullanarak) yükler- Güvenlik için kök olmayan bir kullanıcı oluşturur
marimo run app.pykomutuyla uygulamayı çalıştırır
Uygulamanız ek sistem bağımlılıkları, izinler veya diğer CLI bayrakları gerektiriyorsa bu dosyayı değiştirmeniz gerekebilir.
3. requirements.txt
Space, requirements.txt dosyasında listelenen bağımlılıkları otomatik olarak yükler. Bu dosyada en azından marimo bulunmalıdır. Uygulamanızın gerektirdiği diğer tüm paketleri de eklemeniz gerekir.
marimo Space şablonu, ihtiyaçlarınıza göre genişletebileceğiniz temel bir kurulum sağlar. Dağıtıldığında, defteriniz kod hücrelerini gizleyen ve yalnızca etkileşimli çıktıları gösteren “app mode”da çalışır; bu da son kullanıcılarla paylaşmak için idealdir. Dockerfile’daki marimo run komutuna --include-code ekleyerek uygulamanızda kod hücrelerini dahil etmeyi tercih edebilirsiniz.
Ek Kaynaklar ve Destek
Sorun Giderme
Sorunlarla karşılaşırsanız:
- Not defterinizin
marimo run app.pykullanarak yerel olarak uygulama modunda çalıştığından emin olun - Gerekli tüm paketlerin
requirements.txtiçinde listelendiğinden emin olun - Port yapılandırmasının eşleştiğini doğrulayın (7860, Spaces için varsayılandır)
- Space günlüklerinde herhangi bir Python hatası olup olmadığını kontrol edin
Daha fazla yardım için marimo Discord'una katılabilir veya bir sorun açabilirsiniz.
Update on GitHub