Skip to main content

CLI para gerar projeto API Flask segura (Mongo/MariaDB/PostgreSQL) a partir de um template robusto.

Project description

# gerador-api-segura-v3

**CLI** para gerar uma **API Flask Segura** com suporte a **MongoDB / MariaDB / PostgreSQL**, incluindo:
- Autenticação **JWT**
- **RBAC** (papéis) e firewall por IP para rotas admin
- **Rate Limiting**
- **CORS**
- **Flask-Talisman** (CSP, HSTS, headers de segurança)
- **Swagger UI** (com proteção opcional por JWT admin)
- **Logs** (arquivo giratório)
- **Métricas Prometheus**
- **Docker/Docker Compose** e **NGINX** (opcional)

> O pacote empacota e expõe seu script `gerador_api_segura_v3.py` como um comando de terminal.

---

## ⚙️ Requisitos

- **Python 3.10+** (recomendado 3.12/3.13)
- (Opcional) **Docker** e **Docker Compose**

---

## 🚀 Como usar (recomendado: `pipx`)

Sem criar `venv` e sem “sujar” o Python do sistema:

```bash
pip install -U pipx
pipx ensurepath   # se pedir, feche e reabra o terminal/PowerShell
pipx run gerador-api-segura-v3==0.1.12 --dest MinhaAPI

Troque MinhaAPI pelo nome da pasta do seu projeto.
O gerador pergunta interativamente o necessário (DB, porta, etc).
Você também pode passar --db mongo|mariadb|postgres.

Instalar o comando permanentemente (opcional)

pipx install gerador-api-segura-v3==0.1.12
gerador-api-segura --version
# ou, dependendo do entrypoint disponível:
gerador-api-segura-v3 --version

🧪 Exemplos rápidos

# Projeto padrão (PostgreSQL)
pipx run gerador-api-segura-v3==0.1.12 --dest MinhaAPI

# MongoDB
pipx run gerador-api-segura-v3==0.1.12 --dest MinhaAPI --db mongo

# MariaDB
pipx run gerador-api-segura-v3==0.1.12 --dest MinhaAPI --db mariadb

As flags --dest e --db são opcionais; o gerador pergunta se você não informar.


🧰 Alternativa: usar venv

Windows (PowerShell)

# 1) criar a venv na pasta atual
python -m venv .venv

# 2) ativar
.\.venv\Scripts\Activate.ps1

# 3) atualizar o pip (sempre pelo -m)
python -m pip install -U pip

# 4) instalar o gerador
python -m pip install "gerador-api-segura-v3>=0.1.12"

# 5) rodar o gerador
# opção A (sempre funciona)
python -m gerador_api_segura_v3 --dest MinhaAPI --db postgres

# opção B (executável da venv)
.\.venv\Scripts\gerador-api-segura.exe --dest MinhaAPI --db postgres

# sair da venv
deactivate

Se o PowerShell bloquear a ativação:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned e ative novamente.

Linux / macOS

# 1) criar
python3 -m venv .venv

# 2) ativar
source .venv/bin/activate

# 3) atualizar pip
python -m pip install -U pip

# 4) instalar o gerador
python -m pip install "gerador-api-segura-v3>=0.1.12"

# 5) rodar
# opção A (sempre funciona)
python -m gerador_api_segura_v3 --dest MinhaAPI --db mongo

# opção B (executável da venv)
./.venv/bin/gerador-api-segura --dest MinhaAPI --db mongo

# sair
deactivate

⚡ One-liner (sem pipx, sem venv)

Instalar e rodar em um comando:

python -m pip install -U gerador-api-segura-v3 ; python -m gerador_api_segura_v3 --dest MinhaAPI

🔁 Atualizar / Remover

pipx

pipx upgrade gerador-api-segura-v3
pipx uninstall gerador-api-segura-v3

pip (global/venv)

python -m pip install -U gerador-api-segura-v3
python -m pip uninstall gerador-api-segura-v3

🛠️ Solução de problemas

“Comando não reconhecido” após pipx install

Rode pipx ensurepath e reabra o terminal/PowerShell.

Conflito entre global e venv

Prefira python -m gerador_api_segura_v3 ... (usa o Python ativo).

Quero ver de onde vem o comando

  • Windows: Get-Command gerador-api-segura* -ErrorAction SilentlyContinue
  • Linux/macOS: which gerador-api-segura

Verificar versão instalada

python - << "PY"
import importlib.metadata as m
print("gerador-api-segura-v3:", m.version("gerador-api-segura-v3"))
PY

🔧 Desenvolvimento local

Instalação em modo desenvolvimento (a partir do código-fonte):

# dentro da pasta do projeto
python -m pip install -U build hatchling
python -m pip install -e .
gerador-api-segura --version

📦 Sobre o pacote

Este repositório/pacote contém o CLI do gerador.
Ele chama o script empacotado gerador_api_segura_v3.py e gera a estrutura do projeto Flask com os recursos de segurança e devops listados acima.


📄 Licença

MIT

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

gerador_api_segura_v3-0.1.14.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gerador_api_segura_v3-0.1.14-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file gerador_api_segura_v3-0.1.14.tar.gz.

File metadata

  • Download URL: gerador_api_segura_v3-0.1.14.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for gerador_api_segura_v3-0.1.14.tar.gz
Algorithm Hash digest
SHA256 89a14f719c92c41a8b24554636807fd0bdfca7349dbbfcd8c67222b209a769cf
MD5 31393b187b4ec6c91a93d2afb080cf46
BLAKE2b-256 2e53fb5b828cf3b1cf46c2a3d2874bb984d8ca3889a571f773df0cd968a0b52e

See more details on using hashes here.

File details

Details for the file gerador_api_segura_v3-0.1.14-py3-none-any.whl.

File metadata

File hashes

Hashes for gerador_api_segura_v3-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 e8e838f5c4ccc2d424da3d9c50f95e2b226d54c185b44f0aaaac91a78ba79667
MD5 1b9179bc17d7e5a853f968e39dabb8e5
BLAKE2b-256 4a0bddf9fe98751c4a5a9c66d5ceb1b09c68eae391096c45e1ab94b80b140324

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page