ml-dash 0.0.18__py3-none-any.whl → 0.2.1__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.
Files changed (48) hide show
  1. ml_dash/__init__.py +58 -1
  2. ml_dash/client.py +562 -0
  3. ml_dash/experiment.py +916 -0
  4. ml_dash/files.py +313 -0
  5. ml_dash/log.py +181 -0
  6. ml_dash/metric.py +186 -0
  7. ml_dash/params.py +188 -0
  8. ml_dash/storage.py +922 -0
  9. ml_dash-0.2.1.dist-info/METADATA +237 -0
  10. ml_dash-0.2.1.dist-info/RECORD +12 -0
  11. ml_dash-0.2.1.dist-info/WHEEL +4 -0
  12. app-build/asset-manifest.json +0 -15
  13. app-build/favicon.ico +0 -0
  14. app-build/github-markdown.css +0 -957
  15. app-build/index.html +0 -1
  16. app-build/manifest.json +0 -15
  17. app-build/monaco-editor-worker-loader-proxy.js +0 -6
  18. app-build/precache-manifest.ffc09f8a591c529a1bd5c6f21f49815f.js +0 -26
  19. app-build/service-worker.js +0 -34
  20. ml_dash/app.py +0 -60
  21. ml_dash/config.py +0 -16
  22. ml_dash/file_events.py +0 -71
  23. ml_dash/file_handlers.py +0 -141
  24. ml_dash/file_utils.py +0 -5
  25. ml_dash/file_watcher.py +0 -30
  26. ml_dash/main.py +0 -60
  27. ml_dash/mime_types.py +0 -20
  28. ml_dash/schema/__init__.py +0 -110
  29. ml_dash/schema/archive.py +0 -165
  30. ml_dash/schema/directories.py +0 -59
  31. ml_dash/schema/experiments.py +0 -65
  32. ml_dash/schema/files/__init__.py +0 -204
  33. ml_dash/schema/files/file_helpers.py +0 -79
  34. ml_dash/schema/files/images.py +0 -27
  35. ml_dash/schema/files/metrics.py +0 -64
  36. ml_dash/schema/files/parameters.py +0 -50
  37. ml_dash/schema/files/series.py +0 -235
  38. ml_dash/schema/files/videos.py +0 -27
  39. ml_dash/schema/helpers.py +0 -66
  40. ml_dash/schema/projects.py +0 -65
  41. ml_dash/schema/schema_helpers.py +0 -19
  42. ml_dash/schema/users.py +0 -33
  43. ml_dash/sse.py +0 -18
  44. ml_dash-0.0.18.dist-info/METADATA +0 -67
  45. ml_dash-0.0.18.dist-info/RECORD +0 -38
  46. ml_dash-0.0.18.dist-info/WHEEL +0 -5
  47. ml_dash-0.0.18.dist-info/top_level.txt +0 -2
  48. /ml_dash/{example.py → py.typed} +0 -0
