0 purchases
flyserver 1.4.0
fly
fly is lightweight web application framework. This is a library with Python, but all the core parts of the server are implemented in C language to speed up.
Event driven architecture. (non-blocking network I/O)
Usable as Web server and Application server.
Lightweight and fast.
Since fly as a server by itself, there is no need to prepare a WSGI server or ASGI server.
fly currently supports the following platforms.
Python
Linux
macOS
FreeBSD
3.6
-
3.7
3.8
3.9
3.10
Install
$ pip install fly-server
Hello World
It is so easy to use fly.
import fly and make fly instance.
mount directory and registery route.(option)
run fly.
from fly import Fly
app = Fly()
@app.get("/")
def index(request):
return "Hello, fly!"
$ fly app.py
Result
* fly Running on 0.0.0.0:1234 (Press CTRL+C to quit)
* fly 1 workers
* Application file: /home/user/app.py
* Log to stdout: on
* Log to stderr: off
* Backlog count: 1024
* Max response content length: 1048576
* Max request content length: 1048576
* Index path: index.html
* SSL: False
* Log directory path: -
* Mount paths (/home/user/mnt,/home/user/mnt2)
- /home/user/mnt: files 2, mount_number 0
- /home/user/mnt2: files 0, mount_number 1
mount vs route
mount: use for static content(css, html, js)
route: use for dynamic content(like CGI)
Why fly ?
Interface of fly is as simple as possible. Extracted only the necessary parts as Web framework by referring to various Python web frameworks.
But, a core part of fly is implemented by C language, you can't think of it as Python Web framework.
So, if you're looking for flexible and fast Web framework, should use fly.
How fast ?
look at the result of benchmark.
HTTP version
HTTP1.1, HTTP1.1 over TLS/SSL, HTTP2 over TLS/SSL.
Contributing
Let's coding.
Fork fly.
Create a feature branch. (git checkout -b new-feature)
Commit your changes. (git commit -m explain of commit)
Push to the bench. (git push origin my-new-feature)
Create new pull request.
Dependencies
Python >= 3.6
Openssl >= 1.1.11
Zlib >= 1.2.11
libbrotli(Optional) >= 1.0.9
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.