{"id":18581421,"url":"https://github.com/cornerstone-ondemand/modelkit","last_synced_at":"2025-04-05T03:13:01.874Z","repository":{"id":38106774,"uuid":"367351458","full_name":"Cornerstone-OnDemand/modelkit","owner":"Cornerstone-OnDemand","description":"Toolkit for developing and maintaining ML models","archived":false,"fork":false,"pushed_at":"2024-06-06T14:34:14.000Z","size":1882,"stargazers_count":155,"open_issues_count":13,"forks_count":17,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-05T03:12:54.829Z","etag":null,"topics":["fastapi","machine-learning","mlops","production","python"],"latest_commit_sha":null,"homepage":"http://cornerstone-ondemand.github.io/modelkit/","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/Cornerstone-OnDemand.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-14T12:10:51.000Z","updated_at":"2025-02-27T17:21:19.000Z","dependencies_parsed_at":"2023-11-13T15:03:00.439Z","dependency_job_id":"54d0d997-4564-4a96-b924-7519630b8393","html_url":"https://github.com/Cornerstone-OnDemand/modelkit","commit_stats":{"total_commits":646,"total_committers":20,"mean_commits":32.3,"dds":"0.36996904024767807","last_synced_commit":"76890b03884611f969aa54396ddd5030c4bbc2d9"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cornerstone-OnDemand%2Fmodelkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cornerstone-OnDemand%2Fmodelkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cornerstone-OnDemand%2Fmodelkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cornerstone-OnDemand%2Fmodelkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cornerstone-OnDemand","download_url":"https://codeload.github.com/Cornerstone-OnDemand/modelkit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247280272,"owners_count":20912967,"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":["fastapi","machine-learning","mlops","production","python"],"created_at":"2024-11-07T00:05:14.270Z","updated_at":"2025-04-05T03:13:01.846Z","avatar_url":"https://github.com/Cornerstone-OnDemand.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/cornerstone-ondemand/modelkit\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/cornerstone-ondemand/modelkit/main/.github/resources/logo.svg\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e modelkit \u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cem\u003ePython framework for production ML systems.\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Cornerstone-OnDemand/modelkit/actions/workflows/tests.yml?query=branch%3Amain\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/cornerstone-ondemand/modelkit/tests.yml?branch=main\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/modelkit/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/modelkit\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/modelkit/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/modelkit\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://cornerstone-ondemand.github.io/modelkit/index.html\"\u003e\u003cimg src=\"https://img.shields.io/badge/docs-latest-blue\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/cornerstone-ondemand/modelkit/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/cornerstone-ondemand/modelkit\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://pepy.tech/project/modelkit\"\u003e\u003cimg src=\"https://pepy.tech/badge/modelkit\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Cornerstone-OnDemand/modelkit/graphs/contributors\"\u003e\u003cimg src=\"https://img.shields.io/github/contributors/Cornerstone-OnDemand/modelkit\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n`modelkit` is a minimalist yet powerful MLOps library for Python, built for people who want to deploy ML models to production.\n\nIt packs several features which make your go-to-production journey a breeze, and ensures that the same exact code will run in production, on your machine, or on data processing pipelines.\n\n## Quickstart\n\n`modelkit` provides a straightforward and consistent way to wrap your prediction  code in a `Model` class:\n\n```python\nfrom modelkit import Model\n\nclass MyModel(Model):\n    def _predict(self, item):\n        # This is where your prediction logic goes\n        ...\n        return result\n```\n\nBe sure to check out our tutorials in the [documentation](https://cornerstone-ondemand.github.io/modelkit/).\n\n## Features\n\nWrapping your prediction code in `modelkit` instantly gives acces to all features:\n\n- **fast** Model predictions can be batched for speed (you define the batching logic) with minimal overhead.\n- **composable** Models can depend on other models, and evaluate them however you need to\n- **extensible** Models can rely on arbitrary supporting configurations files called _assets_ hosted on local or cloud object stores\n- **type-safe** Models' inputs and outputs can be validated by [pydantic](https://pydantic-docs.helpmanual.io/), you get type annotations for your predictions and can catch errors with static type analysis tools during development.\n- **async** Models support async and sync prediction functions. `modelkit` supports calling async code from sync code so you don't have to suffer from partially async code.\n- **testable** Models carry their own unit test cases, and unit testing fixtures are available for [pytest](https://docs.pytest.org/en/6.2.x/)\n- **fast to deploy** Models can be served in a single CLI call using [fastapi](https://fastapi.tiangolo.com/)\n\nIn addition, you will find that `modelkit` is:\n\n- **simple** Use pip to install `modelkit`, it is just a Python library.\n- **robust** Follow software development best practices: version and test all your configurations and artifacts.\n- **customizable** Go beyond off-the-shelf models: custom processing, heuristics, business logic, different frameworks, etc.\n- **framework agnostic** Bring your own framework to the table, and use whatever code or library you want. `modelkit` is not opinionated about how you build or train your models.\n- **organized** Version and share you ML library and artifacts with others, as a Python package or as a service. Let others use and evaluate your models!\n- **fast to code** Just write the prediction logic and that's it. No cumbersome pre or postprocessing logic, branching options, etc... The boilerplate code is minimal and sensible.\n\n## Installation\n\nInstall the latest stable release with `pip`:\n\n```\npip install modelkit\n```\n\nOptional dependencies are available for remote storage providers ([see documentation](https://cornerstone-ondemand.github.io/modelkit/assets/storage_provider/#using-different-providers))\n\n`modelkit \u003e= 0.1` is now be shipped with `pydantic 2`, bringing significant performance improvements 🎉 ⚡\n\nYou can refer to the [modelkit migration note](https://cornerstone-ondemand.github.io/modelkit/migration)\n to ease the migration process!\n\n## Community\nJoin our [community](https://discord.gg/ayj5wdAArV) on Discord to get support and leave feedback\n\n### Local install\n\nContributors, if you want to install and test locally:\n\n```\n# install\nmake setup\n\n# lint \u0026 test\nmake tests\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcornerstone-ondemand%2Fmodelkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcornerstone-ondemand%2Fmodelkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcornerstone-ondemand%2Fmodelkit/lists"}