Contributing

We welcome contributions to DSIPTS! This guide will help you get started.

Development Setup

  1. Fork and clone the repository:

git clone https://github.com/your-username/DSIPTS_PTF.git
cd DSIPTS_PTF
  1. Install development dependencies:

pip install -e ".[dev]"
  1. Install pre-commit hooks:

pre-commit install

Running Tests

Run all tests:

pytest tests/

Run specific test categories:

pytest tests/unit/          # Unit tests only
pytest tests/integration/   # Integration tests only

With coverage:

pytest tests/ --cov=dsipts --cov-report=html

Code Style

We use Ruff for linting and formatting:

ruff check .
ruff format .

Documentation

Build documentation locally:

cd docs
make html

The built documentation will be in docs/_build/html/.

Pull Request Process

  1. Create a new branch for your feature:

git checkout -b feature/my-new-feature
  1. Make your changes and commit:

git add .
git commit -m "Add my new feature"
  1. Push to your fork:

git push origin feature/my-new-feature
  1. Open a Pull Request on GitHub

Guidelines

  • Write clear commit messages

  • Add tests for new features

  • Update documentation as needed

  • Follow the existing code style

  • Keep PRs focused on a single feature/fix

Questions?

Feel free to open an issue for questions or discussions!