[tox] env_list = py{312}, runner, sdk1 requires = tox-uv>=0.2.0 isolated_build = True [testenv] install_command = uv pip install {opts} {packages} deps = uv skip_install = true [testenv:runner] changedir = runner setenv = PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python deps = uv allowlist_externals= sh uv pytest commands_pre = # Try to install dependencies from various requirements files sh -c '[ -f cloud_requirements.txt ] && uv pip install -r cloud_requirements.txt || echo "cloud_requirements.txt not found"' # Install dependencies from pyproject.toml uv pip install -e . # Install the Flask dependency explicitly (in case the above doesn't work) uv pip install flask~=3.1.0 docker==6.1.3 redis~=5.2.1 python-dotenv>=1.0.0 kubernetes # Install test dependencies uv pip install pytest pytest-cov pytest-md-report pytest-mock commands = pytest -v --md-report-verbose=1 --md-report --md-report-flavor gfm --md-report-output ../runner-report.md [testenv:sdk1] changedir = unstract/sdk1 deps = uv allowlist_externals= sh uv pytest commands_pre = # System dependency required: libmagic1 # Install with: sudo apt-get install -y libmagic1 (Ubuntu/Debian) # Install dependencies with test group uv sync --group test commands = uv run pytest -v -m "not slow" --cov=src/unstract/sdk1 --cov-report=term --cov-report=html --md-report-verbose=1 --md-report --md-report-flavor gfm --md-report-output ../../sdk1-report.md