{ "info": { "author": "Lukas Heinrich", "author_email": "lukas.heinrich@cern.ch", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pure-python fitting/limit-setting/interval estimation HistFactory-style\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1169739.svg)](https://doi.org/10.5281/zenodo.1169739)\n\n[![Build Status](https://travis-ci.org/diana-hep/pyhf.svg?branch=master)](https://travis-ci.org/diana-hep/pyhf)\n[![Docker Automated](https://img.shields.io/docker/automated/pyhf/pyhf.svg)](https://hub.docker.com/r/pyhf/pyhf/)\n[![Coverage Status](https://coveralls.io/repos/github/diana-hep/pyhf/badge.svg?branch=master)](https://coveralls.io/github/diana-hep/pyhf?branch=master) [![Code Health](https://landscape.io/github/diana-hep/pyhf/master/landscape.svg?style=flat)](https://landscape.io/github/diana-hep/pyhf/master)\n[![CodeFactor](https://www.codefactor.io/repository/github/diana-hep/pyhf/badge)](https://www.codefactor.io/repository/github/diana-hep/pyhf)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\n[![Docs](https://img.shields.io/badge/docs-master-blue.svg)](https://diana-hep.github.io/pyhf)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/diana-hep/pyhf/master?filepath=docs%2Fexamples%2Fnotebooks%2Fbinderexample%2FStatisticalAnalysis.ipynb)\n\n[![PyPI version](https://badge.fury.io/py/pyhf.svg)](https://badge.fury.io/py/pyhf)\n[![Supported Python versionss](https://img.shields.io/pypi/pyversions/pyhf.svg)](https://pypi.org/project/pyhf/)\n[![Docker Stars](https://img.shields.io/docker/stars/pyhf/pyhf.svg)](https://hub.docker.com/r/pyhf/pyhf/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/pyhf/pyhf.svg)](https://hub.docker.com/r/pyhf/pyhf/)\n\nThe HistFactory p.d.f. template [[CERN-OPEN-2012-016](https://cds.cern.ch/record/1456844)] is per-se independent of its implementation in ROOT and sometimes, it's useful to be able to run statistical analysis outside\nof ROOT, RooFit, RooStats framework.\n\nThis repo is a pure-python implementation of that statistical model for multi-bin histogram-based analysis and its interval estimation is based on the asymptotic formulas of \"Asymptotic formulae for likelihood-based tests of new physics\" [[arxiv:1007.1727](https://arxiv.org/abs/1007.1727)]. The aim is also to support modern computational graph libraries such as PyTorch and TensorFlow in order to make use of features such as autodifferentiation and GPU acceleration.\n\n## Hello World\n\n```python\n>>> import pyhf\n>>> pdf = pyhf.simplemodels.hepdata_like(signal_data=[12.0, 11.0], bkg_data=[50.0, 52.0], bkg_uncerts=[3.0, 7.0])\n>>> CLs_obs, CLs_exp = pyhf.utils.hypotest(1.0, [51, 48] + pdf.config.auxdata, pdf, return_expected=True)\n>>> print('Observed: {}, Expected: {}'.format(CLs_obs, CLs_exp))\nObserved: [0.05290116], Expected: [0.06445521]\n\n```\n\n## What does it support\n\nImplemented variations:\n- [x] HistoSys\n- [x] OverallSys\n- [x] ShapeSys\n- [x] NormFactor\n- [x] Multiple Channels\n- [x] Import from XML + ROOT via [uproot](https://github.com/scikit-hep/uproot)\n- [x] ShapeFactor\n- [x] StatError\n- [x] Lumi Uncertainty\n\nComputational Backends:\n- [x] NumPy\n- [x] PyTorch\n- [x] TensorFlow\n- [x] MXNet\n\nAvailable Optimizers\n\n| NumPy | Tensorflow | PyTorch | MxNet |\n| :----------------------- | :------------------------- | :------------------------- | :---- |\n| SLSQP (`scipy.optimize`) | Newton's Method (autodiff) | Newton's Method (autodiff) | N/A |\n| MINUIT (`iminuit`) | . | . | . |\n\n\n## Todo\n- [ ] StatConfig\n- [ ] Non-asymptotic calculators\n\nresults obtained from this package are validated against output computed from HistFactory workspaces\n\n## A one bin example\n\n```\nnobs = 55, b = 50, db = 7, nom_sig = 10.\n```\n\n\"manual\"\n\"manual\"\n\n\n## A two bin example\n\n```\nbin 1: nobs = 100, b = 100, db = 15., nom_sig = 30.\nbin 2: nobs = 145, b = 150, db = 20., nom_sig = 45.\n```\n\n\"manual\"\n\"manual\"\n\n## Installation\n\nTo install `pyhf` from PyPI with the NumPy backend run\n```\npip install pyhf\n```\n\nand to install `pyhf` with additional backends run\n```\npip install pyhf[tensorflow,torch,mxnet]\n```\nor a subset of the options.\n\nTo uninstall run\n```bash\npip uninstall pyhf\n```\n\n## Authors\n\nPlease check the [contribution statistics for a list of contributors](https://github.com/diana-hep/pyhf/graphs/contributors)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/diana-hep/pyhf", "keywords": "physics fitting numpy scipy tensorflow pytorch mxnet dask", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "pyhf", "package_url": "https://pypi.org/project/pyhf/", "platform": "", "project_url": "https://pypi.org/project/pyhf/", "project_urls": { "Homepage": "https://github.com/diana-hep/pyhf" }, "release_url": "https://pypi.org/project/pyhf/0.1.2/", "requires_dist": [ "scipy", "click (>=6.0)", "tqdm", "six", "jsonschema (>=v3.0.0a2)", "jsonpatch", "pyyaml", "bumpversion ; extra == 'complete'", "check-manifest ; extra == 'complete'", "coverage (>=4.0) ; extra == 'complete'", "graphviz ; extra == 'complete'", "graphviz (<0.9.0,>=0.8.1) ; extra == 'complete'", "iminuit ; extra == 'complete'", "ipython ; extra == 'complete'", "jsonpatch ; extra == 'complete'", "jupyter ; extra == 'complete'", "m2r ; extra == 'complete'", "matplotlib ; extra == 'complete'", "mxnet (~=1.0) ; extra == 'complete'", "nbdime ; extra == 'complete'", "nbsphinx ; extra == 'complete'", "nteract-scrapbook (~=0.2) ; extra == 'complete'", "numpy (<1.15.0,>=1.8.2) ; extra == 'complete'", "numpy (<=1.14.5,>=1.14.0) ; extra == 'complete'", "papermill (~=1.0) ; extra == 'complete'", "pre-commit ; extra == 'complete'", "pyflakes ; extra == 'complete'", "pytest-benchmark[histogram] ; extra == 'complete'", "pytest-console-scripts ; extra == 'complete'", "pytest-cov (>=2.5.1) ; extra == 'complete'", "pytest-mock ; extra == 'complete'", "pytest (~=3.5) ; extra == 'complete'", "python-coveralls ; extra == 'complete'", "sphinx ; extra == 'complete'", "sphinx-issues ; extra == 'complete'", "sphinx-rtd-theme ; extra == 'complete'", "sphinxcontrib-bibtex ; extra == 'complete'", "sphinxcontrib-napoleon ; extra == 'complete'", "tensorflow-probability (~=0.5) ; extra == 'complete'", "tensorflow (~=1.14) ; extra == 'complete'", "torch (~=1.0) ; extra == 'complete'", "twine ; extra == 'complete'", "uproot ; extra == 'complete'", "uproot (~=3.3) ; extra == 'complete'", "black ; (python_version >= \"3.6\") and extra == 'complete'", "pyflakes ; extra == 'develop'", "pytest (~=3.5) ; extra == 'develop'", "pytest-cov (>=2.5.1) ; extra == 'develop'", "pytest-mock ; extra == 'develop'", "pytest-benchmark[histogram] ; extra == 'develop'", "pytest-console-scripts ; extra == 'develop'", "python-coveralls ; extra == 'develop'", "coverage (>=4.0) ; extra == 'develop'", "matplotlib ; extra == 'develop'", "jupyter ; extra == 'develop'", "nbdime ; extra == 'develop'", "uproot (~=3.3) ; extra == 'develop'", "papermill (~=1.0) ; extra == 'develop'", "nteract-scrapbook (~=0.2) ; extra == 'develop'", "graphviz ; extra == 'develop'", "bumpversion ; extra == 'develop'", "sphinx ; extra == 'develop'", "sphinxcontrib-bibtex ; extra == 'develop'", "sphinxcontrib-napoleon ; extra == 'develop'", "sphinx-rtd-theme ; extra == 'develop'", "nbsphinx ; extra == 'develop'", "sphinx-issues ; extra == 'develop'", "m2r ; extra == 'develop'", "jsonpatch ; extra == 'develop'", "ipython ; extra == 'develop'", "pre-commit ; extra == 'develop'", "twine ; extra == 'develop'", "check-manifest ; extra == 'develop'", "black ; (python_version >= \"3.6\") and extra == 'develop'", "iminuit ; extra == 'minuit'", "mxnet (~=1.0) ; extra == 'mxnet'", "numpy (<1.15.0,>=1.8.2) ; extra == 'mxnet'", "graphviz (<0.9.0,>=0.8.1) ; extra == 'mxnet'", "tensorflow (~=1.14) ; extra == 'tensorflow'", "tensorflow-probability (~=0.5) ; extra == 'tensorflow'", "numpy (<=1.14.5,>=1.14.0) ; extra == 'tensorflow'", "torch (~=1.0) ; extra == 'torch'", "uproot ; extra == 'xmlio'" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "summary": "(partial) pure python histfactory implementation", "version": "0.1.2" }, "last_serial": 5524695, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "75e5fa3c6221e771d60fcd98a7f48f27", "sha256": "bc34a071df896739ed38c9844b5efde703bc98c388e1a72af087f11cf38accd6" }, "downloads": -1, "filename": "pyhf-0.0.1.tar.gz", "has_sig": false, "md5_digest": "75e5fa3c6221e771d60fcd98a7f48f27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2239, "upload_time": "2018-01-24T16:25:54", "url": "https://files.pythonhosted.org/packages/45/ff/79662b4311efe3185fbaa855d5b3c11f1b7507cea2297de2cc19e534b1cd/pyhf-0.0.1.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "3655282acfb16c10f8b49b9e19b084c7", "sha256": "22f948228451f2193356f5fd7c7f00f47b77283199253864a417f94a9a8b5245" }, "downloads": -1, "filename": "pyhf-0.0.12.tar.gz", "has_sig": false, "md5_digest": "3655282acfb16c10f8b49b9e19b084c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26788, "upload_time": "2018-08-23T14:54:14", "url": "https://files.pythonhosted.org/packages/3a/c7/c92cd51bdc8d521c3fd16d5910dacfa7ff790b57612f45e4ad7b871065a6/pyhf-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "6b5ab7640851ea4cd19dbe541521ddd1", "sha256": "357a6727ad5c9bac3c12453374d7197dd7b5851c7b5f65b1e6c512c13c87b2e6" }, "downloads": -1, "filename": "pyhf-0.0.13.tar.gz", "has_sig": false, "md5_digest": "6b5ab7640851ea4cd19dbe541521ddd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29829, "upload_time": "2018-09-01T09:52:02", "url": "https://files.pythonhosted.org/packages/5a/6b/c91823cc55224030db1e0d6dc95060a69b84c8fd1700754e2ea3f8b1e2ca/pyhf-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "1e215866dccbfe3f6bbb6efd9674ebe0", "sha256": "a49bc050a0c894e41b0881616e72354ff86a0fd27ec92a94fcd0c51d835442f0" }, "downloads": -1, "filename": "pyhf-0.0.14.tar.gz", "has_sig": false, "md5_digest": "1e215866dccbfe3f6bbb6efd9674ebe0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29825, "upload_time": "2018-09-01T18:23:44", "url": "https://files.pythonhosted.org/packages/bd/b9/cafc0142902c5f83b24f8630beb5d007e80d3587297060aba8e2d805adae/pyhf-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "891f9086a62b98cca86b07bef0466253", "sha256": "23f5abd96c3029442a9125d32afc2ec24c6be9ffdd7a6f00c12189bab4fce180" }, "downloads": -1, "filename": "pyhf-0.0.15.tar.gz", "has_sig": false, "md5_digest": "891f9086a62b98cca86b07bef0466253", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30287, "upload_time": "2018-09-02T08:23:35", "url": "https://files.pythonhosted.org/packages/b0/78/b4e844e838e8376eb1390d23d73425f9272c10dc59d8eb2ce237e8b5a861/pyhf-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "c53f40ba401535a42123105db1341799", "sha256": "b62c5362a1ebb62eb45e11db695fcf89a76349dcdf33db004f629799cf4a41a2" }, "downloads": -1, "filename": "pyhf-0.0.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c53f40ba401535a42123105db1341799", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 84348, "upload_time": "2019-01-31T15:39:28", "url": "https://files.pythonhosted.org/packages/02/ae/25d8737a9bc7a63722c903e0e4194d5b54ac1e23565abcc64a3d9ec45656/pyhf-0.0.16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39cba25dd7374a918a4221c6293fd2ff", "sha256": "18c6d491bdeda3a06d981f666fb2e760f6f9826c31e21d0e32506c666d5d76bb" }, "downloads": -1, "filename": "pyhf-0.0.16.tar.gz", "has_sig": false, "md5_digest": "39cba25dd7374a918a4221c6293fd2ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57307, "upload_time": "2019-01-31T12:23:45", "url": "https://files.pythonhosted.org/packages/a4/dd/f581b6daa774935c5d43fcdc43acfb1c2baf183f2b50a0d3e0f41edc19a3/pyhf-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "7288003ac62511741b64bedcfd8a2927", "sha256": "2e65506d7365d053cd696a9dcd46df64e3876bdb7a8a3609c1e3dd3ce9f2730f" }, "downloads": -1, "filename": "pyhf-0.0.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7288003ac62511741b64bedcfd8a2927", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 92166, "upload_time": "2019-04-11T16:48:08", "url": "https://files.pythonhosted.org/packages/3d/a1/4b89172fd22451f46a8228f02c196d8d4b5851cc66cf6bbe120ca50f4261/pyhf-0.0.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee3ab6f9fcfe31b4185450b9eaaee330", "sha256": "90c76eef14f1f1586b1b131caab756af2f992e309a7bbee7772146aeb309fa50" }, "downloads": -1, "filename": "pyhf-0.0.17.tar.gz", "has_sig": false, "md5_digest": "ee3ab6f9fcfe31b4185450b9eaaee330", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 6584957, "upload_time": "2019-04-11T15:55:05", "url": "https://files.pythonhosted.org/packages/fd/31/55cfde79936980ef4acb0832d7fe31dc041e8b3111417cd75f764fabec12/pyhf-0.0.17.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d7e0bc0612f99657cb370bc277cf700c", "sha256": "c0463b9a96af6d3833361c213e34031f24d9f4ff3c95593d0083b114bf0ad8cd" }, "downloads": -1, "filename": "pyhf-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d7e0bc0612f99657cb370bc277cf700c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6523, "upload_time": "2018-02-05T11:27:13", "url": "https://files.pythonhosted.org/packages/ad/51/22e7d4e8b98aa3a1f2e3e7bb65d84cbe123e891dc141c987a42b25e7afe5/pyhf-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "98817fa2b1fee3bb1bb75c25c0673488", "sha256": "d00547295d13a61fbb43e3835e3d7617a2afdd9df3b9758fdb3c2e520516c714" }, "downloads": -1, "filename": "pyhf-0.0.4.tar.gz", "has_sig": false, "md5_digest": "98817fa2b1fee3bb1bb75c25c0673488", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9236, "upload_time": "2018-02-09T10:14:38", "url": "https://files.pythonhosted.org/packages/ba/a2/5b9fd4bb48a16e1f9b28dea104ab2af7b147fc2ca43e1ed542abad96958e/pyhf-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "78682cf9e2e50552bb28ba85e7da061b", "sha256": "80c8ab6b7772b3c51e2b7943f14d21b2867efcb4d1bc800c9c70a2b2d2f99e8f" }, "downloads": -1, "filename": "pyhf-0.0.5.tar.gz", "has_sig": false, "md5_digest": "78682cf9e2e50552bb28ba85e7da061b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11359, "upload_time": "2018-02-13T00:33:41", "url": "https://files.pythonhosted.org/packages/44/0f/a34e506d9be7daa61861d3393483a44fbd3af6cb07660c7f2de55823d55c/pyhf-0.0.5.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "545d5a97db64cd6fd9b484b153f210d6", "sha256": "8a59ced1a85e24e290997eeb07b992d2acb08f75945cb82f6204e293dcc07f4e" }, "downloads": -1, "filename": "pyhf-0.0.8.tar.gz", "has_sig": false, "md5_digest": "545d5a97db64cd6fd9b484b153f210d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11281, "upload_time": "2018-02-14T02:09:16", "url": "https://files.pythonhosted.org/packages/a0/de/98b538a2e75f80bbeee5210eaa557a7a4460c028defe26f5996c2e5f4986/pyhf-0.0.8.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "7e873e8cf0384d4c4d58c7b1b9d8d056", "sha256": "1470bfb6182511caf626bfe74f00ca4833b711a8aa6fc13c0842e457e1b8a1ca" }, "downloads": -1, "filename": "pyhf-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e873e8cf0384d4c4d58c7b1b9d8d056", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 95003, "upload_time": "2019-04-13T11:27:26", "url": "https://files.pythonhosted.org/packages/14/00/20ea4925339dd8e4db4e5e1e17c392f73a665992ec8ea31a7309b6861ecc/pyhf-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e35e62faff1559dda8ca937f79aad25d", "sha256": "0b21d66a2812345ca9a6bdd7e8f7570b49573535b1fbae277a61a19047d910c4" }, "downloads": -1, "filename": "pyhf-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e35e62faff1559dda8ca937f79aad25d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 6717838, "upload_time": "2019-04-13T11:27:28", "url": "https://files.pythonhosted.org/packages/8a/07/7bde70811a71393b512ebc21545fd21d521e9e2f23837a03f636fa73d615/pyhf-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "93e9445cac77fe41791b2365bf9681fc", "sha256": "4c2fb9e65e0d0f2d04f7c6c963bce104e69ca5c1f8802d18f041b46ddd8077c2" }, "downloads": -1, "filename": "pyhf-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "93e9445cac77fe41791b2365bf9681fc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 101823, "upload_time": "2019-06-27T18:36:16", "url": "https://files.pythonhosted.org/packages/bf/80/b5ad4e0d20977febe935ad09c5eb59a5c137e6ddb57ea8c9b8428a874ea6/pyhf-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7b5a56f133ad1b5c7925f6a4fdfc8ec", "sha256": "034c4c5da5878f60a740b18c2be05e7c02c7b290fa9884492903bc7d445df731" }, "downloads": -1, "filename": "pyhf-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c7b5a56f133ad1b5c7925f6a4fdfc8ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 6732759, "upload_time": "2019-06-27T18:36:19", "url": "https://files.pythonhosted.org/packages/fc/b1/e36422a613ab9683a3a54ffc4d95013eb4ae86ffa07bd262851999e557f4/pyhf-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "9b969efa30b047fb641c75ef09ae8045", "sha256": "f32a59cf0d9462dc0626524f83bbcece0543e78973e9e42708cfa6552596d44f" }, "downloads": -1, "filename": "pyhf-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9b969efa30b047fb641c75ef09ae8045", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 100653, "upload_time": "2019-07-12T19:38:37", "url": "https://files.pythonhosted.org/packages/65/a5/e4e32f839cabf2f7a82271705c47e550ec98ed3c9a8059a061256219249a/pyhf-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f5cd00ac330893d29f6701b7e83fa3c", "sha256": "ef42e932d866f14c5aec3d41eaa892bebc1dbae1eb2eb63143adcd4565ccef55" }, "downloads": -1, "filename": "pyhf-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5f5cd00ac330893d29f6701b7e83fa3c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 6733166, "upload_time": "2019-07-12T19:38:40", "url": "https://files.pythonhosted.org/packages/6d/27/ea4816112ed73cec511c2ec941cdfc106e449f69add8ce7f6320c0091f54/pyhf-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9b969efa30b047fb641c75ef09ae8045", "sha256": "f32a59cf0d9462dc0626524f83bbcece0543e78973e9e42708cfa6552596d44f" }, "downloads": -1, "filename": "pyhf-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9b969efa30b047fb641c75ef09ae8045", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 100653, "upload_time": "2019-07-12T19:38:37", "url": "https://files.pythonhosted.org/packages/65/a5/e4e32f839cabf2f7a82271705c47e550ec98ed3c9a8059a061256219249a/pyhf-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f5cd00ac330893d29f6701b7e83fa3c", "sha256": "ef42e932d866f14c5aec3d41eaa892bebc1dbae1eb2eb63143adcd4565ccef55" }, "downloads": -1, "filename": "pyhf-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5f5cd00ac330893d29f6701b7e83fa3c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 6733166, "upload_time": "2019-07-12T19:38:40", "url": "https://files.pythonhosted.org/packages/6d/27/ea4816112ed73cec511c2ec941cdfc106e449f69add8ce7f6320c0091f54/pyhf-0.1.2.tar.gz" } ] }