FalconArch is a lightweight and modular library that provides a base structure for developing applications with Flask.
Project description
FalconArch Framework
Do you speak English? Read the README in English here
FalconArch é uma biblioteca leve e modular que fornece uma estrutura base para o desenvolvimento de aplicações com Flask. Ela simplifica a criação de rotas, o gerenciamento de blueprints e o carregamento dinâmico de controladores, além de suportar múltiplos métodos HTTP e fornecer logs detalhados para facilitar o debugging.
🚀 Recursos
- Estrutura baseada no padrão MVC: Organize sua aplicação de forma modular com os padrões Model-View-Controller.
- Registro simplificado de blueprints: Registre controladores e rotas facilmente com uma interface simples.
- Carregamento dinâmico de controladores: Carregue controladores automaticamente, sem a necessidade de configurações complicadas.
- Suporte para múltiplos métodos HTTP: Defina rotas para diferentes métodos HTTP (
GET,POST,PUT,DELETE, etc.). - Logs detalhados com emojis: O framework oferece logs com emojis para tornar o processo de debugging mais fácil e intuitivo.
📂 Estrutura do Projeto
.
├── app
│ ├── models
│ │ └── ...
│ ├── views
│ │ └── ...
│ ├── http
│ │ ├── middlewares
│ │ │ └── ...
│ │ ├── requests
│ │ │ └── ...
│ │ └── controllers
│ │ └── ...
│ └── services
│ └── ...
├── public
│ └── ...
└── routes
└── ...
🛠 Instalação
pip install falcon-arch
🎨 Como Declarar Rotas
Definindo Rotas em Arquivos:
-
Exemplo de rota para página web:
from falcon_arch import Router web = Router() web.get("/home", "HomeController@index") web.post("/submit", "FormController@submit")
-
Exemplo de rota para API:
from falcon_arch import Router users = Router(prefix="/api/users") users.get("/", "UserController@index") users.get("/<int:id>", "UserController@show") users.post("/", "UserController@store")
Registrando Rotas no Servidor:
from falcon_arch import FalconArch
app = FalconArch(__name__, template_folder="app/views", static_folder="public")
if __name__ == "__main__":
app.run(app, host="0.0.0.0", port=80, threads=10, _quiet=True)
📜 Renderizando Views
Para renderizar uma view usando Jinja, utilize o método Response.render:
from falcon_arch import Response
def index(request, response: Response):
return response.render("home.html", {"title": "Página Inicial"})
O diretório padrão para views é /app/views, e os arquivos estáticos estão localizados em /public.
📜 Licença
Este projeto é licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.
🔧 Logs e Debugging
FalconArch oferece logs detalhados e interativos com emojis, facilitando o acompanhamento do que está acontecendo na aplicação. Isso ajuda a depurar erros de forma mais eficiente e amigável.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file falcon_arch-0.0.8.tar.gz.
File metadata
- Download URL: falcon_arch-0.0.8.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9caddaab204946bc6176f1e6608bd857dd785fbf8c190d47a0bc4bed84d053ee
|
|
| MD5 |
85a50701df75544525fa259e4f9bc48a
|
|
| BLAKE2b-256 |
adf7e642fea85ffabad568c147ae8fde1c9d1decb4af13d877e5882832d7ffec
|
File details
Details for the file falcon_arch-0.0.8-py3-none-any.whl.
File metadata
- Download URL: falcon_arch-0.0.8-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f72566709e5b0538537990773544c0fe738d36c8616bca1e3d23e460541386cc
|
|
| MD5 |
3ea14651f1f43a3bc03ce47a273c2b3b
|
|
| BLAKE2b-256 |
5d57e7655ae25409c25072fdbc53c2090f8d90f37fcdf090ea4184a7def7e36a
|