Our great sponsors
-
starlite
Discontinued Light, Flexible and Extensible ASGI API framework | Effortlessly Build Performant APIs [Moved to: https://github.com/litestar-org/litestar]
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
msgspec
A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Hello there fellow Pythonistas, do you have a moment to talk about the web framework of choice, Starlite?
As you can see, in this benchmark Starlite handily beats even blakchseep, a notoriously fast ASGI framework written in Cython
In version 1.45.0, we introduced msgspec as our serialization backend, replacing orjson. This had some immediate performance benefits, but that's not the main reason we made the switch.
In version 1.45.0, we introduced msgspec as our serialization backend, replacing orjson. This had some immediate performance benefits, but that's not the main reason we made the switch.
The second biggest one will be moving away from mkdocs and to Sphinx. During the process of the documentation overhaul, it has become clear that, while a great tool, mkdocs simply is not fit for the purpose of providing well structured, larger scale documentation. It definitely has its merits, and I would absolutely recommend it for someone looking for a simple tool to write not to complex docs, but if it's going to be more involved, mkdocs' shortcomings will catch up with you at some point.
As you can see, in this benchmark Starlite handily beats even blakchseep, a notoriously fast ASGI framework written in Cython
Msgspec is more than a JSON library; Its distinctive quality is that it combines parsing and schema validation into a single step. Libraries like Pydantic work by first parsing e.g. a JSON string into Python data types, and then validate those. Msgspec combines these two steps, which can drastically increase performance. Currently, we make heavy use of Pydantic in Starlite, using it to parse all kinds of things. Headers, query parameters, request data, etc. While this is very convenient, it's not that performant.
Mkdocs has the mkdocstrings plugin, offering limited automated API documentation capabilities. It is however nowhere near as capable as Sphinx' autodoc, missing granularity in its configuration, limited intersphinx-like cross-referencing support, and essential features like documentation of inherited members, or the ability to manually describe objects if needed.
Are you guys going to update https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks/Python/starlite ? It's still on 1.7.1 !
Related posts
- Need help developing a high performance Redis ORM for Python
- Blog post: Writing Python like itβs Rust
- Show HN: Msgspec, a fast serialization/validation library for Python
- Koda Validate: Alternative to Pydantic that is faster, more flexible, and async-compatible.
- Parsing and validating `pyproject.toml` files with msgspec