Citing Formulate
If formulate was useful in work you are publishing, please cite it. There are two things worth citing: the package itself, and the Scikit-HEP project it belongs to.
Citing the package
formulate does not yet have its own DOI, so cite it as software, giving the version you used. You can get that from the package:
import formulate
print(formulate.__version__)
1.0.2.dev39+ga79e24ed2
@software{formulate,
author = {Burr, Chris and Roy, Aryan and Eschle, Jonas and
Rios-Tascon, Andres and {The Scikit-HEP admins}},
title = {formulate: easy conversions between different styles of expressions},
url = {https://github.com/scikit-hep/formulate},
version = {1.0.1},
year = {2025},
}
Replace version and year with the ones you actually used — conversions
and constant names have changed between releases, so the version is the part
that makes the citation reproducible. The What’s New page
records what changed when.
Citing Scikit-HEP
formulate is part of Scikit-HEP. If you are citing the ecosystem as a whole, or several of its packages, the project paper is the reference to use:
E. Rodrigues et al., The Scikit-HEP Project — overview and prospects, EPJ Web Conf. 245, 06028 (2020), doi:10.1051/epjconf/202024506028, arXiv:2007.03577.
@article{scikit-hep,
author = {Rodrigues, Eduardo and others},
title = {The Scikit HEP Project -- overview and prospects},
journal = {EPJ Web Conf.},
volume = {245},
pages = {06028},
year = {2020},
doi = {10.1051/epjconf/202024506028},
eprint = {2007.03577},
archivePrefix = {arXiv},
}
The Scikit-HEP citation page has the up-to-date version of this, and covers the other packages in the project.
Citing what formulate converts to
formulate translates expressions; the evaluation is done by something else. If
the analysis you are describing leaned on that engine’s behaviour, cite it as
well — ROOT or
NumExpr as appropriate, and
NumPy for to_python()
output.