No project description provided
Project description
Composable Logs
Composable Logs is a Python library to run ML/data workflows on stateless compute infrastructure (that may be ephemeral or serverless).
In particular, using Composable Logs one can do ML experiment tracking without a dedicated tracking server (and database) to record ML metrics, models or artifacts. Instead, these are emitted using the OpenTelemetry standard for logging. This is an open standard in software engineering with growing support.
It can be useful to think of the logs emitted by Composable Logs as somewhat similar to logs emitted by unit test frameworks (like eg the JUnit format).
For example, log events emitted from Composable Logs can be directed to a JSON-file, or sent to any log storage supporting OpenTelemetry (span) events. In either case, this means that one does not need a separate tracking service only for ML experiments.
The below shows how a captured JSON log can be converted into a static website based on ML Flow.
Composable Logs uses the Ray framework for parallel task execution.
For more details:
Documentation and architecture
Live demo
-
Using Composable Logs one can run a ML training pipeline using only a free Github account. This uses:
- Github actions: trigger the ML pipeline daily and for each PR.
- Build artifacts: to store OpenTelemetry logs of past runs.
- Github Pages: to host static website for reporting on past runs.
The static website is rebuilt after each pipeline run (by extracting relevant data from past OpenTelemetry logs). This uses a fork of MLFlow that can be deployed as a static website, https://github.com/composable-logs/mlflow.
-
Codes for pipeline (MIT): https://github.com/composable-logs/mnist-digits-demo-pipeline
Public roadmap and planning
Install via PyPI
Latest release
pip install composable-logs
- https://pypi.org/project/composable-logs
Snapshot of latest commit to main branch
pip install composable-logs-snapshot
- https://pypi.org/project/composable-logs-snapshot
Any feedback/ideas welcome!
License
(c) Matias Dahl, MIT, see LICENSE.md.
(Note: As of 1/2023 this project was renamed from pynb-dag-runner
to composable-logs
.)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file composable_logs_snapshot-0.0.12.dev1677430086-py3-none-any.whl
.
File metadata
- Download URL: composable_logs_snapshot-0.0.12.dev1677430086-py3-none-any.whl
- Upload date:
- Size: 44.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94fecc5cd9d0ba33668fe2f0c666666025bae9a414402a0b8c7d5a764131f50e |
|
MD5 | 5155d8526f73b53e7a0759fe54d0d3ab |
|
BLAKE2b-256 | 56e22b25e7b464f7392a439a90ada97296fb709aa574861a2c6400ec782611dd |