busysloths-mlox


Namebusysloths-mlox JSON
Version 0.1.0.post56 PyPI version JSON
download
home_pageNone
SummaryAccelerate your ML journey—deploy production-ready MLOps in minutes, not months.
upload_time2025-07-25 14:43:02
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT License Copyright (c) 2024 nicococo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords infrastructure server service dashboard opinionated mlops
VCS
bugtrack_url
requirements fabric pyyaml streamlit pandas numpy psutil cryptography bcrypt passlib mlflow mlserver pycryptodome google-cloud-secret-manager google-cloud-bigquery google-cloud-storage gspread pandas-gbq redis opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp streamlit-vis-timeline grpcio dacite
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## BusySloths presents
[![Logo](https://github.com/BusySloths/mlox/blob/main/mlox/resources/mlox_logo_wide.png?raw=true)](Logo)

<p align="center">
<strong>
Accelerate your ML journey—deploy production-ready MLOps in minutes, not months.
</strong>
</p>

Tired of tangled configs, YAML jungles, and broken ML pipelines? So were we.
MLOX gives you a calm, streamlined way to deploy, monitor, and maintain production-grade MLOps infrastructure—without rushing.
It’s for engineers who prefer thoughtful systems over chaos. Powered by sloths. Backed by open source.

<p align="center">
<a href="https://qlty.sh/gh/BusySloths/projects/mlox"><img src="https://qlty.sh/gh/BusySloths/projects/mlox/maintainability.svg" alt="Maintainability" /></a>
<a href="https://qlty.sh/gh/BusySloths/projects/mlox"><img src="https://qlty.sh/gh/BusySloths/projects/mlox/coverage.svg" alt="Code Coverage" /></a>
<img alt="GitHub Issues or Pull Requests" src="https://img.shields.io/github/issues/busysloths/mlox">
<img alt="GitHub Discussions" src="https://img.shields.io/github/discussions/busysloths/mlox">
</p>

### ATTENTION

MLOX is still in a very early development phase. If you like to contribute in any capacity, we would love to hear from you `contact[at]mlox.org`.


### Installation

There are two parts of the project.
1. If you want to install the main UI to manage your infrastructure, then
```
  pip install busysloths-mlox[all]
```
This will install the main UI together with all supporting components (ie. lots of packages!).

2. If you have existing MLOX infrastructure and want to use certain functionality in your apps, you can install only the necessary parts, e.g. if you want to use GCP related functionality:
```
  pip install busysloths-mlox[gcp]
```
This will only install the base packages as well as GCP related packages.

### Unnecessary Long Introduction

Machine Learning (ML) and Artificial Intelligence (AI) are revolutionizing businesses and industries. Despite its importance, many companies struggle to go from ML/AI prototype to production.

ML/AI systems consist of eight non-trivial sub-problems: data collection, data processing, feature engineering, data labeling, model design, model training and optimization, endpoint deployment, and endpoint monitoring. Each of these step require specialized expert knowledge and specialized software. 

MLOps, short for **Machine Learning Operations,** is a paradigm that aims to tackle those problems and deploy and maintain machine learning models in production reliably and efficiently. The word is a compound of "machine learning" and the continuous delivery practice of DevOps in the software field.

Cloud provider such as Google Cloud Platform or Amazon AWS offer a wide range of solutions for each of the MLOps steps. However, solutions are complex and costs are notorious hard to control on these platforms and are prohibitive high for individuals and small businesses such as startups and SMBs. E.g. a common platform for data ingestion is Google Cloud Composer who’s monthly base rate is no less than 450 Euro for a meager 2GB RAM VPS. Solutions for model endpoint hosting are often worse and often cost thousands of euros p. month (cf. Databricks).

Interestingly, the basis of many cloud provider MLOps solutions is widely available open source software (e.g. Google Cloud Composer is based on Apache Airflow). However, these are  complex software packages were setup, deploy and maintaining is a non-trivial task.

This is were the MLOX project comes in. The goal of MLOX is four-fold:

1. [Infrastructure] MLOX offers individuals, startups, and small teams easy-to-use UI to securily deploy, maintain, and monitor complete MLOps infrastructures on-premise based on open-source software without any vendor lock-in.
2. [Code] To bridge the gap between the users` code base and the MLOps infrastructure,  MLOX offers a Python PYPI package that adds necessary functionality to integrate with all MLOps services out-of-the-box. 
3. [Processes] MLOX provides fully-functional templates for dealing with data from ingestion, transformation, storing, model building, up until serving.
4. [Migration] Scripts help to easily migrate parts of your MLOps infrastructure to other service providers.

More Links:

1. https://en.wikipedia.org/wiki/MLOps
2. https://www.databricks.com/glossary/mlops
3. https://martinfowler.com/articles/cd4ml.html



## Contributing  
There are many ways to contribute, and they are not limited to writing code. We welcome all contributions such as:

- <a href="https://github.com/BusySloths/mlox/issues/new/choose">Bug reports</a>
- <a href="https://github.com/BusySloths/mlox/issues/new/choose">Documentation improvements</a>
- <a href="https://github.com/BusySloths/mlox/issues/new/choose">Enhancement suggestions</a>
- <a href="https://github.com/BusySloths/mlox/issues/new/choose">Feature requests</a>
- <a href="https://github.com/BusySloths/mlox/issues/new/choose">Expanding the tutorials and use case examples</a>

Please see our [Contributing Guide](CONTRIBUTING.md) for details.


## Big Thanks to our Sponsors

MLOX is proudly funded by the following organizations:

<img src="https://github.com/BusySloths/mlox/blob/main/mlox/resources/BMFTR_logo.jpg?raw=true" alt="BMFTR" width="420px"/>

## Supporters
We would not be here without the generous support of the following people and organizations:

<p align="center">
<img src="https://github.com/BusySloths/mlox/blob/main/mlox/resources/PrototypeFund_logo_light.png?raw=true" alt="PrototypeFund" width="380px"/>
<img src="https://github.com/BusySloths/mlox/blob/main/mlox/resources/PrototypeFund_logo_dark.png?raw=true" alt="PrototypeFund" width="380px"/>
</p>


## License  

MLOX is open-source and intended to be a community effort, and it wouldn't be possible without your support and enthusiasm.
It is distributed under the terms of the MIT license. Any contribution made to this project will be subject to the same provisions.

## Join Us 

We are looking for nice people who are invested in the problem we are trying to solve. 

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "busysloths-mlox",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "Infrastructure, Server, Service, Dashboard, Opinionated, MLOps",
    "author": null,
    "author_email": "nicococo <contact@mlox.org>",
    "download_url": "https://files.pythonhosted.org/packages/87/6b/025c1e4b1e9fee3e185c9f353a0edc0ec07694969112e869133dd17e1d3b/busysloths_mlox-0.1.0.post56.tar.gz",
    "platform": null,
    "description": "## BusySloths presents\n[![Logo](https://github.com/BusySloths/mlox/blob/main/mlox/resources/mlox_logo_wide.png?raw=true)](Logo)\n\n<p align=\"center\">\n<strong>\nAccelerate your ML journey\u2014deploy production-ready MLOps in minutes, not months.\n</strong>\n</p>\n\nTired of tangled configs, YAML jungles, and broken ML pipelines? So were we.\nMLOX gives you a calm, streamlined way to deploy, monitor, and maintain production-grade MLOps infrastructure\u2014without rushing.\nIt\u2019s for engineers who prefer thoughtful systems over chaos. Powered by sloths. Backed by open source.\n\n<p align=\"center\">\n<a href=\"https://qlty.sh/gh/BusySloths/projects/mlox\"><img src=\"https://qlty.sh/gh/BusySloths/projects/mlox/maintainability.svg\" alt=\"Maintainability\" /></a>\n<a href=\"https://qlty.sh/gh/BusySloths/projects/mlox\"><img src=\"https://qlty.sh/gh/BusySloths/projects/mlox/coverage.svg\" alt=\"Code Coverage\" /></a>\n<img alt=\"GitHub Issues or Pull Requests\" src=\"https://img.shields.io/github/issues/busysloths/mlox\">\n<img alt=\"GitHub Discussions\" src=\"https://img.shields.io/github/discussions/busysloths/mlox\">\n</p>\n\n### ATTENTION\n\nMLOX is still in a very early development phase. If you like to contribute in any capacity, we would love to hear from you `contact[at]mlox.org`.\n\n\n### Installation\n\nThere are two parts of the project.\n1. If you want to install the main UI to manage your infrastructure, then\n```\n  pip install busysloths-mlox[all]\n```\nThis will install the main UI together with all supporting components (ie. lots of packages!).\n\n2. If you have existing MLOX infrastructure and want to use certain functionality in your apps, you can install only the necessary parts, e.g. if you want to use GCP related functionality:\n```\n  pip install busysloths-mlox[gcp]\n```\nThis will only install the base packages as well as GCP related packages.\n\n### Unnecessary Long Introduction\n\nMachine Learning (ML) and Artificial Intelligence (AI) are revolutionizing businesses and industries. Despite its importance, many companies struggle to go from ML/AI prototype to production.\n\nML/AI systems consist of eight non-trivial sub-problems: data collection, data processing, feature engineering, data labeling, model design, model training and optimization, endpoint deployment, and endpoint monitoring. Each of these step require specialized expert knowledge and specialized software. \n\nMLOps, short for **Machine Learning Operations,** is a paradigm that aims to tackle those problems and deploy and maintain machine learning models in production reliably and efficiently. The word is a compound of \"machine learning\" and the continuous delivery practice of DevOps in the software field.\n\nCloud provider such as Google Cloud Platform or Amazon AWS offer a wide range of solutions for each of the MLOps steps. However, solutions are complex and costs are notorious hard to control on these platforms and are prohibitive high for individuals and small businesses such as startups and SMBs. E.g. a common platform for data ingestion is Google Cloud Composer who\u2019s monthly base rate is no less than 450 Euro for a meager 2GB RAM VPS. Solutions for model endpoint hosting are often worse and often cost thousands of euros p. month (cf. Databricks).\n\nInterestingly, the basis of many cloud provider MLOps solutions is widely available open source software (e.g. Google Cloud Composer is based on Apache Airflow). However, these are  complex software packages were setup, deploy and maintaining is a non-trivial task.\n\nThis is were the MLOX project comes in. The goal of MLOX is four-fold:\n\n1. [Infrastructure] MLOX offers individuals, startups, and small teams easy-to-use UI to securily deploy, maintain, and monitor complete MLOps infrastructures on-premise based on open-source software without any vendor lock-in.\n2. [Code] To bridge the gap between the users` code base and the MLOps infrastructure,  MLOX offers a Python PYPI package that adds necessary functionality to integrate with all MLOps services out-of-the-box. \n3. [Processes] MLOX provides fully-functional templates for dealing with data from ingestion, transformation, storing, model building, up until serving.\n4. [Migration] Scripts help to easily migrate parts of your MLOps infrastructure to other service providers.\n\nMore Links:\n\n1. https://en.wikipedia.org/wiki/MLOps\n2. https://www.databricks.com/glossary/mlops\n3. https://martinfowler.com/articles/cd4ml.html\n\n\n\n## Contributing  \nThere are many ways to contribute, and they are not limited to writing code. We welcome all contributions such as:\n\n- <a href=\"https://github.com/BusySloths/mlox/issues/new/choose\">Bug reports</a>\n- <a href=\"https://github.com/BusySloths/mlox/issues/new/choose\">Documentation improvements</a>\n- <a href=\"https://github.com/BusySloths/mlox/issues/new/choose\">Enhancement suggestions</a>\n- <a href=\"https://github.com/BusySloths/mlox/issues/new/choose\">Feature requests</a>\n- <a href=\"https://github.com/BusySloths/mlox/issues/new/choose\">Expanding the tutorials and use case examples</a>\n\nPlease see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n\n## Big Thanks to our Sponsors\n\nMLOX is proudly funded by the following organizations:\n\n<img src=\"https://github.com/BusySloths/mlox/blob/main/mlox/resources/BMFTR_logo.jpg?raw=true\" alt=\"BMFTR\" width=\"420px\"/>\n\n## Supporters\nWe would not be here without the generous support of the following people and organizations:\n\n<p align=\"center\">\n<img src=\"https://github.com/BusySloths/mlox/blob/main/mlox/resources/PrototypeFund_logo_light.png?raw=true\" alt=\"PrototypeFund\" width=\"380px\"/>\n<img src=\"https://github.com/BusySloths/mlox/blob/main/mlox/resources/PrototypeFund_logo_dark.png?raw=true\" alt=\"PrototypeFund\" width=\"380px\"/>\n</p>\n\n\n## License  \n\nMLOX is open-source and intended to be a community effort, and it wouldn't be possible without your support and enthusiasm.\nIt is distributed under the terms of the MIT license. Any contribution made to this project will be subject to the same provisions.\n\n## Join Us \n\nWe are looking for nice people who are invested in the problem we are trying to solve. \n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2024 nicococo\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.",
    "summary": "Accelerate your ML journey\u2014deploy production-ready MLOps in minutes, not months.",
    "version": "0.1.0.post56",
    "project_urls": {
        "Examples": "https://github.com/busysloths/mlox",
        "Homepage": "https://busysloths.github.io/mlox/mlox.html",
        "Source": "https://github.com/busysloths/mlox",
        "Tracker": "https://github.com/busysloths/mlox/issues"
    },
    "split_keywords": [
        "infrastructure",
        " server",
        " service",
        " dashboard",
        " opinionated",
        " mlops"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c5d5801f5e9a1b6dcefc99b458006da67ede749aed4cb05239f20e4219faf16e",
                "md5": "2efcb3001995f465c75271a0a8ba714e",
                "sha256": "730f68d93044af6b5183530c3dfca7bb137886c3e22de060e0bbf82b137e0485"
            },
            "downloads": -1,
            "filename": "busysloths_mlox-0.1.0.post56-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2efcb3001995f465c75271a0a8ba714e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 2724677,
            "upload_time": "2025-07-25T14:43:00",
            "upload_time_iso_8601": "2025-07-25T14:43:00.256221Z",
            "url": "https://files.pythonhosted.org/packages/c5/d5/801f5e9a1b6dcefc99b458006da67ede749aed4cb05239f20e4219faf16e/busysloths_mlox-0.1.0.post56-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "876b025c1e4b1e9fee3e185c9f353a0edc0ec07694969112e869133dd17e1d3b",
                "md5": "b6eed8c6b2d0825f7fd118c787d1a8dc",
                "sha256": "d46d391638d58378266676ea8e812635fb24bb7da843bb9d311f555eb7f8b435"
            },
            "downloads": -1,
            "filename": "busysloths_mlox-0.1.0.post56.tar.gz",
            "has_sig": false,
            "md5_digest": "b6eed8c6b2d0825f7fd118c787d1a8dc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 2671170,
            "upload_time": "2025-07-25T14:43:02",
            "upload_time_iso_8601": "2025-07-25T14:43:02.023848Z",
            "url": "https://files.pythonhosted.org/packages/87/6b/025c1e4b1e9fee3e185c9f353a0edc0ec07694969112e869133dd17e1d3b/busysloths_mlox-0.1.0.post56.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 14:43:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "busysloths",
    "github_project": "mlox",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "fabric",
            "specs": []
        },
        {
            "name": "pyyaml",
            "specs": []
        },
        {
            "name": "streamlit",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "psutil",
            "specs": []
        },
        {
            "name": "cryptography",
            "specs": []
        },
        {
            "name": "bcrypt",
            "specs": []
        },
        {
            "name": "passlib",
            "specs": []
        },
        {
            "name": "mlflow",
            "specs": []
        },
        {
            "name": "mlserver",
            "specs": []
        },
        {
            "name": "pycryptodome",
            "specs": []
        },
        {
            "name": "google-cloud-secret-manager",
            "specs": []
        },
        {
            "name": "google-cloud-bigquery",
            "specs": []
        },
        {
            "name": "google-cloud-storage",
            "specs": []
        },
        {
            "name": "gspread",
            "specs": []
        },
        {
            "name": "pandas-gbq",
            "specs": []
        },
        {
            "name": "redis",
            "specs": []
        },
        {
            "name": "opentelemetry-api",
            "specs": []
        },
        {
            "name": "opentelemetry-sdk",
            "specs": []
        },
        {
            "name": "opentelemetry-exporter-otlp",
            "specs": []
        },
        {
            "name": "streamlit-vis-timeline",
            "specs": []
        },
        {
            "name": "grpcio",
            "specs": []
        },
        {
            "name": "dacite",
            "specs": []
        }
    ],
    "lcname": "busysloths-mlox"
}
        
Elapsed time: 1.74107s