Summary
Add tox configuration following OpenStack standards while keeping uv for development.
Motivation
Most OpenStack projects use tox for testing and CI/CD. Our project should follow these standards to be familiar to OpenStack contributors.
Use cases:
- Run tests:
tox -e py3 or tox -e py310
- Run linting:
tox -e pep8
- Generate coverage:
tox -e cover
- Build docs:
tox -e docs
- Run in venv:
tox -e venv -- <command>
Proposal
Add tox.ini following OpenStack SDK patterns:
- Basic environments:
py3, py{310,311,312}
- Linting:
pep8 (using ruff instead of flake8)
- Coverage:
cover
- Venv:
venv for arbitrary commands
- Consider using
tox-uv plugin for performance while keeping OpenStack-style configuration
Keep existing uv workflow for fast local development.
Additional context
Reference: openstacksdk tox.ini
Related to #76 - Supporting various package managers for common OpenStack users.