--- name: wsl-python description: WSL + Conda Python workflow patterns for Invoice Master projects --- # WSL Python Workflow ## Command Prefix (REQUIRED) All Python commands MUST use this prefix: ```bash wsl bash -c "source ~/miniconda3/etc/profile.d/conda.sh && conda activate invoice-sm120 && " ``` NEVER run Python commands directly in Windows PowerShell/CMD. ## Common Commands ### Run Tests ```bash wsl bash -c "source ~/miniconda3/etc/profile.d/conda.sh && conda activate invoice-sm120 && cd /mnt/c/Users/yaoji/git/ColaCoder/invoice-master-poc-v2 && pytest tests/ -v" ``` ### Run Specific Test File ```bash wsl bash -c "source ~/miniconda3/etc/profile.d/conda.sh && conda activate invoice-sm120 && cd /mnt/c/Users/yaoji/git/ColaCoder/invoice-master-poc-v2 && pytest tests/ -v -s" ``` ### Run Tests with Coverage ```bash wsl bash -c "source ~/miniconda3/etc/profile.d/conda.sh && conda activate invoice-sm120 && cd /mnt/c/Users/yaoji/git/ColaCoder/invoice-master-poc-v2 && pytest --cov=packages --cov-report=term-missing tests/" ``` ### Format Code ```bash wsl bash -c "source ~/miniconda3/etc/profile.d/conda.sh && conda activate invoice-sm120 && cd /mnt/c/Users/yaoji/git/ColaCoder/invoice-master-poc-v2 && black packages/ && ruff check --fix packages/" ``` ## Environment Details - Python: 3.10.19 - Conda env: `invoice-sm120` - PDF DPI: 150 (not 300) - Pre-existing test failures: `tests/shared/storage/test_s3.py`, `test_azure.py` (missing boto3/azure modules - safe to ignore) ## Path Mapping - Windows: `c:\Users\yaoji\git\ColaCoder\invoice-master-poc-v2\` - WSL: `/mnt/c/Users/yaoji/git/ColaCoder/invoice-master-poc-v2/`