Skip to main content

A simple and feature complete REST API framework designed for speed

Project description

fasteve logo

PyPi testing coverage docs image black

Fasteve is a rebuild of Eve using FastAPI as a base.

Fasteve is Simple

Create a file main.py with:

from fasteve import Fasteve, MongoModel, Resource

class People(MongoModel):
    name: str

people = Resource(model=People)
resources = [people]

app = Fasteve(resources=resources)

Start a database (mongodb default):

$ docker run --rm -p 27017:27017 mongo

Run the server with:

$ uvicorn main:app --reload

The API is now live, ready to be consumed:

$ curl -i http://localhost:8000/people
HTTP/1.1 200
...
{
    "_data": [],
    "_meta": {"max_results": 25, "total": 0, "page": 1},
    "_links": {
        "self": {"href": "/people", "title": "people"},
        "parent": {"href": "/", "title": "home"},
    },
}

Features (TODO)

  • Powered by FastAPI ✅
  • Emphasis on REST ✅
  • Full range of CRUD operations ✅
  • Customizable resource endpoints ✅
  • Sub Resources ✅
  • Pagination ✅
  • HATEOAS ✅
  • Bulk create ✅
  • Data Validation ✅
  • Extensible Data Validation ✅
  • Unique Fields ✅
  • CORS Cross-Origin Resource Sharing ✅
  • Read-only by default ✅
  • Default Values ✅
  • Embedded Resource Serialization ✅
  • Event Hooks ✅
  • Custom ID Fields ✅
  • Alternative ID Fields ✅
  • Interactive API docs (provided by Swagger UI) ✅
  • Alternative API docs (provided by ReDoc) ✅
  • Repeated Background Tasks ✅
  • MongoDB Support ✅
  • SQL Support ✅
  • Predefined Database Filters
  • Projections
  • JSONP
  • Customizable, multiple item endpoints
  • Filtering and Sorting
  • JSON and XML Rendering
  • Conditional Requests
  • Data Integrity and Concurrency Control
  • Resource-level Cache Control
  • API Versioning
  • Document Versioning
  • Authentication
  • Rate Limiting
  • File Storage
  • GeoJSON
  • Internal Resources
  • Enhanced Logging
  • Operations Log
  • MongoDB Aggregation Framework

License

Fasteve is a open source project, distributed under the BSD license

Latest Changes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fasteve-0.2.3.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

fasteve-0.2.3-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file fasteve-0.2.3.tar.gz.

File metadata

  • Download URL: fasteve-0.2.3.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.2 Linux/5.13.0-1021-azure

File hashes

Hashes for fasteve-0.2.3.tar.gz
Algorithm Hash digest
SHA256 210b72871920245e20c0bc6725bee341f4e14775cd411309ea82cbf904d30c19
MD5 30431ef0a88a4a82c805f0b6c99f9d47
BLAKE2b-256 7960713211ff68105a463dc15c8707681eab07550fc4df99094fc42f3dfcb6b5

See more details on using hashes here.

File details

Details for the file fasteve-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: fasteve-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.2 Linux/5.13.0-1021-azure

File hashes

Hashes for fasteve-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c61b7afac3a2f0f0109339a09c6079df45b414aaeb0d219e59177952cc31069b
MD5 67aca5bc91287a9c9c69bd43b07bcffd
BLAKE2b-256 a60521c85f884bc1442ef93f23c86479cb47f1fb6ab3f3b7cef546986aa4aff9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page