Skip to main content

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

Metadata

Release files for fasteve 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fasteve 0.2.3
File Size Uploaded
fasteve-0.2.3.tar.gz 21.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fasteve 0.2.3
File Interpreter ABI Platform
fasteve-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 51.1 kB

Release files / fasteve-0.2.3.tar.gz

Download URL fasteve-0.2.3.tar.gz
Size 21.9 kB
Tags Source
SHA-256 checksum
How to use checksums
210b72871920245e20c0bc6725bee341f4e14775cd411309ea82cbf904d30c19
BLAKE2b-256 checksum
How to use checksums
7960713211ff68105a463dc15c8707681eab07550fc4df99094fc42f3dfcb6b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.2 Linux/5.13.0-1021-azure

Release files / fasteve-0.2.3-py3-none-any.whl

Download URL fasteve-0.2.3-py3-none-any.whl
Size 29.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c61b7afac3a2f0f0109339a09c6079df45b414aaeb0d219e59177952cc31069b
BLAKE2b-256 checksum
How to use checksums
a60521c85f884bc1442ef93f23c86479cb47f1fb6ab3f3b7cef546986aa4aff9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.8.2 Linux/5.13.0-1021-azure

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page