A simple framework to build Android apps using Python and CSS-like styling
Project description
🚀 ApkPy — Cria as tuas Apps Android em Python
ApkPy é uma framework inovadora e super leve que te permite construir aplicações Android nativas usando apenas Python e CSS. Esquece a complexidade de aprender Java/Kotlin ou de mexer em ficheiros XML confusos. Com o ApkPy, tu escreves código Python simples, e nós geramos automaticamente um projeto Android Studio pronto a compilar num ficheiro APK, completo com todos os ecrãs e estilos nativos.
🔥 Porquê usar o ApkPy?
- ⚡ Zero XML e Java: Desenha a tua interface em Python. O ApkPy converte tudo para código Java e XML nativo do Android magicamente!
- 📱 Componentes 100% Nativos: Nada de WebViews lentas. Os teus botões e caixas de texto são os verdadeiros elementos do Android (Activity, EditText, Button), garantindo uma performance impecável.
- 🎨 Estilos CSS-Like: Estiliza a tua app usando sintaxe inspirada em CSS diretamente no teu ficheiro Python. Nós traduzimos e geramos os
.xmlde Android para propriedades complexas como fundos, cores e atéborder-radius. - 💻 Preview em Tempo Real: Testa e interage com o design da tua app diretamente no teu computador através de uma janela simuladora antes de compilar.
- 🔄 Multi-Ecrãs: Cria aplicações complexas com múltiplos ecrãs (Activities nativos) e viaja entre eles com um só comando.
📥 Instalação
Podes instalar o ApkPy de forma rápida usando o gestor de pacotes pip:
pip install apkpy
(Se já tens o apkpy instalado, acede à novíssima versão usando: pip install --upgrade apkpy)
🛠️ Comandos na Consola (CLI)
O ApkPy traz comandos essenciais e fáceis de usar no teu terminal:
-
apkpy start o_nome_do_projetoCria uma nova pasta com o nome que ditares e carrega o template base num ficheiro chamadowritehere.py. Lá que podes logo começar a desenhar todos os ecrãs. -
apkpy buildEste é o comando magia-negra! Ele analisa o teuwritehere.pye extrai todo o visual e fluxos num ficheiromeu_app_android.zip. Dentro do zip terás o Projeto Android Studio Completo (código fonte em Java, Manifestos, Layouts XML e Drawables criados do zero). Depois só tens de extrair, abrir e exportar o APK!
📖 Como Funciona? (Exemplos de Código)
Completely esquece os milhares de ficheiros de Java. Uma app no ApkPy é assim:
1. App Simples: Ecrã de Login Moderno com Estilos
from apkpy_lib.ui import Screen, button, label, inputs, run
# Cria o ecrã
login_screen = Screen(id="login")
# Adiciona elementos e aplica lhes estilos via ID
label("Bem-vindo à ApkPy!", screen=login_screen)
inputs("O teu username", type="text", screen=login_screen, id="user")
inputs("A tua password secreta", type="password", screen=login_screen, id="pass")
button("Entrar na App", screen=login_screen, id="btn_entrar")
# Estilizar facilmente com CSS (Suportado: cores, border-radius e bordas)
style = """
btn_entrar {
background-color: blue;
color: white;
border-radius: 20px;
border-color: none;
}
pass {
border-radius: 10px;
border-color: red;
}
"""
# Arrancar o simulador no teu Computador
run(start_screen=login_screen)
2. Multi-Ecrãs e Navegação Fluente
Navegar pelos menus nunca foi tão fácil numa App Android:
from apkpy_lib.ui import Screen, button, label, run
# Ecrã 1
home = Screen(id="home")
label("Este é o Menu Principal", screen=home)
btn_seguinte = button("Ir para Definições", screen=home)
# Ecrã 2
settings = Screen(id="settings")
label("Aqui podes alterar definições.", screen=settings)
btn_voltar = button("Voltar", screen=settings)
# Fazer os botões viajar entre ecrãs (Traduzido para Java Intents)
home.on_click_navigate(button=btn_seguinte, to=settings)
settings.on_click_navigate(button=btn_voltar, to=home)
run(start_screen=home)
📦 Elementos UI Suportados
O ApkPy já integra nativamente ferramentas fantásticas da UI Android em caixas mágicas que podes testar com o inputs():
label("Apenas texto"): Texto visual indicativo do que se passa.button("Ação"): Um botão perfeitamente responsivo ao touch.inputs(type="text"): A caixa para o utilizador introduzir letras ou números.inputs(type="password"): Caixa de Input protegida por estrelas (***) contra mira.inputs(type="search"): Caixa de texto formatada para pesquisar dados (X nativo).inputs(type="checkbox"): Para selecionar se algo está ativado, caixa com visto.inputs(type="radio", placeholder="Cão|Gato"): Bolas de seleção para inquéritos. Apenas podes escolher um animal (basta escrever opções e pôr barra |).inputs(type="range"): Controlador e visualizador de uma barra deslizante de ajuste.
Transformando anos de estudos Android, em míseros minutos do teu tempo. Cria. Compila. Surpreende em ApkPy!
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
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 apkpy-0.2.1.tar.gz.
File metadata
- Download URL: apkpy-0.2.1.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40c96e38a05b953255e49475d7d2cee53daa538c900a2fefc4f8fbff55baea64
|
|
| MD5 |
6816291e419d350df2cf30cb92d94df1
|
|
| BLAKE2b-256 |
685c56ced47f4e94a31d06342e800d9ec5745030c0cd464b2869aca0edbb510e
|
File details
Details for the file apkpy-0.2.1-py3-none-any.whl.
File metadata
- Download URL: apkpy-0.2.1-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87c6e9de403a6dbbe35faf54e4d126b2ade28f4f567801fa49dcdc265e540ebd
|
|
| MD5 |
4392f9551a287db4fd0fca4388d65633
|
|
| BLAKE2b-256 |
c1fa9e336f888a0ad64f946eabcc31c33bf2468780434686b13e298598517a7c
|