workspace/projects/trading-platform/QUICKSTART_PYTHON.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- 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>
2025-12-08 10:44:23 -06:00

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:

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

  1. Activar entorno

    conda activate orbiquant-<service>
    
  2. Crear feature branch

    git checkout -b feature/nueva-funcionalidad
    
  3. Desarrollar

    • Escribir código en src/
    • Seguir principios SOLID
    • Agregar type hints
  4. Tests

    pytest tests/unit/
    
  5. Code quality

    black src/ && isort src/ && flake8 src/
    
  6. 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.