Thank you for your interest in contributing to Smokescreen! We welcome contributions from the broader astronomy and cosmology community, not just DESC members.
- Fork the repository and clone it locally.
- Install the development dependencies:
pip install -e ".[dev]"
or
conda env create -f environment.yml
conda activate desc_smokescreen- Create a branch for your changes:
git checkout -b feature/your-feature-name
- Open an issue related to your contribution and link your PR to it.
Please open an issue on GitHub with a clear description of the problem, a minimal reproducible example, and the version of Smokescreen you are using.
Open an issue describing the proposed feature, its motivation, and — where possible — a sketch of the intended API or behaviour.
- Ensure your changes are covered by tests. Smokescreen uses
pytest; run the test suite with:pytest
- Follow the existing code style. We use
flake8for linting. - Update the documentation and changelog where relevant.
- Open an issue related to your PR
- Open a pull request against the
mainbranch with a clear description of your changes and the motivation behind them. Link it to the issue you opened.
Contributors are expected to adhere to a standard of respectful and inclusive collaboration. We follow the Contributor Covenant code of conduct.
Smokescreen is designed to be likelihood- and probe-agnostic, delegating theory calculations to Firecrown. Contributions that extend blinding support to new Firecrown likelihoods, improve interoperability, or add new blinding schemes are especially welcome.
For questions about contributing, feel free to open an issue or reach out to the maintainers via the DESC Slack (for DESC members) or GitHub Discussions and issues.