Hub documentation

Spaces'te marimo

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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.txt içinde listelenen bağımlılıkları ( uv kullanarak) yükler
  • Güvenlik için kök olmayan bir kullanıcı oluşturur
  • marimo run app.py komutuyla 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:

  1. Not defterinizin marimo run app.py kullanarak yerel olarak uygulama modunda çalıştığından emin olun
  2. Gerekli tüm paketlerin requirements.txt içinde listelendiğinden emin olun
  3. Port yapılandırmasının eşleştiğini doğrulayın (7860, Spaces için varsayılandır)
  4. 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