@@ -0,0 +1,237 @@
1
+ Metadata-Version: 2.3
2
+ Name: ml-dash
3
+ Version: 0.2.1
4
+ Summary: ML experiment metricing and data storage
5
+ Keywords: machine-learning,experiment-metricing,mlops,data-storage
6
+ Author: Ge Yang, Tom Tao
7
+ License: MIT License
8
+
9
+ Copyright (c) 2025 Ge Yang, Tom Tao
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+ Classifier: Development Status :: 4 - Beta
29
+ Classifier: Intended Audience :: Developers
30
+ Classifier: Intended Audience :: Science/Research
31
+ Classifier: License :: OSI Approved :: MIT License
32
+ Classifier: Programming Language :: Python :: 3
33
+ Classifier: Programming Language :: Python :: 3.9
34
+ Classifier: Programming Language :: Python :: 3.10
35
+ Classifier: Programming Language :: Python :: 3.11
36
+ Classifier: Programming Language :: Python :: 3.12
37
+ Classifier: Programming Language :: Python :: 3.13
38
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
39
+ Requires-Dist: httpx>=0.27.0
40
+ Requires-Dist: pyjwt>=2.8.0
41
+ Requires-Dist: pytest>=8.0.0 ; extra == 'dev'
42
+ Requires-Dist: pytest-asyncio>=0.23.0 ; extra == 'dev'
43
+ Requires-Dist: sphinx>=7.2.0 ; extra == 'dev'
44
+ Requires-Dist: furo>=2024.0.0 ; extra == 'dev'
45
+ Requires-Dist: sphinx-autodoc-typehints>=2.0.0 ; extra == 'dev'
46
+ Requires-Dist: sphinx-autobuild>=2024.0.0 ; extra == 'dev'
47
+ Requires-Dist: sphinx-copybutton>=0.5.0 ; extra == 'dev'
48
+ Requires-Dist: sphinx-design>=0.5.0 ; extra == 'dev'
49
+ Requires-Dist: sphinx-tabs>=3.4.0 ; extra == 'dev'
50
+ Requires-Dist: sphinxcontrib-mermaid>=0.9.0 ; extra == 'dev'
51
+ Requires-Dist: sphinxext-opengraph>=0.9.0 ; extra == 'dev'
52
+ Requires-Dist: myst-parser>=2.0.0 ; extra == 'dev'
53
+ Requires-Dist: linkify-it-py>=2.0.0 ; extra == 'dev'
54
+ Requires-Dist: ruff>=0.3.0 ; extra == 'dev'
55
+ Requires-Dist: mypy>=1.9.0 ; extra == 'dev'
56
+ Requires-Python: >=3.9
57
+ Provides-Extra: dev
58
+ Description-Content-Type: text/markdown
59
+
60
+ # ML-Dash
61
+
62
+ A simple and flexible SDK for ML experiment metricing and data storage.
63
+
64
+ ## Features
65
+
66
+ - **Three Usage Styles**: Decorator, context manager, or direct instantiation
67
+ - **Dual Operation Modes**: Remote (API server) or local (filesystem)
68
+ - **Auto-creation**: Automatically creates namespace, project, and folder hierarchy
69
+ - **Upsert Behavior**: Updates existing experiments or creates new ones
70
+ - **Simple API**: Minimal configuration, maximum flexibility
71
+
72
+ ## Installation
73
+
74
+ <table>
75
+ <tr>
76
+ <td>Using uv (recommended)</td>
77
+ <td>Using pip</td>
78
+ </tr>
79
+ <tr>
80
+ <td>
81
+
82
+ ```bash
83
+ uv add ml-dash
84
+ ```
85
+
86
+ </td>
87
+ <td>
88
+
89
+ ```bash
90
+ pip install ml-dash
91
+ ```
92
+
93
+ </td>
94
+ </tr>
95
+ </table>
96
+
97
+ ## Quick Start
98
+
99
+ ### Remote Mode (with API Server)
100
+
101
+ ```python
102
+ from ml_dash import Experiment
103
+
104
+ with Experiment(
105
+ name="my-experiment",
106
+ project="my-project",
107
+ remote="https://cu3thurmv3.us-east-1.awsapprunner.com",
108
+ api_key="your-jwt-token"
109
+ ) as experiment:
110
+ print(f"Experiment ID: {experiment.id}")
111
+ ```
112
+
113
+ ### Local Mode (Filesystem)
114
+
115
+ ```python
116
+ from ml_dash import Experiment
117
+
118
+ with Experiment(
119
+ name="my-experiment",
120
+ project="my-project",
121
+ local_path=".ml-dash"
122
+ ) as experiment:
123
+ pass # Your code here
124
+ ```
125
+
126
+ See [examples/](examples/) for more complete examples.
127
+
128
+ ## Development Setup
129
+
130
+ ### Installing Dev Dependencies
131
+
132
+ To contribute to ML-Dash or run tests, install the development dependencies:
133
+
134
+ <table>
135
+ <tr>
136
+ <td>Using uv (recommended)</td>
137
+ <td>Using pip</td>
138
+ </tr>
139
+ <tr>
140
+ <td>
141
+
142
+ ```bash
143
+ uv sync --extra dev
144
+ ```
145
+
146
+ </td>
147
+ <td>
148
+
149
+ ```bash
150
+ pip install -e ".[dev]"
151
+ ```
152
+
153
+ </td>
154
+ </tr>
155
+ </table>
156
+
157
+ This installs:
158
+ - `pytest>=8.0.0` - Testing framework
159
+ - `pytest-asyncio>=0.23.0` - Async test support
160
+ - `sphinx>=7.2.0` - Documentation builder
161
+ - `sphinx-rtd-theme>=2.0.0` - Read the Docs theme
162
+ - `sphinx-autobuild>=2024.0.0` - Live preview for documentation
163
+ - `myst-parser>=2.0.0` - Markdown support for Sphinx
164
+ - `ruff>=0.3.0` - Linter and formatter
165
+ - `mypy>=1.9.0` - Type checker
166
+
167
+ ### Running Tests
168
+
169
+ <table>
170
+ <tr>
171
+ <td>Using uv</td>
172
+ <td>Using pytest directly</td>
173
+ </tr>
174
+ <tr>
175
+ <td>
176
+
177
+ ```bash
178
+ uv run pytest
179
+ ```
180
+
181
+ </td>
182
+ <td>
183
+
184
+ ```bash
185
+ pytest
186
+ ```
187
+
188
+ </td>
189
+ </tr>
190
+ </table>
191
+
192
+ ### Building Documentation
193
+
194
+ Documentation is built using Sphinx with Read the Docs theme.
195
+
196
+ <table>
197
+ <tr>
198
+ <td>Build docs</td>
199
+ <td>Live preview</td>
200
+ <td>Clean build</td>
201
+ </tr>
202
+ <tr>
203
+ <td>
204
+
205
+ ```bash
206
+ uv run python -m sphinx -b html docs docs/_build/html
207
+ ```
208
+
209
+ </td>
210
+ <td>
211
+
212
+ ```bash
213
+ uv run sphinx-autobuild docs docs/_build/html
214
+ ```
215
+
216
+ </td>
217
+ <td>
218
+
219
+ ```bash
220
+ rm -rf docs/_build
221
+ ```
222
+
223
+ </td>
224
+ </tr>
225
+ </table>
226
+
227
+ The live preview command starts a local server and automatically rebuilds when files change.
228
+
229
+ Alternatively, you can use the Makefile from within the docs directory:
230
+
231
+ ```bash
232
+ cd docs
233
+ make html # Build HTML documentation
234
+ make clean # Clean build files
235
+ ```
236
+
237
+ For maintainers, to build and publish a new release: `uv build && uv publish`
@@ -0,0 +1,12 @@
1
+ ml_dash/__init__.py,sha256=5tT0Lmf0SS3J7BOwJGVai8FOjdpjKGBJCEYL5nXnkLA,1384
2
+ ml_dash/client.py,sha256=1T85L-YOCVRakzZlKCKaW6-kSDpo8gx_pdG8wvvi9Tc,16391
3
+ ml_dash/experiment.py,sha256=MKQsEs1MQ07xbPHvWRvatyvLOXuiDKxJx7QWPfpmygM,27658
4
+ ml_dash/files.py,sha256=WKWbcug6XADwZruYQio1EdSstmfTsty9-2-t2KPWz38,9719
5
+ ml_dash/log.py,sha256=0yXaNnFwYeBI3tRLHX3kkqWRpg0MbSGwmgjnOfsElCk,5350
6
+ ml_dash/metric.py,sha256=PcEd6_HTLDpf-kBIDeQq2LlTRAS7xDx6EvSBpin5iuY,6456
7
+ ml_dash/params.py,sha256=W-JkY1Mz7KdmvDjQ0HFV2QnpBov7Gf4dl70fuBnXTdo,5974
8
+ ml_dash/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ ml_dash/storage.py,sha256=iVGPgRJnsUzxfTh12QCUKyPC-SiK4QNDWHsUBLxP0I0,29538
10
+ ml_dash-0.2.1.dist-info/WHEEL,sha256=X16MKk8bp2DRsAuyteHJ-9qOjzmnY0x1aj0P1ftqqWA,78
11
+ ml_dash-0.2.1.dist-info/METADATA,sha256=w2d7aw7qbqinmBIxWYy7ZuXyJdISFyyMg_bh-9XoZz8,5809
12
+ ml_dash-0.2.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.9.2
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -1,15 +0,0 @@
1
- {
2
- "main.css": "/static/css/main.c46f1339.chunk.css",
3
- "main.js": "/static/js/main.114ca498.chunk.js",
4
- "main.js.map": "/static/js/main.114ca498.chunk.js.map",
5
- "static/css/1.bf45e866.chunk.css": "/static/css/1.bf45e866.chunk.css",
6
- "static/js/1.43af8409.chunk.js": "/static/js/1.43af8409.chunk.js",
7
- "static/js/1.43af8409.chunk.js.map": "/static/js/1.43af8409.chunk.js.map",
8
- "runtime~main.js": "/static/js/runtime~main.229c360f.js",
9
- "runtime~main.js.map": "/static/js/runtime~main.229c360f.js.map",
10
- "static/css/1.bf45e866.chunk.css.map": "/static/css/1.bf45e866.chunk.css.map",
11
- "static/css/main.c46f1339.chunk.css.map": "/static/css/main.c46f1339.chunk.css.map",
12
- "index.html": "/index.html",
13
- "precache-manifest.ffc09f8a591c529a1bd5c6f21f49815f.js": "/precache-manifest.ffc09f8a591c529a1bd5c6f21f49815f.js",
14
- "service-worker.js": "/service-worker.js"
15
- }
app-build/favicon.ico DELETED
Binary file