{"id":13672719,"url":"https://github.com/aporia-ai/mlplatform-workshop","last_synced_at":"2025-04-06T02:08:16.364Z","repository":{"id":38349544,"uuid":"375484255","full_name":"aporia-ai/mlplatform-workshop","owner":"aporia-ai","description":"🍫 Example code for a basic ML Platform based on Pulumi, FastAPI, DVC, MLFlow and more","archived":false,"fork":false,"pushed_at":"2021-11-03T10:27:17.000Z","size":614,"stargazers_count":441,"open_issues_count":3,"forks_count":68,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-30T00:11:07.266Z","etag":null,"topics":["devops","machine-learning","mlops"],"latest_commit_sha":null,"homepage":"https://www.aporia.com/blog/building-an-ml-platform-from-scratch/","language":"TypeScript","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/aporia-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-09T20:42:22.000Z","updated_at":"2025-03-06T04:32:38.000Z","dependencies_parsed_at":"2022-07-18T10:39:04.642Z","dependency_job_id":null,"html_url":"https://github.com/aporia-ai/mlplatform-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aporia-ai%2Fmlplatform-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aporia-ai%2Fmlplatform-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aporia-ai%2Fmlplatform-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aporia-ai%2Fmlplatform-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aporia-ai","download_url":"https://codeload.github.com/aporia-ai/mlplatform-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423514,"owners_count":20936626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["devops","machine-learning","mlops"],"created_at":"2024-08-02T09:01:45.335Z","updated_at":"2025-04-06T02:08:16.342Z","avatar_url":"https://github.com/aporia-ai.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# ML Platform Workshop\n\nThis repo contains example code for a (very basic) ML platform.\n\n * The **model-template** directory contains an example for a Cookiecutter-based template that data scientists can clone to start a new project.\n * The **infra** directory contains Pulumi code that spins up the shared infrastructure of the ML platform, such as Kubernetes, MLFlow, etc.\n\n\u003cp align=\"center\"\u003eMade with :heart: by \u003ca href=\"https://www.aporia.com?utm_source=github\u0026utm_medium=github\u0026utm_campaign=mlplatform-workshop\" target=\"_blank\"\u003eAporia\u003c/a\u003e\u003c/p\u003e\n\n## The YouTube Video\n\n[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/s8Jj9gzQ3xA/0.jpg)](https://www.youtube.com/watch?v=s8Jj9gzQ3xA)\n\n## Why?\n\nAs data science teams become more mature with models reaching actual production, the need for a proper infrastructure becomes crucial. Leading companies in the field with massive engineering teams like Uber, Netflix and Airbnb had created multiple solutions for their infrastructure and named the combination of them as “ML Platform”.\n\nWe hope this repo can help you get started with building your own ML platform ❤️\n\n## Architecture \n\n\u003cimg src=\"docs/architecture.png\"\u003e\n\n### Based on the following projects:\n* [FastAPI](https://fastapi.tiangolo.com/) - for model serving\n* [MLFlow](https://www.mlflow.org/) - for experiment tracking\n* [DVC](https://dvc.org/) - for data versioning\n* [Cookiecutter](https://cookiecutter.readthedocs.io/) - for the model template\n* [Pulumi](https://www.pulumi.com/) - Infrastructure as Code\n* [GitHub Actions](https://github.com/features/actions) - for CI/CD\n* [Traefik](https://traefik.io/) - API gateway\n* [Poetry](https://python-poetry.org/) - Python dependency management\n\nWhen building your own ML platform, do not take these tools for granted! [Check out alternatives](https://mlops.toys) and find the best tools that solve each one of your problems.\n\n\n## What's missing from this?\n\nWell... a lot actually. Here's a partial list:\n\n* HTTPS \u0026 Authentication\n* Environments (staging, production)\n* Common library for preprocessing, postprocessing, etc\n* Model input \u0026 validation\n* Training orchestration\n* and probably much more!\n\nWe would love your help!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faporia-ai%2Fmlplatform-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faporia-ai%2Fmlplatform-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faporia-ai%2Fmlplatform-workshop/lists"}