{"id":42820568,"url":"https://github.com/qnbhd/mljet","last_synced_at":"2026-01-30T06:53:28.444Z","repository":{"id":59754142,"uuid":"533221814","full_name":"qnbhd/mljet","owner":"qnbhd","description":"Minimalistic ML-models auto deployment tool","archived":false,"fork":false,"pushed_at":"2026-01-19T22:22:37.000Z","size":838,"stargazers_count":67,"open_issues_count":43,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-19T22:52:11.836Z","etag":null,"topics":["deploy","machine-learning","ml","mlops","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qnbhd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-06T08:02:49.000Z","updated_at":"2025-12-31T13:36:55.000Z","dependencies_parsed_at":"2023-02-19T02:15:58.802Z","dependency_job_id":"d0a4fdde-b0ee-4d50-9a7d-7afb27dc228b","html_url":"https://github.com/qnbhd/mljet","commit_stats":null,"previous_names":["qnbhd/deployme"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/qnbhd/mljet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qnbhd%2Fmljet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qnbhd%2Fmljet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qnbhd%2Fmljet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qnbhd%2Fmljet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qnbhd","download_url":"https://codeload.github.com/qnbhd/mljet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qnbhd%2Fmljet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28907055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T06:42:00.998Z","status":"ssl_error","status_checked_at":"2026-01-30T06:41:58.659Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deploy","machine-learning","ml","mlops","python"],"created_at":"2026-01-30T06:53:27.871Z","updated_at":"2026-01-30T06:53:28.421Z","avatar_url":"https://github.com/qnbhd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mljet\n\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"600\" height=\"250\" src=\"docs/source/mljet-logo-p.png\"\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![Codacy grade](https://img.shields.io/codacy/grade/cc8845c151cc45919bfd193e266df293?style=for-the-badge)\n![GitHub branch checks state](https://img.shields.io/github/checks-status/qnbhd/mljet/main?style=for-the-badge)\n![Codecov](https://img.shields.io/codecov/c/github/qnbhd/mljet?style=for-the-badge)\n\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mljet?style=for-the-badge)\n\n[\u003cimg height=\"40\" width=\"120\" src=\"https://user-images.githubusercontent.com/6369915/200408291-f0a22126-00b4-4680-ad29-6f3fc48b4e2e.png\"\u003e](https://mljet.readthedocs.io/en/latest/)\n\u003c/div\u003e\n\n\u003e :warning: This project originally had another name: DeployMe. Releases for deployme (on pypi) have been discontinued.\n\nIf you have been working on ML models, then you have probably faced the task of deploying these models.\nPerhaps you are participating in a hackathon or want to show your work to management.\n\nAccording to our survey, more than `60%` of the data-scientists surveyed faced this task and more than `60%` of the respondents spent more than half an hour creating such a service.\n\nThe most common solution is to wrap it in some kind of web framework (like Flask).\n\nOur team believes that it can be made even easier!\n\nOur tool automatically collects all the necessary files and dependencies, creates a docker container, and launches it! And all this in one line of source code.\n\n# Pipeline\n\n\n\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"800\" height=\"400\" src=\"docs/pipeline.svg\"\u003e\n\u003c/p\u003e\n\n\n\n1. First, we initialize the project directory for the next steps;\n2. Next, we serialize your machine learning models (for example, with Joblib or Pickle);\n3. Next, we create a final `.py` file based on the templates that contains the endpoint handlers. Handlers are chosen based on models, and templates based on your preferences (templates are also `.py` files using, for example, Sanic or Flask);\n4. Copy or additionally generate the necessary files (e.g. Dockerfile);\n5. The next step is to compile the API documentation for your project;\n6. After these steps, we build a Docker container, or a Python package, or we just leave the final directory and then we can deploy your project in Kubernetes, or in Heroku.\n\n\n\n## Prerequisites\n\nOn your PC with local run you must have Docker \u0026 Python \u003e= 3.8\n\n## Installation\n\nInstall `mljet` with pip:\n\n```bash\npip install mljet\n```\n\nor with your favorite package manager.\n\n## Example\n\n```python\nfrom sklearn.datasets import load_iris\nfrom sklearn.ensemble import RandomForestClassifier\n\nfrom mljet import cook\n\nX, y = load_iris(return_X_y=True, as_frame=True)\n\nclf = RandomForestClassifier()\nclf.fit(X, y)\n\ncook(strategy=\"docker\", model=clf, port=5010)\n```\n\nAfter running script you can see new Docker container.\nTo interact with service simply open URL, logged after script running.\n\nOn this page you can see Swagger UI, test simple requests (examples included).\nFor direct post-requests you can use Curl:\n\n```bash\ncurl -X POST \"http://127.0.0.1:5001/predict\" -H  \"accept: application/json\" -H  \"Content-Type: application/json\" -d \"{\\\"data\\\":[{\\\"sepal length (cm)\\\":5.8,\\\"sepal width (cm)\\\":2.7,\\\"petal length (cm)\\\":3.9,\\\"petal width (cm)\\\":1.2}]}\"\n```\n\n## Models support\n\nCurrently, we support the following models:\n\n- `sklearn`\n- `xgboost`\n- `catboost`\n- `lightgbm`\n- `LightAutoML`\n\n## RoadMap\n\n1. Deploy to Heroku \u0026 clusters\n2. Model's basic vizualization\n3. Tighter integration with [LightAutoML](https://github.com/sb-ai-lab/LightAutoML)\n4. Support many popular ML-frameworks, such as `XGBoost`, `TensorFlow`, `CatBoost`, etc.\n5. *Your ideas!*\n\n## Contribution\n\nWe are always open to your contributions!\nPlease check our issue's and make PR.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqnbhd%2Fmljet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqnbhd%2Fmljet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqnbhd%2Fmljet/lists"}