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