Hub documentation
marimo trên Spaces
marimo trên Spaces
marimo là một notebook phản ứng cho Python, mô hình hóa các notebook dưới dạng đồ thị luồng dữ liệu. Khi bạn chạy một cell hoặc tương tác với một phần tử giao diện, marimo sẽ tự động chạy các cell bị ảnh hưởng (hoặc đánh dấu chúng là cũ), giúp giữ cho mã và kết quả luôn nhất quán, ngăn ngừa lỗi trước khi chúng xảy ra. Mọi notebook marimo đều được lưu dưới dạng Python thuần, có thể chạy như một script và triển khai như một ứng dụng.
Các tính năng chính:
- ⚡️ reactive: chạy một cell, và marimo sẽ chạy lại tất cả các cell phụ thuộc một cách phản ứng hoặc đánh dấu chúng là cũ
- 🖐️ tương tác: liên kết thanh trượt, bảng, biểu đồ và nhiều hơn nữa với Python — không cần callback
- 🔬 khả tái lập: không có trạng thái ẩn, thực thi tất định, quản lý gói tích hợp sẵn
- 🏃 executable: thực thi như một script Python, được tham số hóa bằng các đối số CLI
- 🛜 shareable: triển khai dưới dạng ứng dụng web tương tác hoặc slide, chạy trong trình duyệt qua WASM
- 🛢️ được thiết kế cho dữ liệu: truy vấn dataframe và cơ sở dữ liệu bằng SQL, lọc và tìm kiếm trong dataframe
Triển khai ứng dụng marimo trên Spaces
Để bắt đầu với marimo trên Spaces, hãy nhấp vào nút bên dưới:
Điều này sẽ bắt đầu xây dựng Space của bạn bằng cách sử dụng mẫu Docker của marimo. Nếu thành công, bạn sẽ thấy một ứng dụng tương tự như notebook giới thiệu marimo.
Tùy chỉnh ứng dụng marimo của bạn
Khi bạn tạo một Space marimo, bạn sẽ nhận được một số tệp chính để giúp bạn bắt đầu:
1. app.py
Đây là tệp notebook marimo chính của bạn, nơi định nghĩa logic của ứng dụng. Notebook marimo là các tệp Python thuần túy, sử dụng decorator @app.cell để định nghĩa các cell. Để tìm hiểu thêm về việc xây dựng notebook và ứng dụng, hãy xem tài liệu marimo. Khi ứng dụng của bạn phát triển, bạn có thể tổ chức mã thành các module và import chúng vào notebook chính.
2. Dockerfile
Dockerfile cho một ứng dụng marimo là tối giản vì marimo có ít phụ thuộc hệ thống. Các yêu cầu chính là:
- Nó cài đặt các phụ thuộc được liệt kê trong
requirements.txt(sử dụnguv) - Nó tạo một người dùng không phải root vì lý do bảo mật
- Nó chạy ứng dụng bằng
marimo run app.py
Bạn có thể cần sửa đổi tệp này nếu ứng dụng của bạn yêu cầu các phụ thuộc hệ thống, quyền hoặc các cờ CLI khác.
3. requirements.txt
Space sẽ tự động cài đặt các phụ thuộc được liệt kê trong tệp requirements.txt. Tối thiểu, bạn phải bao gồm marimo trong tệp này. Bạn sẽ cần thêm bất kỳ gói nào khác mà ứng dụng của bạn yêu cầu.
Mẫu Space marimo cung cấp một cấu hình cơ bản mà bạn có thể mở rộng dựa trên nhu cầu của mình. Khi triển khai, notebook của bạn sẽ chạy ở “app mode”, ẩn các ô code và chỉ hiển thị các kết quả tương tác - hoàn hảo để chia sẻ với người dùng cuối. Bạn có thể chọn bao gồm các ô code trong ứng dụng của mình bằng cách thêm --include-code vào lệnh marimo run trong Dockerfile.
Tài nguyên và hỗ trợ bổ sung
Xử lý sự cố
Nếu bạn gặp sự cố:
- Hãy đảm bảo notebook của bạn chạy cục bộ ở chế độ ứng dụng bằng cách sử dụng
marimo run app.py - Kiểm tra rằng tất cả các gói bắt buộc đều được liệt kê trong
requirements.txt - Kiểm tra xem cấu hình cổng có khớp nhau không (7860 là mặc định cho Spaces)
- Kiểm tra nhật ký Space để tìm các lỗi Python
Để được hỗ trợ thêm, hãy truy cập marimo Discord hoặc mở một issue.
Update on GitHub