Thank you for your interest in contributing to ViennaFit! Contributions of all kinds are welcome: bug reports, feature requests, documentation improvements, and code.
Please report bugs and request features through the GitHub issue tracker.
For bug reports, include:
- ViennaFit, ViennaPS, and Python versions
(
python -c "import viennafit, viennaps; print(viennafit.__version__, viennaps.__version__)") - Operating system
- A minimal script that reproduces the problem
- The full error message and traceback
# Clone the repository
git clone https://github.com/ViennaTools/ViennaFit
cd ViennaFit
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate
# Install in editable mode
pip install -e .
# Install and activate the formatting hooks
pip install pre-commit
pre-commit install- Code is formatted with black (line length
88); the pre-commit hook and CI enforce this. Run
black .before committing if you don't use pre-commit. - The public API uses camelCase naming (e.g.
setProcessSequence,plotParameterProgression) for consistency with the ViennaTools family (ViennaPS, ViennaLS). Please follow this convention for new public functions and methods. - Add docstrings to new functions and classes, and type hints to function signatures.
- Fork the repository and create a feature branch from
main. - Make your changes, keeping commits focused and messages descriptive.
- Update documentation (
docs/) andCHANGELOG.mdif your change affects user-facing behavior. - Open a pull request against
maindescribing what the change does and why.
For questions that are not bug reports, open a discussion or issue, or contact the maintainers at viennatools@iue.tuwien.ac.at.