- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.3 KiB
5.3 KiB
Quick Start - Python Services
Guía rápida para empezar a desarrollar en los servicios Python de OrbiQuant IA.
Setup Inicial (Una sola vez)
# 1. Navegar al proyecto
cd /home/isem/workspace/projects/trading-platform
# 2. Crear todos los entornos
./scripts/setup-python-envs.sh all
# 3. Verificar instalación
~/miniconda3/bin/conda env list | grep orbiquant
Data Service
# Activar entorno
conda activate orbiquant-data-service
# Configurar
cd apps/data-service
cp .env.example .env
# Editar .env con tus configuraciones
# Ejecutar
python -m src.main
# Tests
pytest
ML Engine
# Activar entorno
conda activate orbiquant-ml-engine
# Configurar
cd apps/ml-engine
cp .env.example .env
# Ejecutar API
uvicorn src.main:app --reload --port 8002
# Jupyter (desarrollo)
jupyter notebook
# Tests
pytest --cov=src
LLM Agent
# Activar entorno
conda activate orbiquant-llm-agent
# Configurar
cd apps/llm-agent
cp .env.example .env
# IMPORTANTE: Agregar ANTHROPIC_API_KEY
# Ejecutar API
uvicorn src.main:app --reload --port 8003
# Acceder a docs
# http://localhost:8003/docs
# Tests
pytest --cov=src --cov-report=html
Comandos de Desarrollo
Code Quality
# Format
black src/
isort src/
# Lint
flake8 src/
# Type check
mypy src/
# Todo junto
black src/ && isort src/ && flake8 src/ && mypy src/
Testing
# Todos los tests
pytest
# Con coverage
pytest --cov=src --cov-report=html
# Tests específicos
pytest tests/unit/
pytest tests/integration/
pytest tests/unit/test_service.py -v
# Con logs
pytest -v -s
Gestión de Entornos
# Listar entornos
conda env list
# Activar
conda activate orbiquant-ml-engine
# Desactivar
conda deactivate
# Eliminar
conda env remove -n orbiquant-ml-engine
# Recrear
conda env create -f environment.yml
# Actualizar
conda env update -f environment.yml --prune
# Exportar
conda env export > environment.yml
Dependencias
# Instalar nueva dependencia
conda install <package>
# o
pip install <package>
# Actualizar requirements.txt
pip freeze > requirements.txt
# Listar instaladas
conda list
pip list
# Buscar paquete
conda search <package>
Acceso Rápido a APIs
Una vez ejecutando los servicios:
- Data Service: http://localhost:8001
- ML Engine: http://localhost:8002/docs
- LLM Agent: http://localhost:8003/docs
Troubleshooting Rápido
Error: Conda no encontrado
# Verificar instalación
ls -la ~/miniconda3/bin/conda
# Si no existe, reinstalar
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p ~/miniconda3
Error: Puerto en uso
# Ver qué usa el puerto
lsof -i :8003
# Matar proceso
kill -9 <PID>
# Usar otro puerto
uvicorn src.main:app --port 8004
Error: Import not found
# Verificar entorno activo
conda info --envs
# Reinstalar paquete
pip install --force-reinstall <package>
# Verificar instalación
python -c "import <package>; print(<package>.__version__)"
Error: PyTorch CUDA
# Verificar CUDA
nvidia-smi
# Reinstalar PyTorch con CUDA
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
# Verificar
python -c "import torch; print(torch.cuda.is_available())"
Estructura de Proyecto
apps/{service}/
├── src/
│ ├── main.py # Entry point
│ ├── config.py # Settings
│ ├── models/ # Pydantic models
│ ├── services/ # Business logic
│ ├── repositories/ # Data access
│ └── api/ # Routes
├── tests/
├── environment.yml
├── requirements.txt
└── .env.example
Workflow de Desarrollo
-
Activar entorno
conda activate orbiquant-<service> -
Crear feature branch
git checkout -b feature/nueva-funcionalidad -
Desarrollar
- Escribir código en
src/ - Seguir principios SOLID
- Agregar type hints
- Escribir código en
-
Tests
pytest tests/unit/ -
Code quality
black src/ && isort src/ && flake8 src/ -
Commit
git add . git commit -m "feat: nueva funcionalidad"
Recursos
- Documentación completa:
/docs/95-guias-desarrollo/ml-engine/SETUP-PYTHON.md - Resumen setup:
/PYTHON_SETUP_SUMMARY.md - Scripts:
/scripts/
Comandos de Un Solo Paso
# Setup completo desde cero
cd /home/isem/workspace/projects/trading-platform && \
./scripts/setup-python-envs.sh all
# Iniciar LLM Agent
conda activate orbiquant-llm-agent && \
cd apps/llm-agent && \
uvicorn src.main:app --reload --port 8003
# Tests completos
conda activate orbiquant-ml-engine && \
cd apps/ml-engine && \
pytest --cov=src --cov-report=html && \
firefox htmlcov/index.html
# Code quality check
black src/ && isort src/ && flake8 src/ && mypy src/ && pytest
Para más información, consulta la documentación completa en /docs.