starlite
api-performance-tests
starlite | api-performance-tests | |
---|---|---|
73 | 10 | |
2,019 | 30 | |
- | - | |
9.4 | 5.3 | |
about 1 year ago | 4 days ago | |
Python | Python | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
starlite
-
Renaming Starlite to LiteStar
For the past one and a half years 😁. Checkout our docs https://starliteproject.dev/
-
Starlite updates March '22 | 2.0 is coming
#1286 is the issue tracking the removal of our last internal Pydantic datastructure, and PR #1382 has the addition of attrs based signature modelling. Once those are merged you will be able to use Starlite without Pydantic.
-
How do I gzip/compress my API responses?
You can go to Open an Issue and open an issue for a feature request/enhancement and describe basically the behavior you are wanting to see.
-
Is something wrong with FastAPI?
Falcon FastAPI Sanic Starlite (disclosure: I do work here)
- Is ruby a language still worth learning for web development?
- Starlite February Updates
-
Best framework to learn if I don't care about getting a job and just want to make projects
for server side , starliteproject.dev/, only python async framwork worth looking into.
-
Python projects with best practices on Github?
Well, I'm not objective but I'd say Starlite (https://github.com/starlite-api/starlite) is a might fine codebase. You can also learn a lot about tooling and typing going through it.
-
Is learning Flask before Django or FastAPI a good way to introduce myself in Python Web Development?
I have mentioned your concerns to the Starlite discussions board - https://github.com/starlite-api/starlite/discussions/1183
-
Starlite v1.51.0 Released
You can find the complete changelog on our v1.51.0 GitHub release page.
api-performance-tests
-
Starlite December '22 Updates
Since version v1.39.0 Starlite (released on the 12.11.22) no longer has any dependency on Starlette. Between this version and v1.45.0 that was released today (11.12.22), we have invested significant effort into benchmarking and optimizing code. One of our maintainers, @provinzkraut (Janek Nouvertné), has done amazing work rewriting our benchmarking framework. You can read more about this in here and run the benchmarks on your own by cloning the benchmark repository. The results are pretty impressive if I may say so myself:
-
Starlite new features, benchmarks and a call for contributors and maintainers
Another important point I want to address is the framework's performance. The latest iteration of the TechPowered Benchmarks came out and they really surprised us. Starlite appeared rather slow there, and FastAPI was almost 200% faster thatn Starlette, which isn't technically possible given the structure of this library. Obviously something weird is happening there (no clue what), but this compelled us to invest some more efforts into our own benchmarking, the repository for which you can see here.
-
Starlite updates, features and community suggestions
here: https://github.com/Goldziher/api-performance-tests
-
Starlite vs. FastAPI vs. Starlette benchmarks
I used autocannon for this - which is a very cool benchmarking tool (I am not involved with it in any way). You can see the tests and more details in this repo. In a nutshell - I used identical setup for all 3 frameworks. Since both FastAPI and Starlite use Starlette as a basis, I also compared with Starlette.
- Starlite comparison to FastAPI and Starlette
-
Starlite is one of the fastest python API frameworks - its even faster than Starlette and FastAPI
I looked but still don’t understand… https://github.com/Goldziher/api-performance-tests/blob/main/results/json-starlite-sync-json-abc-1.json has 32k requests (per second?) but your graphs talk about 107
-
Starlite is fast(er)
Legend: - a-: async, s-: sync - np: no params, pp: path param, qp: query param, mp: mixed params **Note*\*: only Starlite uses orjson by default - using their default settings both Starlette and FastAPI are significantly slower in serializing/deserializing JSON. You can find the tests in this repo, which also documents the test setup etc. As always, I invite you to checkout Starlite and maybe ⭐our repo. Starlite is a collaborative project - we have a discord server, which you can find here. You can find my previous reddit posts related to Starlite in these links: 1. Post regarding the builtin support for SQL Alchemy and the plugin system 2. Post introducing Starlite You can also read the article in medium (no pay gate) introducing Starlite.
-
Starlite is faster than Starlette and FastAPI
You can find the tests in this repo, which also documents the test setup etc.
What are some alternatives?
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
elements - Build beautiful, interactive API Docs with embeddable React or Web Components, powered by OpenAPI and Markdown.
fastapi-crudrouter - A dynamic FastAPI router that automatically creates CRUD routes for your models
msgspec - A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML
starlette - The little ASGI framework that shines. 🌟
litestar - Production-ready, Light, Flexible and Extensible ASGI API framework | Effortlessly Build Performant APIs
uvicorn - An ASGI web server, for Python. 🦄
BlackSheep - Fast ASGI web framework for Python
SQLAlchemy - The Database Toolkit for Python
pydantic - Data validation using Python type hints
pydantic-factories - Simple and powerful mock data generation using pydantic or dataclasses
edX - The Open edX LMS & Studio, powering education sites around the world!