marimo-flow 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,213 @@
1
+ Metadata-Version: 2.4
2
+ Name: marimo-flow
3
+ Version: 0.1.0
4
+ Summary: Marimo Flow - Interactive ML notebooks with MLflow integration
5
+ Author-email: BjΓΆrn Bethge <bjorn.bethge@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/bjoernbethge/marimo-flow
8
+ Project-URL: Documentation, https://marimo-flow.readthedocs.io
9
+ Project-URL: Repository, https://github.com/bjoernbethge/marimo-flow
10
+ Project-URL: Issues, https://github.com/bjoernbethge/marimo-flow/issues
11
+ Keywords: marimo,mlflow,machine-learning,notebooks,interactive
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Requires-Python: >=3.11
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: marimo[lsp,recommended,sql]>=0.13.15
26
+ Requires-Dist: mlflow>=2.22.1
27
+ Provides-Extra: dev
28
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
29
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
30
+ Requires-Dist: black>=23.0.0; extra == "dev"
31
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
32
+ Requires-Dist: mypy>=1.5.0; extra == "dev"
33
+ Requires-Dist: pre-commit>=3.0.0; extra == "dev"
34
+ Provides-Extra: docs
35
+ Requires-Dist: sphinx>=7.0.0; extra == "docs"
36
+ Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == "docs"
37
+ Dynamic: license-file
38
+
39
+ # Marimo Flow 🌊
40
+
41
+ [![Python](https://img.shields.io/badge/Python-3.8%2B-blue?logo=python&logoColor=white)](https://python.org)
42
+ [![Marimo](https://img.shields.io/badge/Marimo-Latest-orange?logo=python&logoColor=white)](https://marimo.io)
43
+ [![MLflow](https://img.shields.io/badge/MLflow-Latest-blue?logo=mlflow&logoColor=white)](https://mlflow.org)
44
+ [![Docker](https://img.shields.io/badge/Docker-Ready-blue?logo=docker&logoColor=white)](https://docker.com)
45
+ [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
46
+ [![Code Style](https://img.shields.io/badge/Code%20Style-Black-black)](https://github.com/psf/black)
47
+
48
+ **Modern reactive ML development with Marimo notebooks and MLflow experiment tracking**
49
+
50
+ ## Why Marimo Flow is Powerful πŸš€
51
+
52
+ **Marimo Flow** combines the best of reactive notebook development with robust ML experiment tracking:
53
+
54
+ - **πŸ”„ Reactive Development**: Marimo's dataflow graph ensures your notebooks are always consistent - change a parameter and watch your entire pipeline update automatically
55
+ - **πŸ€– AI-Enhanced Workflow**: Built-in GitHub Copilot support and AI assistants accelerate your ML development
56
+ - **πŸ“Š Seamless ML Pipeline**: MLflow integration tracks every experiment, model, and metric without breaking your flow
57
+
58
+ This combination eliminates the reproducibility issues of traditional notebooks while providing enterprise-grade experiment tracking.
59
+
60
+ ## Features ✨
61
+
62
+ - **πŸ““ Marimo Reactive Notebooks**: Git-friendly `.py` notebooks with automatic dependency tracking
63
+ - **πŸ”¬ MLflow Experiment Tracking**: Complete ML lifecycle management with model registry
64
+ - **🐳 Docker Deployment**: One-command setup with docker-compose
65
+ - **πŸ’Ύ SQLite Backend**: Lightweight, file-based storage for experiments
66
+ - **🎯 Interactive ML Development**: Real-time parameter tuning with instant feedback
67
+
68
+ ## Quick Start πŸƒβ€β™‚οΈ
69
+
70
+ ### With Docker (Recommended)
71
+
72
+ ```bash
73
+ # Clone and start services
74
+ git clone <repository-url>
75
+ cd marimo-flow
76
+ docker-compose up -d
77
+
78
+ # Access services
79
+ # Marimo: http://localhost:2718
80
+ # MLflow: http://localhost:5000
81
+ ```
82
+
83
+ ### Local Development
84
+
85
+ ```bash
86
+ # Install dependencies
87
+ uv sync
88
+
89
+ # Start MLflow server
90
+ uv run mlflow server --host 0.0.0.0 --port 5000 --backend-store-uri sqlite:///data/mlflow/db/mlflow.db --default-artifact-root ./data/mlflow/artifacts
91
+
92
+ # Start Marimo (in another terminal)
93
+ uv run marimo edit examples/
94
+ ```
95
+
96
+ ## Example Notebooks πŸ“š
97
+
98
+ Explore our focused, production-ready notebooks:
99
+
100
+ ### πŸš€ [Basic ML Workflow](examples/01_basic_ml_workflow.py)
101
+ - Simple classification with Random Forest
102
+ - Real-time parameter tuning
103
+ - MLflow experiment tracking
104
+ - Interactive visualizations
105
+
106
+ ### πŸ† [Model Comparison](examples/02_model_comparison.py)
107
+ - Compare multiple algorithms (RF, GB, LR, SVM)
108
+ - Cross-validation analysis
109
+ - Performance benchmarking
110
+ - Built-in datasets (Wine, Iris, Breast Cancer)
111
+
112
+ ### πŸ” [Data Exploration](examples/03_data_exploration.py)
113
+ - Interactive statistical analysis
114
+ - Correlation heatmaps
115
+ - Distribution visualizations
116
+ - PCA and t-SNE dimensionality reduction
117
+
118
+ Each notebook demonstrates reactive development principles and follows Marimo best practices for maintainable, reproducible ML code.
119
+
120
+ ## Project Structure πŸ“
121
+
122
+ ```
123
+ marimo-flow/
124
+ β”œβ”€β”€ examples/ # Marimo notebooks
125
+ β”‚ β”œβ”€β”€ 01_basic_ml_workflow.py # Basic ML pipeline
126
+ β”‚ β”œβ”€β”€ 02_model_comparison.py # Multi-model comparison
127
+ β”‚ └── 03_data_exploration.py # Interactive data analysis
128
+ β”œβ”€β”€ data/
129
+ β”‚ └── mlflow/ # MLflow storage
130
+ β”‚ β”œβ”€β”€ artifacts/ # Model artifacts
131
+ β”‚ β”œβ”€β”€ db/ # SQLite database
132
+ β”‚ └── prompts/ # Prompt templates
133
+ β”œβ”€β”€ docker-compose.yaml # Service orchestration
134
+ β”œβ”€β”€ Dockerfile # Container definition
135
+ β”œβ”€β”€ pyproject.toml # Dependencies
136
+ └── README.md # This file
137
+ ```
138
+
139
+ ## Configuration βš™οΈ
140
+
141
+ ### Environment Variables
142
+
143
+ - `MLFLOW_TRACKING_URI`: MLflow server URL (default: `http://localhost:5000`)
144
+ - `MLFLOW_BACKEND_STORE_URI`: Database connection string
145
+ - `MLFLOW_DEFAULT_ARTIFACT_ROOT`: Artifact storage location
146
+
147
+ ### Docker Services
148
+
149
+ - **Marimo**: Port 2718 - Interactive notebook environment
150
+ - **MLflow**: Port 5000 - Experiment tracking UI
151
+
152
+ ## Pre-installed ML & Data Science Stack πŸ“¦
153
+
154
+ ### Machine Learning & Scientific Computing
155
+ - **[scikit-learn](https://scikit-learn.org/)** `^1.5.2` - Machine learning library
156
+ - **[NumPy](https://numpy.org/)** `^2.1.3` - Numerical computing
157
+ - **[pandas](https://pandas.pydata.org/)** `^2.2.3` - Data manipulation and analysis
158
+ - **[PyArrow](https://arrow.apache.org/docs/python/)** `^18.0.0` - Columnar data processing
159
+ - **[SciPy](https://scipy.org/)** `^1.14.1` - Scientific computing
160
+ - **[matplotlib](https://matplotlib.org/)** `^3.9.2` - Plotting library
161
+
162
+ ### High-Performance Data Processing
163
+ - **[Polars](https://pola.rs/)** `^1.12.0` - Lightning-fast DataFrame library
164
+ - **[DuckDB](https://duckdb.org/)** `^1.1.3` - In-process analytical database
165
+ - **[Altair](https://altair-viz.github.io/)** `^5.4.1` - Declarative statistical visualization
166
+
167
+ ### AI & LLM Integration
168
+ - **[OpenAI](https://platform.openai.com/docs/)** `^1.54.4` - GPT API integration
169
+ - **[FastAPI](https://fastapi.tiangolo.com/)** `^0.115.4` - Modern web framework
170
+ - **[Pydantic](https://docs.pydantic.dev/)** `^2.10.2` - Data validation
171
+
172
+ ### Database & Storage
173
+ - **[SQLAlchemy](https://www.sqlalchemy.org/)** `^2.0.36` - SQL toolkit and ORM
174
+ - **[Alembic](https://alembic.sqlalchemy.org/)** `^1.14.0` - Database migrations
175
+ - **[SQLGlot](https://sqlglot.com/)** `^25.30.2` - SQL parser and transpiler
176
+
177
+ ### Web & API
178
+ - **[Starlette](https://www.starlette.io/)** `^0.41.2` - ASGI framework
179
+ - **[Uvicorn](https://www.uvicorn.org/)** `^0.32.0` - ASGI server
180
+ - **[httpx](https://www.python-httpx.org/)** `^0.27.2` - HTTP client
181
+
182
+ ### Development Tools
183
+ - **[Black](https://black.readthedocs.io/)** `^24.10.0` - Code formatter
184
+ - **[Ruff](https://docs.astral.sh/ruff/)** `^0.7.4` - Fast Python linter
185
+ - **[pytest](https://docs.pytest.org/)** `^8.3.3` - Testing framework
186
+ - **[MyPy](https://mypy.readthedocs.io/)** `^1.13.0` - Static type checker
187
+
188
+ ## API Endpoints πŸ”Œ
189
+
190
+ ### MLflow REST API
191
+ - **Experiments**: `GET /api/2.0/mlflow/experiments/list`
192
+ - **Runs**: `GET /api/2.0/mlflow/runs/search`
193
+ - **Models**: `GET /api/2.0/mlflow/registered-models/list`
194
+
195
+ ### Marimo Server
196
+ - **Notebooks**: `GET /` - File browser and editor
197
+ - **Apps**: `GET /run/<notebook>` - Run notebook as web app
198
+
199
+ ## Contributing 🀝
200
+
201
+ 1. Fork the repository
202
+ 2. Create a feature branch: `git checkout -b feature-name`
203
+ 3. Make your changes following the coding standards
204
+ 4. Test your changes: `uv run pytest`
205
+ 5. Submit a pull request
206
+
207
+ ## License πŸ“„
208
+
209
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
210
+
211
+ ---
212
+
213
+ **Built with ❀️ using Marimo and MLflow**
@@ -0,0 +1,5 @@
1
+ marimo_flow-0.1.0.dist-info/licenses/LICENSE,sha256=ITVSYST1SouVUEVvfP3QGf3oOcIEs_rWYv7XmeT3DnI,1070
2
+ marimo_flow-0.1.0.dist-info/METADATA,sha256=xsdzUn27qGy2MPItMIru4YRjtFanhVQrcmUmKeAnIUI,8677
3
+ marimo_flow-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
4
+ marimo_flow-0.1.0.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
5
+ marimo_flow-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 BjΓΆrn Bethge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+