{"id":26866355,"url":"https://github.com/nanotaboada/python-samples-fastapi-restful","last_synced_at":"2025-05-07T01:23:15.832Z","repository":{"id":47089019,"uuid":"396552448","full_name":"nanotaboada/python-samples-fastapi-restful","owner":"nanotaboada","description":"🧪 Proof of Concept for a RESTful API made with Python 3 and FastAPI","archived":false,"fork":false,"pushed_at":"2025-03-29T12:07:37.000Z","size":817,"stargazers_count":68,"open_issues_count":6,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T13:22:29.015Z","etag":null,"topics":["fastapi","integration-testing","proof-of-concept","pydantic","python","rest-api","restful-api","sqlalchemy","sqlite"],"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/nanotaboada.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-08-16T00:47:04.000Z","updated_at":"2025-03-29T12:07:39.000Z","dependencies_parsed_at":"2024-01-07T17:36:42.522Z","dependency_job_id":"ab8a3866-e212-4324-b161-d42c441326a7","html_url":"https://github.com/nanotaboada/python-samples-fastapi-restful","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/nanotaboada%2Fpython-samples-fastapi-restful","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanotaboada%2Fpython-samples-fastapi-restful/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanotaboada%2Fpython-samples-fastapi-restful/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanotaboada%2Fpython-samples-fastapi-restful/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanotaboada","download_url":"https://codeload.github.com/nanotaboada/python-samples-fastapi-restful/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246418664,"owners_count":20773935,"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","integration-testing","proof-of-concept","pydantic","python","rest-api","restful-api","sqlalchemy","sqlite"],"created_at":"2025-03-31T04:54:21.924Z","updated_at":"2025-05-07T01:23:15.819Z","avatar_url":"https://github.com/nanotaboada.png","language":"Python","readme":"# 🧪 RESTful API with Python 3 and FastAPI\n\n## Status\n\n[![Python CI](https://github.com/nanotaboada/python-samples-fastapi-restful/actions/workflows/python-app.yml/badge.svg)](https://github.com/nanotaboada/python-samples-fastapi-restful/actions/workflows/python-app.yml)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=nanotaboada_python-samples-fastapi-restful\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=nanotaboada_python-samples-fastapi-restful)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/8f9bab37f6f444c895a8b25d5df772fc)](https://app.codacy.com/gh/nanotaboada/python-samples-fastapi-restful/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![codecov](https://codecov.io/gh/nanotaboada/python-samples-fastapi-restful/branch/master/graph/badge.svg?token=A1WNZPRQEJ)](https://codecov.io/gh/nanotaboada/python-samples-fastapi-restful)\n[![CodeFactor](https://www.codefactor.io/repository/github/nanotaboada/python-samples-fastapi-restful/badge)](https://www.codefactor.io/repository/github/nanotaboada/python-samples-fastapi-restful)\n[![codebeat badge](https://codebeat.co/badges/4c4f7c08-3b35-4b57-a875-bf2043efe515)](https://codebeat.co/projects/github-com-nanotaboada-python-samples-fastapi-restful-master)\n\n## About\n\nProof of Concept for a RESTful API made with [Python 3](https://www.python.org/) and [FastAPI](https://fastapi.tiangolo.com/).\n\n## Structure\n\n![Simplified, conceptual project structure and main application flow](assets/images/structure.svg)\n\n_Figure: Simplified, conceptual project structure and main application flow. Not all dependencies are shown._\n\n## Install\n\n```console\npip install -r requirements.txt\npip install -r requirements-lint.txt\npip install -r requirements-test.txt\n```\n\n## Start\n\n```console\nuvicorn main:app --reload --port 9000\n```\n\n## Docs\n\n```console\nhttp://localhost:9000/docs\n```\n\n![API Documentation](assets/images/swagger.png)\n\n## Docker\n\nThis project includes a multi-stage `Dockerfile` for local development and production builds.\n\n### Build the image\n\n```bash\ndocker build -t python-samples-fastapi-restful .\n```\n\n### Run the container\n\n```bash\ndocker run -p 9000:9000 python-samples-fastapi-restful:latest\n```\n\n## Credits\n\nThe solution has been coded using [Visual Studio Code](https://code.visualstudio.com/) with the official [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) extension.\n\n## Terms\n\nAll trademarks, registered trademarks, service marks, product names, company names, or logos mentioned on this repository are the property of their respective owners. All usage of such terms herein is for identification purposes only and constitutes neither an endorsement nor a recommendation of those items. Furthermore, the use of such terms is intended to be for educational and informational purposes only.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanotaboada%2Fpython-samples-fastapi-restful","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanotaboada%2Fpython-samples-fastapi-restful","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanotaboada%2Fpython-samples-fastapi-restful/lists"}