{"id":28212182,"url":"https://github.com/wytamma/fasteve","last_synced_at":"2025-08-12T02:35:47.123Z","repository":{"id":43118602,"uuid":"199584609","full_name":"Wytamma/fasteve","owner":"Wytamma","description":"A simple and feature complete REST API framework designed for speed","archived":false,"fork":false,"pushed_at":"2023-06-01T07:32:30.000Z","size":1888,"stargazers_count":39,"open_issues_count":7,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-11T02:49:27.380Z","etag":null,"topics":["api","fastapi","framework","mongodb","pyeve","python","rest","rest-api"],"latest_commit_sha":null,"homepage":"http://fasteve.wytamma.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause-clear","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wytamma.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":"2019-07-30T05:58:32.000Z","updated_at":"2024-04-09T08:46:51.000Z","dependencies_parsed_at":"2023-01-25T13:46:01.179Z","dependency_job_id":null,"html_url":"https://github.com/Wytamma/fasteve","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Wytamma/fasteve","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wytamma%2Ffasteve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wytamma%2Ffasteve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wytamma%2Ffasteve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wytamma%2Ffasteve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wytamma","download_url":"https://codeload.github.com/Wytamma/fasteve/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wytamma%2Ffasteve/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269990230,"owners_count":24508819,"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-12T02:00:09.011Z","response_time":80,"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":["api","fastapi","framework","mongodb","pyeve","python","rest","rest-api"],"created_at":"2025-05-17T18:10:39.003Z","updated_at":"2025-08-12T02:35:47.113Z","avatar_url":"https://github.com/Wytamma.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![fasteve logo](https://i.ibb.co/Czrk2L9/fasteve-logo.png)\n\n[![PyPi](https://img.shields.io/pypi/v/fasteve.svg)](https://pypi.org/project/fasteve/)\n[![testing](https://github.com/Wytamma/fasteve/workflows/testing/badge.svg)](https://github.com/Wytamma/fasteve/actions/workflows/testing.yml)\n[![coverage](https://codecov.io/gh/Wytamma/fasteve/branch/master/graph/badge.svg)](https://codecov.io/gh/Wytamma/fasteve)\n[![docs](https://github.com/Wytamma/fasteve/workflows/docs/badge.svg)](https://fasteve.wytamma.com/)\n[![image](https://img.shields.io/github/license/wytamma/fasteve.svg)](https://github.com/Wytamma/fasteve/blob/master/LICENSE)\n[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://img.shields.io/badge/code%20style-black-000000.svg)\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FWytamma%2Ffasteve\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://github.com/Wytamma/fasteve)\n\nFasteve is a rebuild of [Eve](https://github.com/pyeve/eve) using [FastAPI](https://github.com/tiangolo/fastapi) as a base.\n\nFasteve is Simple\n-------------\n\nCreate a file `main.py` with:\n```python\nfrom fasteve import Fasteve, MongoModel, Resource\n\nclass People(MongoModel):\n    name: str\n\npeople = Resource(model=People)\nresources = [people]\n\napp = Fasteve(resources=resources)\n```\n\nStart a database ([mongodb default](https://hub.docker.com/_/mongo)):\n```console\n$ docker run --rm -p 27017:27017 mongo\n```\n\nRun the server with:\n```console\n$ uvicorn main:app --reload\n```\n\nThe API is now live, ready to be consumed:\n\n```console\n$ curl -i http://localhost:8000/people\nHTTP/1.1 200\n...\n{\n    \"_data\": [],\n    \"_meta\": {\"max_results\": 25, \"total\": 0, \"page\": 1},\n    \"_links\": {\n        \"self\": {\"href\": \"/people\", \"title\": \"people\"},\n        \"parent\": {\"href\": \"/\", \"title\": \"home\"},\n    },\n}\n```\n\nFeatures (TODO)\n---------------\n* Powered by FastAPI ✅\n* Emphasis on REST ✅\n* Full range of CRUD operations ✅\n* Customizable resource endpoints ✅\n* Sub Resources ✅\n* Pagination ✅\n* HATEOAS ✅\n* Bulk create ✅\n* Data Validation ✅\n* Extensible Data Validation ✅\n* Unique Fields ✅\n* CORS Cross-Origin Resource Sharing ✅\n* Read-only by default ✅\n* Default Values ✅\n* Embedded Resource Serialization ✅\n* Event Hooks ✅\n* Custom ID Fields ✅\n* Alternative ID Fields ✅\n* Interactive API docs (provided by Swagger UI) ✅\n* Alternative API docs (provided by ReDoc) ✅\n* Repeated Background Tasks ✅\n* MongoDB Support ✅\n* SQL Support ✅\n* Predefined Database Filters\n* Projections\n* JSONP\n* Customizable, multiple item endpoints\n* Filtering and Sorting\n* JSON and XML Rendering\n* Conditional Requests\n* Data Integrity and Concurrency Control\n* Resource-level Cache Control\n* API Versioning\n* Document Versioning\n* Authentication\n* Rate Limiting\n* File Storage\n* GeoJSON\n* Internal Resources\n* Enhanced Logging\n* Operations Log\n* MongoDB Aggregation Framework\n\n\nLicense\n-------\nFasteve is a open source project,\ndistributed under the `BSD license`\n\n\nLatest Changes\n-\n\n* :sparkles: add SQL support via sqlmodel. PR [#21](https://github.com/Wytamma/fasteve/pull/21) by [@Wytamma](https://github.com/Wytamma).\n* :tada: v0.1.3. PR [#20](https://github.com/Wytamma/fasteve/pull/20) by [@Wytamma](https://github.com/Wytamma).\n* :sparkles: Add event hooks. PR [#17](https://github.com/Wytamma/fasteve/pull/17) by [@Wytamma](https://github.com/Wytamma).\n* :sparkles: break up endpoints. PR [#16](https://github.com/Wytamma/fasteve/pull/16) by [@Wytamma](https://github.com/Wytamma).\n* :sparkles: Add PATCH method. PR [#15](https://github.com/Wytamma/fasteve/pull/15) by [@Wytamma](https://github.com/Wytamma).\n* :bug: PUT does upsert when ID not found. PR [#14](https://github.com/Wytamma/fasteve/pull/14) by [@Wytamma](https://github.com/Wytamma).\n* :art: PUT returns 204 (No Content). PR [#13](https://github.com/Wytamma/fasteve/pull/13) by [@Wytamma](https://github.com/Wytamma).\n* :sparkles: Add PUT method. PR [#12](https://github.com/Wytamma/fasteve/pull/12) by [@Wytamma](https://github.com/Wytamma).\n* :art: Formatting with Black. PR [#11](https://github.com/Wytamma/fasteve/pull/11) by [@Wytamma](https://github.com/Wytamma).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwytamma%2Ffasteve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwytamma%2Ffasteve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwytamma%2Ffasteve/lists"}