⚡Flet-Easy is a user-friendly add-on package for Flet, offering a cleaner code structure with numerous customizable features like JWT, routers, decorators, middleware and more.
Project description
🔥Flet-Easy
Flet-Easy
is a package built as an add-on for Flet
, designed for beginners what it does is to make Flet
easier when building your apps, with a tidier and simpler code.
Features
- Easy to use (hence the name).
- Facilitates
flet
event handling. - Simple page routing (There are three ways) for whichever one suits you best. (
Docs
) - App construction with numerous pages and custom flet configurations for desktop, mobile and web sites.
- Provides a better construction of your code, which can be scalable and easy to read (it adapts to your preferences, there are no limitations).
- Dynamic routing, customization in the routes for greater accuracy in sending data. (
Docs
) - Routing protection (
Docs
) - Custom Page 404 (
Docs
) - Controlled data sharing between pages. (
Docs
) - Asynchronous support.
- Middleware Support (in the app in general and in each of the pages). (
Docs
) - JWT support for authentication sessions in the data parameter. (useful to control the time of sessions) (
Docs
) - Working with other applications. (
Docs
) - CLI to create app structure
FletEasy
(fs init
) (Docs
) - Easy integration of
on_keyboard_event
in each of the pages. (Docs
) - Use the percentage of the page width and height of the page with
on_resize
. (Docs
) ResponsiveControlsy
control to make the app responsive, useful for desktop applications. (Docs
)- Soporta Application Packaging para su distribución. (view)
📌Flet events it handles
on_route_change
: Dynamic routingon_view_pop
on_keyboard_event
on_resize
on_error
💻Installation
FletEasy provides several ways to install. This allows you to use dependencies that must be used, avoiding unnecessary things when building your application, allowing better control.
Ways to install
Install FletEasy Complete
📝NOTE If you use the
fs
cli, it is important to havegit
installed.
Installs all the dependencies to use, you can use all the functionalities provided by FletEasy
pip install flet-easy[all]
Install clean FletEasy
Requires installation of Flet >= 0.21.
pip install flet
If you do not use: CLI-to-create-app
pip install flet-easy
Install FletEasy if you need to use Basic-JWT
pip install flet-easy[JWT]
💻Update:
pip install flet-easy --upgrade
🔥Flet-Easy app example
Here is an example of an application with 2 pages, "Home" and "Counter":
import flet as ft
import flet_easy as fs
app = fs.FletEasy(route_init="/flet-easy")
# We add a page
@app.page(route="/flet-easy", title="Flet-Easy")
def index_page(data: fs.Datasy):
return ft.View(
controls=[
ft.Text("Home page"),
ft.FilledButton("Go to Counter", on_click=data.go("/counter")),
],
vertical_alignment="center",
horizontal_alignment="center",
)
# We add a second page
@app.page(route="/counter", title="Counter")
def counter_page(data: fs.Datasy):
page = data.page
txt_number = ft.TextField(value="0", text_align="right", width=100)
def minus_click(e):
txt_number.value = str(int(txt_number.value) - 1)
page.update()
def plus_click(e):
txt_number.value = str(int(txt_number.value) + 1)
page.update()
return ft.View(
controls=[
ft.Row(
[
ft.IconButton(ft.icons.REMOVE, on_click=minus_click),
txt_number,
ft.IconButton(ft.icons.ADD, on_click=plus_click),
],
alignment="center",
),
ft.FilledButton("Go to Home", on_click=data.go("/flet-easy")),
],
vertical_alignment="center",
horizontal_alignment="center",
)
# We run the application
app.run()
🎬 Demo
🚀 How to use Flet-Easy
?
📑Documentation: https://daxexs.github.io/flet-easy/latest/
👀 Code examples
🔎 Contribute to this project
Read the CONTRIBUTING.md file
🧾 License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for flet_easy-0.2.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee8eed18ee444663d2fc832204cd62f3219f29aea0bc76f8edf0fdec0ecfe736 |
|
MD5 | 3e0082fc6a6c8bd357bd6628e01a3f44 |
|
BLAKE2b-256 | b1a0696b8a73929d6bc71ae79d9c5a23199ed8275186c0a7c99b16b365196939 |