1
π Organizacao de pastas
A estrutura segue padroes de projetos Python modernos com separacao clara de responsabilidades.
notebooklmx/
βββ app/
β βββ __init__.py
β βββ main.py # Entry point FastAPI
β βββ config.py # Configuracoes
β βββ database.py # SQLite setup
β βββ routers/ # Endpoints
β β βββ notebooks.py
β β βββ sources.py
β β βββ chat.py
β βββ services/ # Logica de negocio
β β βββ pipeline.py # Pipeline Universal
β β βββ persona_utils.py # Governanca Cognitiva
β βββ generators/ # Geradores de artefatos
β β βββ docx_gen.py
β β βββ audio_gen.py
β β βββ video_gen.py
β βββ models/ # Schemas Pydantic
βββ static/ # Frontend
βββ tests/
βββ .env.example
βββ requirements.txt
βββ README.md
2
π Principais arquivos
main.py
Inicializacao FastAPI, CORS, routers, lifespan events
pipeline.py
Implementacao dos 9 passos do Pipeline Universal
persona_utils.py
Sistema de personas e preferencias
database.py
Conexao SQLite, modelos, queries de auditoria
3
π§ Configuracoes
Variaveis de ambiente e configuracoes do sistema.
# .env
GEMINI_API_KEY=your_api_key
DATABASE_URL=sqlite:///./notebooklmx.db
LOG_LEVEL=INFO
MAX_TOKENS=8192
DEFAULT_PERSONA=professional
ENABLE_COST_TRACKING=true
STORAGE_PATH=./storage
4
π Dependencias
# requirements.txt
fastapi==0.109.0
uvicorn==0.27.0
google-generativeai==0.3.2
python-dotenv==1.0.0
pydantic==2.5.3
python-multipart==0.0.6
python-docx==1.1.0
gtts==2.5.0
moviepy==1.0.3
aiosqlite==0.19.0
structlog==24.1.0
5
π Setup e instalacao
Passos para rodar
# 1. Clone o repositorio
git clone https://github.com/example/notebooklmx.git
cd notebooklmx
# 2. Crie ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou: venv\Scripts\activate # Windows
# 3. Instale dependencias
pip install -r requirements.txt
# 4. Configure variaveis
cp .env.example .env
# Edite .env com sua GEMINI_API_KEY
# 5. Execute
uvicorn app.main:app --reload
# Acesse: http://localhost:8000
6
π§ͺ Ambiente de desenvolvimento
Ferramentas Recomendadas
- β’VSCode + Python extension
- β’Black - formatacao
- β’Ruff - linting rapido
- β’pytest - testes
Hot Reload
# Desenvolvimento com auto-reload
uvicorn app.main:app \
--reload \
--reload-dir app \
--host 0.0.0.0 \
--port 8000
π Resumo do Modulo
βEstrutura - Organizacao clara por responsabilidade
βConfiguracao - Variaveis de ambiente para flexibilidade
βDependencias - Stack minimo e focado
βSetup - Ambiente pronto em minutos