Development Setup¶
Set up your development environment for contributing to dppvalidator.
Prerequisites¶
- Python 3.10 or higher
- uv (recommended) or pip
- Git
Clone the Repository¶
Install Dependencies¶
Using uv (recommended)¶
# Install all dependencies including dev tools
uv sync
# Activate the virtual environment
source .venv/bin/activate
Using pip¶
Verify Installation¶
Project Structure¶
dppvalidator/
├── src/dppvalidator/ # Main package
│ ├── models/ # Pydantic models
│ ├── validators/ # Validation logic
│ ├── exporters/ # Export formats
│ ├── cli/ # Command line interface
│ └── plugins/ # Plugin system
├── tests/ # Test suite
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ ├── property/ # Property-based tests
│ └── fuzz/ # Fuzzing tests
├── docs/ # Documentation
└── benchmarks/ # Performance benchmarks
Development Workflow¶
- Create a feature branch from
develop - Make your changes
- Run tests and linting
- Submit a pull request
# Create feature branch
git checkout develop
git checkout -b feature/my-feature
# Make changes...
# Run checks
uv run ruff check .
uv run pytest
# Commit and push
git add .
git commit -m "feat: add my feature"
git push origin feature/my-feature
Pre-commit Hooks¶
Install pre-commit hooks for automatic linting:
Next Steps¶
- Code Style — Coding conventions
- Testing — Writing tests