{"id":13689289,"url":"https://github.com/scikit-hep/mplhep","last_synced_at":"2026-02-27T00:11:14.082Z","repository":{"id":36328080,"uuid":"184555939","full_name":"scikit-hep/mplhep","owner":"scikit-hep","description":"Extended histogram plotting on top of matplotlib and HEP collaboration compatible styling","archived":false,"fork":false,"pushed_at":"2025-04-07T19:28:24.000Z","size":12635,"stargazers_count":196,"open_issues_count":33,"forks_count":69,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-12T04:48:51.827Z","etag":null,"topics":["histograms","matplotlib","plotting","python","visualization"],"latest_commit_sha":null,"homepage":"https://mplhep.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scikit-hep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-05-02T09:41:43.000Z","updated_at":"2025-03-25T08:15:24.000Z","dependencies_parsed_at":"2024-01-12T19:47:49.221Z","dependency_job_id":"b61920e0-f303-44e7-a48e-3e2b6cd254a4","html_url":"https://github.com/scikit-hep/mplhep","commit_stats":{"total_commits":711,"total_committers":43,"mean_commits":16.53488372093023,"dds":"0.43741209563994377","last_synced_commit":"a6dc1ab8161fc2e3d4586b5649482d0999785296"},"previous_names":[],"tags_count":164,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-hep%2Fmplhep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-hep%2Fmplhep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-hep%2Fmplhep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-hep%2Fmplhep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scikit-hep","download_url":"https://codeload.github.com/scikit-hep/mplhep/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248783436,"owners_count":21160921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["histograms","matplotlib","plotting","python","visualization"],"created_at":"2024-08-02T15:01:41.544Z","updated_at":"2026-02-27T00:11:14.073Z","avatar_url":"https://github.com/scikit-hep.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":["Plotting (exploratory and publication)"],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"new_docs/docs/mplhep_inverted.png\"\u003e\n  \u003cimg src=\"new_docs/docs/mplhep.png\" width=300 /\u003e\n\u003c/picture\u003e\n\n[![DOI](https://zenodo.org/badge/184555939.svg)](https://zenodo.org/badge/latestdoi/184555939)\n[![Scikit-HEP][sk-badge]](https://scikit-hep.org/)\n[![Docs](https://readthedocs.org/projects/mplhep/badge/?version=latest)](https://mplhep.readthedocs.io/en/latest/?badge=latest)\n\n[sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg\n\n[![Actions Status][actions-badge]][actions-link]\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/scikit-hep/mplhep/main.svg)](https://results.pre-commit.ci/latest/github/scikit-hep/mplhep/main)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n\n[![PyPI version](https://badge.fury.io/py/mplhep.svg)](https://badge.fury.io/py/mplhep)\n[![Conda-forge version](https://img.shields.io/conda/vn/conda-forge/mplhep.svg)](https://anaconda.org/conda-forge/mplhep)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/mplhep.svg)](https://pypi.org/project/mplhep/)\n\n[![PyPI download week](https://img.shields.io/pypi/dw/mplhep?label=downloads%20%28incl%20CI%29)](https://img.shields.io/pypi/dw/mplhep?label=downloads%20%28incl%20CI%29)\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/scikit-hep/mplhep/master)\n\nA set of helpers for `matplotlib` to more easily produce plots typically\nneeded in HEP as well as style them in way that's compatible with current\ncollaboration requirements (ROOT-like plots for CMS, ATLAS, LHCb, ALICE).\n\n\n## Installation\n\n```bash\npip install mplhep\n```\n\n## Documentation and Getting Started\nA tutorial given at PyHEP 2020 is available as a binder [here](https://github.com/andrzejnovak/2020-07-17-pyhep2020-mplhep)\nor you can watch the recording [here](https://www.youtube.com/watch?v=gUziXqCGe0o).\n\nDocumentation can be found at [scikit-hep.org/mplhep](https://scikit-hep.org/mplhep/).\n\n\u003c!---\n# Notes\n\n## Consistency \\\u0026 Fonts\nAs it is ROOT does not come with any fonts and therefore relies on using system fonts. Therefore the font in a figure can be dependent on whether it was produced on OSX or PC. The default sans-serif font used is Helvetica, but it only comes with OSX, in Windows this will silently fallback to Arial.\n\n### License\nBoth Helvetica and Arial are proprietary, which as far as fonts go means you can use it to create any text/graphics once you have the license, but you cannot redistribute the font files as part of other software. That means we cannot just package Helvetica with this to make sure everyone has the same font in plots.\n\nLuckily for fonts it seems only the software is copyrighted, not the actual shapes, which means there are quite a few open alternatives with similar look. The most closely resembling Helvetica being Tex Gyre Heros\n\n#### Tex Gyre Heros\nhttp://www.gust.org.pl/projects/e-foundry/tex-gyre/heros\n\nYou can compare yourself if the differences are meanigful below.\n\n\u003cp float=\"center\"\u003e\n  \u003cimg src=\"img/FontComp.png\" width=\"400\" /\u003e\n\u003c/p\u003e\n\nThey are Tex Gyre Heros, Helvetica and Arial respectively.\n\n### Math Fonts\n- Math fonts are a separate set from regular fonts due to the amount of special characters\n- It's not trivial to make sure you get a matching math font to your regular font\n- Most math-fonts are serif fonts, but this is not ideal if one wants to use sans-serif font for normal text like Helvetica or Arial\n- The number of sans-serif math-fonts is very limited\n \t- The number of **open** sans-serif math-fonts is **extremely** limited\n \t- Basically there's two, Fira Sans and GFS Neohellenic Math, of which I like Fira Sans better\n \t- https://tex.stackexchange.com/questions/374250/are-there-opentype-sans-math-fonts-under-development\n\nFor consistent styling Fira Sans is included as well.\n#### Default Fira Sans\nhttps://github.com/mozilla/Fira\n#### Math font extension\nhttps://github.com/firamath/firamath\n\n---\u003e\n\n\n## Notes\n\n### Citation\n\nIf you've found this library helpful and are able to, please consider citing it. You can find us on [Zenodo](doi.org/10.5281/zenodo.3766157) as a permalink to the latest version.\n\nBiBTeX:\n```\n@software{Novak_mplhep_2020,\n  author = {Novak, Andrzej and Schreiner, Henry and Feickert, Matthew and Eschle, Jonas and Fillinger, Tristan and Praz, Cyrille},\n  doi = {10.5281/zenodo.3766157},\n  license = {MIT},\n  month = apr,\n  title = {{mplhep}},\n  url = {https://github.com/scikit-hep/mplhep},\n  year = {2020}\n}\n```\n\nAPA:\n```\nNovak, A., Schreiner, H., Feickert, M., Eschle, J., Fillinger, T., \u0026 Praz, C. (2020). mplhep [Computer software]. https://doi.org/10.5281/zenodo.3766157\n```\n\n### Use in publications\n\nUpdating list of citations and use cases of `mplhep` in publications:\n\n- [Simultaneous Jet Energy and Mass Calibrations with Neural Networks](https://cds.cern.ch/record/2706189), ATLAS Collaboration, 2019\n- [Integration and Performance of New Technologies in the CMS Simulation](https://arxiv.org/abs/2004.02327), Kevin Pedro, 2020 (Fig 5,6)\n- [GeantV: Results from the prototype of concurrent vector particle transport simulation in HEP](https://arxiv.org/abs/2005.00949), Amadio et al, 2020 (Fig 25,26)\n- [Search for the standard model Higgs boson decaying to charm quarks](https://cds.cern.ch/record/2682638), CMS Collaboration, 2019 (Fig 1)\n- [Search for long-lived particles decaying to eμν](https://arxiv.org/abs/2012.02696), LHCb Collaboration, 2020\n- [Measurement of the mass dependence of the transverse momentum of lepton pairs in Drell-Yan production in proton-proton collisions at √s = 13 TeV](http://arxiv.org/abs/2205.04897), CMS Collaboration, 2022 (Figs 3-)\n- And many others by now...\n\n[actions-badge]:            https://github.com/scikit-hep/mplhep/workflows/CI/badge.svg\n[actions-link]:             https://github.com/scikit-hep/mplhep/actions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-hep%2Fmplhep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscikit-hep%2Fmplhep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-hep%2Fmplhep/lists"}