{"id":25423916,"url":"https://github.com/dref360/ml-starter-api","last_synced_at":"2025-08-22T02:09:02.807Z","repository":{"id":44340511,"uuid":"391456224","full_name":"Dref360/ml-starter-api","owner":"Dref360","description":"Starting API for machine learning projects","archived":false,"fork":false,"pushed_at":"2022-03-26T15:13:35.000Z","size":111,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T20:50:13.482Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dref360.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-31T20:18:11.000Z","updated_at":"2022-09-16T05:17:35.000Z","dependencies_parsed_at":"2022-08-23T16:50:53.755Z","dependency_job_id":null,"html_url":"https://github.com/Dref360/ml-starter-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Dref360/ml-starter-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dref360%2Fml-starter-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dref360%2Fml-starter-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dref360%2Fml-starter-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dref360%2Fml-starter-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dref360","download_url":"https://codeload.github.com/Dref360/ml-starter-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dref360%2Fml-starter-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271574431,"owners_count":24783319,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-02-16T22:47:13.282Z","updated_at":"2025-08-22T02:09:02.783Z","avatar_url":"https://github.com/Dref360.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FastAPI starter for Machine Learning\n\nThis is a small project I made to solve an issue I had:\n\nUsers can submit different requests with multiple configurations and different arguments.\nWe want to cache said predictions when possible.\n\nThis project will:\n* Use FastAPI to create a REST API\n* Use SQLModel to store predictions based on the config and on the request.\n* Use HuggingFace Transformers to run the prediction.\n\nHopefully, this can help others.\n\n**DISCLAIMER**\nI am aware that `model_runner.py` should be split in multiple \"Task\" objects. This is out of scope for this project.\nIf you want to use this project, let me know, and we can work on refactoring that part together. It won't be too hard.\n\n**Future work**\n1. Expand set of capabilities\n   1. Work on entire datasets\n   2. Uncertainty estimation\n2. Progress bar on progress\n3. Async routes\n\n## How to use:\n\n1. Run the app:\n   1. `make DEVICE=cpu compose` (optionally `DEVICE=gpu` to use a GPU)\n   2. go to 0.0.0.0:8080/docs\n   3. Execute the `/predictions` API with different requests.\n2. Run test\n   1. `make test`\n3. **DEV** Autoformatting\n   1. `make black`\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdref360%2Fml-starter-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdref360%2Fml-starter-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdref360%2Fml-starter-api/lists"}