https://github.com/felixleopoldo/benchpress
Scalable open-source software to run, develop, and benchmark causal discovery algorithms
https://github.com/felixleopoldo/benchpress
bayesian-networks benchmarking causal-discovery causal-models causality graphical-models markov-networks reproducible-research snakemake-workflow structure-learning
Last synced: 29 days ago
JSON representation
Scalable open-source software to run, develop, and benchmark causal discovery algorithms
- Host: GitHub
- URL: https://github.com/felixleopoldo/benchpress
- Owner: felixleopoldo
- License: gpl-2.0
- Created: 2020-01-15T13:26:10.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-09-28T21:46:44.000Z (about 1 month ago)
- Last Synced: 2025-09-28T23:24:38.351Z (about 1 month ago)
- Topics: bayesian-networks, benchmarking, causal-discovery, causal-models, causality, graphical-models, markov-networks, reproducible-research, snakemake-workflow, structure-learning
- Language: Python
- Homepage: https://benchpressdocs.readthedocs.io
- Size: 124 MB
- Stars: 72
- Watchers: 4
- Forks: 20
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://snakemake.bitbucket.io)
[](https://benchpressdocs.readthedocs.io/en/latest/?badge=latest)
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
---
Benchpress [[1]](#1) is a [Snakemake](https://snakemake.readthedocs.io/en/stable/) workflow where structure learning (sometimes called causal discovery) algorithms, implemented in possibly different languages, can be executed and compared.
The computations scale seamlessly on multiple cores or *"... to server, cluster, grid and cloud environments, without the need to modify the workflow definition" - Snakemake*.
The documentation is found at https://benchpressdocs.readthedocs.io.
The following main functionalities are provided by Benchpress
* Benchmarks - Benchmark structure learning algorithms.
* Algorithm development - Benchmark your own algorithm along with the existing ones while developing.
* Data analysis - Estimate the underlying graph structure for your own dataset(s).
You may also have a look at [this Medium story](https://medium.com/@felixleopoldorios/structure-learning-using-benchpress-826847db0aa8) for an introduction.
## Citing
```
@Article{Benchpress,
author = {Felix L. Rios and Giusi Moffa and Jack Kuipers},
title = {{Benchpress}: A Versatile Platform for Structure Learning in Causal and Probabilistic Graphical Models},
journal = {Journal of Statistical Software},
year = {2025},
volume = {114},
number = {12},
pages = {1--43},
doi = {10.18637/jss.v114.i12}
}
```
## Contact
For problems, bug reporting, or questions please raise an issue or open a discussion thread.
## Contributing
Contributions are very welcomed. See [CONTRIBUTING.md](CONTRIBUTING.md) for instructions.
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Open a pull request
## License
This project is licensed under the GPL-2.0 License - see the [LICENSE](LICENSE) file for details
## References
* [1] [Felix L. Rios and Giusi Moffa and Jack Kuipers Benchpress: A Versatile Platform for Structure Learning in Causal and Probabilistic Graphical Models. *Journal of Statistical Software.*, 10.18637/jss.v114.i12, 2025.](https://doi.org/10.18637/jss.v114.i12)