{ "info": { "author": "Mark Mikofski", "author_email": "mark.mikofski@sunpowercorp.com", "bugtrack_url": null, "classifiers": [], "description": ".. image:: https://travis-ci.org/SunPower/UncertaintyWrapper.svg?branch=master\n :target: https://travis-ci.org/SunPower/UncertaintyWrapper\n \nUncertaintyWrapper\n==================\n\nUse ``@unc_wrapper`` decorator to wrap any Python callable to append the\ncovariance and Jacobian matrices to the return values. See documentation and\ntests for usage and examples.\n\nInstallation\n------------\n\nUse ``pip install UncertaintyWrapper`` to install from\n`PyPI `_ or download a source\ndistribution, extract and use ``python setup.py install``.\n\nRequirements\n------------\n\n* `NumPy `_\n\nOptional Requirements\n~~~~~~~~~~~~~~~~~~~~~\n\n* `Nose `_ for testing.\n* `Sphinx `_ to build documentation.\n* `NREL SOLPOS `_ for testing\n* `AlgoPy `_ for testing\n\nUsage\n-----\n\nExample::\n\n from uncertainty_wrapper import unc_wraper\n import numpy as np\n\n @unc_wrapper\n def f(x):\n return np.exp(x)\n\n x, cov = np.array([[1.0]]), np.array([[0.1]])\n f(x, __covariance__=cov)\n\nReturns::\n\n (array([[ 2.71828183]]), # exp(1.0)\n array([[[ 0.73890561]]]), # (delta-f)^2 = (df/dx)^2 * (delta-x)^2\n array([[[ 2.71828183]]])) # df/dx = exp(x)\n\n\nHistory\n-------\nReleases are named after\n`geological eons, periods and epochs `_.\n\n`v0.4.1 `_ `Paleozoic Era `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Jagged arrays of covariance keys work now.\n* simplify\n\n`v0.4 `_ `Phanerozoic Era `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Fixes #5, ``ValueError`` if covariance keys have multiple observations\n* fix covariance cross terms not scaled correctly\n\n`v0.3.3 `_ `Neoproterozoic Era `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Fixes #4, ``ValueError`` if just one observation\n\n`v0.3.2 `_ `Mesoproterozoic Era `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Fixes #2, don't need to tile scalar x for multiple observations\n* Fixes #3, use sparse matrices for dot product instead of dense\n* uses pvlib example instead of proprietary solar_utils\n\n\n`v0.3.1 `_ `Paleoproterozoic Era `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fixes #1 works with Pint's @ureg.wraps()\n* Use indices for positional arguments. Don't use inspect.argspec since not\n guaranteed to be the same for wrapped or decorated functions\n* Test Jacobian estimate for IV with `AlgoPy `_\n* Show Jacobian errors plot in getting started docs.\n\n\n`v0.3 `_ `Proterozoic Eon `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* new ``unc_wrapper_args()`` allows selection of independent variables that the\n partial derivatives are with respect to and also grouping those arguments\n together so that in the original function they can stay unpacked.\n* return values are grouped correctly so that they can remain unpacked in\n original function. These allow Uncertainty Wrapper to be used with\n `Pint's wrapper `_\n* covariance now specified as dimensionaless fraction of square of arguments\n* more complex tests: IV curve and solar position (requires\n `NREL's solpos `_)\n\n\n`v0.2.1 `_ `Eoarchean Era `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* update documentation\n\n\n`v0.2 `_ `Archean Eon `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fix nargs and nf order mixup in Jacobian\n* add more complex test\n* fix tile cov by nobs\n* move partial derivative to subfunction\n* try threading, but same speed, and would only work with NumPy anyway\n\n\n`v0.1 `_ `Hadean Eon `_\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* adds covariance to output\n* allows __covariance__ to be passed as input\n* uses estimate Jacobian based on central finite difference method", "description_content_type": null, "docs_url": "https://pythonhosted.org/UncertaintyWrapper/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SunPower/UncertaintyWrapper", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "UncertaintyWrapper", "package_url": "https://pypi.org/project/UncertaintyWrapper/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/UncertaintyWrapper/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/SunPower/UncertaintyWrapper" }, "release_url": "https://pypi.org/project/UncertaintyWrapper/0.4.1/", "requires_dist": null, "requires_python": null, "summary": "Uncertainty wrapper using estimated Jacobian", "version": "0.4.1" }, "last_serial": 3623272, "releases": { "0.3.2": [ { "comment_text": "", "digests": { "md5": "62d391a638aef0bc4961eacbe0de79aa", "sha256": "3d096317c091cbe5c402cca99a3bd106a882145dd82f7b31d1407b5abfcb8091" }, "downloads": -1, "filename": "UncertaintyWrapper-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "62d391a638aef0bc4961eacbe0de79aa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26253, "upload_time": "2016-05-05T04:45:42", "url": "https://files.pythonhosted.org/packages/56/8a/3312ac728ad322bf0202dd583384e8e912c7fae72ea09d259af696934213/UncertaintyWrapper-0.3.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "336885a17916c0be21a7f44d3d174ace", "sha256": "22f18965b9a68477e6b60d7772e013123dc9ed41d827969c33ead642deb3ee82" }, "downloads": -1, "filename": "UncertaintyWrapper-0.3.2.zip", "has_sig": false, "md5_digest": "336885a17916c0be21a7f44d3d174ace", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28437, "upload_time": "2016-05-05T04:45:33", "url": "https://files.pythonhosted.org/packages/19/dc/771e64207489b8b08835261977c2cd3e1305a67237d55dde3993df4c617e/UncertaintyWrapper-0.3.2.zip" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "38eaf2fdced1279c6c8817108989b9b1", "sha256": "065f80b7a295502e2a6b1b9787d115cfda4ff4ecd9090e08c71abacb2d4c8207" }, "downloads": -1, "filename": "UncertaintyWrapper-0.3.3-py2-none-any.whl", "has_sig": false, "md5_digest": "38eaf2fdced1279c6c8817108989b9b1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26861, "upload_time": "2016-05-06T00:49:52", "url": "https://files.pythonhosted.org/packages/7d/70/3f3f34fcde417d13c034510e72006913a34d0147f194f58c5025f4709a83/UncertaintyWrapper-0.3.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc159a5e02fb7fc8cc7311a966c7a6a4", "sha256": "c975d7883e301c59fa0696a01a424335bb74fdc71749562d8a9e1326f671fa2b" }, "downloads": -1, "filename": "UncertaintyWrapper-0.3.3.zip", "has_sig": false, "md5_digest": "bc159a5e02fb7fc8cc7311a966c7a6a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29346, "upload_time": "2016-05-06T00:49:45", "url": "https://files.pythonhosted.org/packages/dd/41/53df35b9ee6187e62c659efb0ada2e80d7402ee9fd136ef3be4d13797b74/UncertaintyWrapper-0.3.3.zip" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "ed4075848fc8007afb13caefe8c91081", "sha256": "30c98ff1cb381df4e90ac26d35671db7b0ed898d202a44b452ec585e035a6894" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "ed4075848fc8007afb13caefe8c91081", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 26954, "upload_time": "2016-05-06T02:31:19", "url": "https://files.pythonhosted.org/packages/d4/38/0708b73ff3d32b767accd3f1bec9935815bd829d88236efa7f1001255468/UncertaintyWrapper-0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a52718c6df6e74d582937e06e8522e92", "sha256": "397d228fede312a8b914a1781ea22765ca7c171cb108a58ae435c2e5e5d2074b" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.zip", "has_sig": false, "md5_digest": "a52718c6df6e74d582937e06e8522e92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29491, "upload_time": "2016-05-06T02:31:10", "url": "https://files.pythonhosted.org/packages/c9/1c/de17e520a2ff10073a1dd51d3bcc879f8cdb27d1584ca15d148714a1e9c8/UncertaintyWrapper-0.4.zip" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "ccfd26b4580b8ed16f3bb7606a74a751", "sha256": "14c56d38a701627223b7c7669d6684733e98fcd10314122154e7d7c1f80ae982" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "ccfd26b4580b8ed16f3bb7606a74a751", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27189, "upload_time": "2016-05-06T08:07:37", "url": "https://files.pythonhosted.org/packages/0f/94/3894d5a6b3d7f44edef7659a9492eaed0ddd6855f09678d080427e2b53aa/UncertaintyWrapper-0.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c381294b30134411801063263c51b9d", "sha256": "a6e797dcdb644764d4dc31ed987d9e09f5bac34d8f6f58550a7592ad4c9c2d6b" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.1.zip", "has_sig": false, "md5_digest": "3c381294b30134411801063263c51b9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29819, "upload_time": "2016-05-06T08:07:31", "url": "https://files.pythonhosted.org/packages/13/b9/d87f3331aa429ff7f98024b8094336d66e4e2dfd4424ae68ad7bdd515b9d/UncertaintyWrapper-0.4.1.zip" } ], "0.4.2a0": [ { "comment_text": "", "digests": { "md5": "f76dad16a920a6c15067c04637b36ec5", "sha256": "222ca96f2325a32ef592f3e3c4a45d0257247bce8e72aacbc46bef172c7e48d4" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.2a0-py2-none-any.whl", "has_sig": false, "md5_digest": "f76dad16a920a6c15067c04637b36ec5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27239, "upload_time": "2017-08-18T22:10:46", "url": "https://files.pythonhosted.org/packages/a5/0d/216ff8bc7c77cc2dbf585d340b42e94cea44d72f5377727cc4986d8f01ef/UncertaintyWrapper-0.4.2a0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3a7fa657fb0851c80343f249361cd90", "sha256": "2b6ae721d9f77f7ca3f80c7353381bf33b73a993867a7f4238f86716ab0cbbce" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.2a0.tar.gz", "has_sig": false, "md5_digest": "f3a7fa657fb0851c80343f249361cd90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20689, "upload_time": "2017-08-18T22:10:48", "url": "https://files.pythonhosted.org/packages/4d/05/f5373b116f10284e89226c54665865c7f848a8eebd7c554e3f87a4ef1b96/UncertaintyWrapper-0.4.2a0.tar.gz" } ], "0.4.2a1": [ { "comment_text": "", "digests": { "md5": "c3946571e03c0f16391a6ba72b49afb3", "sha256": "d0a158745954ab2bd1613aa4134bf8666a7537a5eb56c95738d7c6ccc2b4eb78" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.2a1-py2-none-any.whl", "has_sig": false, "md5_digest": "c3946571e03c0f16391a6ba72b49afb3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27273, "upload_time": "2017-08-18T22:28:55", "url": "https://files.pythonhosted.org/packages/19/f1/8ffcad9a438fde6b3a3e0a106e265681f565073b7dba1e2a63ffbff0cd30/UncertaintyWrapper-0.4.2a1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a81e94f9bf1a6fff420b50101ed0dcd", "sha256": "723bea788284af8e75c39b4d3d239974918ff4387168a437f5378f6ffe9835ed" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.2a1.tar.gz", "has_sig": false, "md5_digest": "7a81e94f9bf1a6fff420b50101ed0dcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20714, "upload_time": "2017-08-18T22:28:57", "url": "https://files.pythonhosted.org/packages/12/2f/3115e7f9ce1b08d82ea8dca7b025cebe550aeaca9ef123d77ef66c48e808/UncertaintyWrapper-0.4.2a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ccfd26b4580b8ed16f3bb7606a74a751", "sha256": "14c56d38a701627223b7c7669d6684733e98fcd10314122154e7d7c1f80ae982" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "ccfd26b4580b8ed16f3bb7606a74a751", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 27189, "upload_time": "2016-05-06T08:07:37", "url": "https://files.pythonhosted.org/packages/0f/94/3894d5a6b3d7f44edef7659a9492eaed0ddd6855f09678d080427e2b53aa/UncertaintyWrapper-0.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c381294b30134411801063263c51b9d", "sha256": "a6e797dcdb644764d4dc31ed987d9e09f5bac34d8f6f58550a7592ad4c9c2d6b" }, "downloads": -1, "filename": "UncertaintyWrapper-0.4.1.zip", "has_sig": false, "md5_digest": "3c381294b30134411801063263c51b9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29819, "upload_time": "2016-05-06T08:07:31", "url": "https://files.pythonhosted.org/packages/13/b9/d87f3331aa429ff7f98024b8094336d66e4e2dfd4424ae68ad7bdd515b9d/UncertaintyWrapper-0.4.1.zip" } ] }