Contributing
Contributions to XPS Analyzer are welcome. The project is in active development and follows a structured contribution process.
Development Priorities
- GUI interactivity improvements (Streamlit)
- Advanced visualization (Plotly integration planned)
- API documentation
Process
- Fork the repository
- Create a feature branch from
main - Implement your changes with tests
- Run tests — all 355 tests must pass
- Submit a pull request with a clear description
Code Standards
- Language: Python ≥ 3.10 with type hints
- Style: ruff (line length 88, PEP 8 compatible)
- Validation: Pydantic v2 for all data models
- Immutability:
model_copy(deep=True)for spectral modifications - Testing: pytest with coverage > 90%
Pull Request Guidelines
- Keep PRs focused on single concern
- Include test coverage for new functionality
- Update documentation (API_DOCS.md) if public API changes
- Reference any related issues
Reporting Issues
Report bugs or feature requests at: https://github.com/JesusF10/xps-data-analysis/issues
Full details in CONTRIBUTING.md on GitHub.