Welcome to Uvicore
The Full Stack Asynchronous Python Framework with the performance of FastAPI and the elegance of Laravel!
About Uvicore
Uvicore is a fullstack async API, Web and CLI python framework. Uvicore is built on great technologies such as:
- Blazing fast dual routing engine based on FastAPI and Starlette!
- Await all the things, even your CLI's thanks to AsyncClick!
- Powerful IoC container! Full control to your app! Override everything!
- Adapter pattens for multiple backends to caching, auth, events, databases and more.
- Robust modular and deep-merged config system across uvicore modules.
- Custom and expressive ORM built on top of SQLAlchemy Core.
Uvicore is the missing fullstack asynchronous framework for elegant and rapid python development
Getting Started
View the Uvicore documentation to get started https://uvicore.io
Quick Install
https://uvicore.io/getting-started/installation/
The CLI
After starting your preferred virtual environment and installing dependencies...
./uvicore
./uvicore wiki welcome
Web and API
Assuming you chose the web extras
# Still in your virtual environment
./uvicore http routes
./uvicore http serve
- Visit http://127.0.0.1:5000
- Visit http://127.0.0.1:5000/api/docs
- Try
curl http://127.0.0.1:5000/api/welcome
Benchmarks?
Lets see how fast uvicore is!
Install https://github.com/wg/wrk on your os
# Still in your virtual environment
./serve-gunicorn
In another terminal
curl http://127.0.0.1:5000/api/welcome
wrk -c50 -t8 -d10 http://127.0.0.1:5000/api/welcome
40,000 requests a second, pretty good for a hello world! Thanks FastAPI!
Running 10s test @ http://127.0.0.1:5000/api/welcome
8 threads and 50 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.23ms 354.23us 10.40ms 69.95%
Req/Sec 4.92k 432.18 6.15k 65.30%
394740 requests in 10.10s, 57.97MB read
Requests/sec: 39083.14
Transfer/sec: 5.74MB
What about Starlette with our Welcome Jinja templates?
curl http://127.0.0.1:5000/api/welcome
wrk -c50 -t8 -d10 http://127.0.0.1:5000/api/welcome
Wow 44,000 requests a second! Starlette is blazing fast!
Running 10s test @ http://127.0.0.1:5000
8 threads and 50 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.11ms 348.15us 12.08ms 72.46%
Req/Sec 5.44k 664.22 7.26k 66.91%
436883 requests in 10.10s, 0.85GB read
Requests/sec: 43255.92
Transfer/sec: 86.30MB
Supported Python
- Uvicore 0.1 - Python 3.9
- Uvicore 0.2 - Python 3.9, 3.10
- Uvicore 0.3 - Python 3.10+
License
The Uvicore framework is open-sourced software licensed under the MIT license.
Release files for uvicore 0.4.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uvicore-0.4.11.tar.gz | 274.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uvicore-0.4.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 638.4 kB
Release files / uvicore-0.4.11.tar.gz
| Download URL | uvicore-0.4.11.tar.gz |
|---|---|
| Size | 274.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b61e74ab2e941a4c8aed6349a98da4b4b23b9193c7cf1cd4ad3b3e77e19b7cb4
|
|
BLAKE2b-256 checksum How to use checksums |
1f26012e5711c945ac3db863100e3240bcad39c39064b46d82328fb4c71789a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.7 Linux/6.12.104-1-MANJARO
|
Release files / uvicore-0.4.11-py3-none-any.whl
| Download URL | uvicore-0.4.11-py3-none-any.whl |
|---|---|
| Size | 363.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ccf588f16ebb0245b6fed408417659bf0aad95de3de9d1e29a25b4475972b4f3
|
|
BLAKE2b-256 checksum How to use checksums |
fa0d069acab14dc2afc5f93efa08041977825a3355379d43876d365776f2e667
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.14.7 Linux/6.12.104-1-MANJARO
|