{ "info": { "author": "Sascha Eichst\u00e4dt, Ian Smith, Thomas Bruns, Bj\u00f6rn Ludwig, Maximilian Gruber", "author_email": "sascha.eichstaedt@ptb.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "# PyDynamic\n[![CircleCI](https://circleci.com/gh/PTB-PSt1/PyDynamic.svg?style=shield)\n](https://circleci.com/gh/PTB-PSt1/PyDynamic)\n[![Codacy Badge\n](https://api.codacy.com/project/badge/Grade/397eebc52073457a824e5657c305dc92)\n](https://www.codacy.com/app/PTB-PSt1/PyDynamic?utm_source=github.com&utm_medium=referral&utm_content=PTB-PSt1/PyDynamic&utm_campaign=Badge_Grade)\n[![Documentation Status\n](https://readthedocs.org/projects/pydynamic/badge/?version=latest)\n](https://pydynamic.readthedocs.io/?badge=latest)\n[![Codecov Badge\n](https://codecov.io/gh/PTB-PSt1/PyDynamic/branch/master/graph/badge.svg)\n](https://codecov.io/gh/PTB-PSt1/PyDynamic)\n\nPython package for the analysis of dynamic measurements\n\nThe goal of this package is to provide a starting point for users in metrology and related areas who deal with time-dependent, i.e. *dynamic*, measurements. The initial version of this software was developed as part of a joint research project of the \nnational metrology institutes from Germany and the UK, i.e. [Physikalisch-Technische Bundesanstalt](http://www.ptb.de/cms/en.html) and the [National Physical Laboratory](http://www.npl.co.uk).\n\nFurther development and explicit use of PyDynamic is part of the European research project [EMPIR 17IND12 Met4FoF](http://met4fof.eu) and the German research project [FAMOUS](https://famous-project.eu).\n\nPyDynamic offers propagation of *uncertainties* for\n- application of the discrete Fourier transform and its inverse\n- filtering with an FIR or IIR filter with uncertain coefficients\n- design of a FIR filter as the inverse of a frequency response with \n uncertain coefficients\n- design on an IIR filter as the inverse of a frequency response with \n uncertain coefficients\n- deconvolution in the frequency domain by division\n- multiplication in the frequency domain\n- transformation from amplitude and phase to a representation by real and \n imaginary parts\n\nFor the validation of the propagation of uncertainties, the Monte-Carlo \nmethod can be applied using a memory-efficient implementation of Monte-Carlo \nfor digital filtering\n\nThe documentation for PyDynamic can be found on [ReadTheDocs](http://pydynamic.readthedocs.io)\n\n### Installation\nIf you just want to use the software, the easiest way is to run from your \nsystem's command line\n```\npip install PyDynamic\n```\nThis will download the latest version from the Python package repository and \ncopy it into your local folder of third-party libraries. Note that PyDynamic \nuses **Python version 3.x**. Usage in any Python environment on your computer\n is then possible by\n```python\nimport PyDynamic\n```\nor, for example, for the module containing the Fourier domain uncertainty \nmethods:\n```python\nfrom PyDynamic.uncertainty import propagate_DFT\n```\nUpdates can then be installed via\n```\npip install --upgrade PyDynamic\n```\n\nFor collaboration we recommend forking the repository as described [here\n](https://help.github.com/en/articles/fork-a-repo), apply the changes and \nopen a Pull Request on GitHub as described [here\n](https://help.github.com/en/articles/creating-a-pull-request). In this way \nany changes to PyDynamic can be applied very easily.\n\nIf you have downloaded this software, we would be very thankful for letting \nus know. You may, for instance, drop an email to one of the [authors\n](https://github.com/PTB-PSt1/PyDynamic/people) (e.g. \n[Sascha Eichst\u00e4dt](mailto:sascha.eichstaedt@ptb.de), [Bj\u00f6rn Ludwig\n](mailto:bjoern.ludwig@ptb.de) or [Maximilian Gruber\n](mailto:maximilian.gruber@ptb.de))\n\n\n### Examples\nUncertainty propagation for the application of a FIR filter with coefficients\n*b* with which an uncertainty *ub* is associated. The filter input signal is\n*x* with known noise standard deviation *sigma*. The filter output signal \nis *y* with associated uncertainty *uy*.\n```python\nfrom PyDynamic.uncertainty.propagate_filter import FIRuncFilter\ny, uy = FIRuncFilter(x, sigma, b, ub) \n```\n\nUncertainty propagation through the application of the discrete Fourier \ntransform (DFT). The time domain signal is *x* with associated squared \nuncertainty *ux*. The result of the DFT is the vector *X* of real and \nimaginary parts of the DFT applied to *x* and the associated uncertainty *UX*.\n```python\nfrom PyDynamic.uncertainty.propagate_DFT import GUM_DFT\nX, UX = GUM_DFT(x, ux)\n```\n\nSequential application of the Monte Carlo method for uncertainty propagation \nfor the case of filtering a time domain signal *x* with an IIR filter *b,a* \nwith uncertainty associated with the filter coefficients *Uab* and signal \nnoise standard deviation *sigma*. The filter output is the signal *y and the \nMonte Carlo method calculates point-wise uncertainties *uy* and coverage \nintervals *Py* corresponding to the specified percentiles.\n```python\nfrom PyDynamic.uncertainty.propagate_MonteCarlo import SMC\ny, uy, Py = SMC(x, sigma, b, a, Uab, runs=1000, Perc=[0.025,0.975])\n```\n\n![PyDynamic Workflow Deconvolution\n](http://mathmet.org/projects/14SIP08/Deconvolution.png) \n\n### Roadmap\n\n1. Implementation of robust measurement (sensor) models\n2. Extension to more complex noise and uncertainty models\n\n### Citation\n\nIf you publish results obtained with the help of PyDynamic, please cite\n\nSascha Eichst\u00e4dt, Clemens Elster, Ian M. Smith, and Trevor J. Esward\n*Evaluation of dynamic measurement uncertainty \u2013 an open-source software \npackage to bridge theory and practice*\n**J. Sens. Sens. Syst.**, 6, 97-105, 2017, DOI: [10.5194/jsss-6-97-2017\n](https://doi.org/10.5194/jsss-6-97-2017)\n\n##### Acknowledgement\nPart of this work is developed as part of the Joint Research Project [17IND12 Met4FoF\n](http://met4fof.eu) of the European Metrology Programme for Innovation and \nResearch (EMPIR).\n\nThis work was part of the Joint Support for Impact project [14SIP08\n](http://mathmet.org/projects/14SIP08) of the European Metrology Programme for\nInnovation and Research (EMPIR). The [EMPIR](http://msu.euramet.org) is \njointly funded by the EMPIR participating countries within EURAMET and the \nEuropean Union.\n\n##### Disclaimer\nThis software is developed at Physikalisch-Technische Bundesanstalt (PTB). The software is made available \"as \nis\" free of cost. PTB assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, safety, suitability or any other characteristic. In no event will PTB be liable for any direct, indirect or consequential damage arising in connection with the use of this software.\n\n##### License\nPyDynamic is distributed under the LGPLv3 license with the exception of the \nmodule `impinvar.py` in the package `misc`, which is distributed under the \nGPLv3 license. \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/eichstaedtPTB/PyDynamic", "keywords": "uncertainty dynamic deconvolution metrology", "license": "", "maintainer": "", "maintainer_email": "", "name": "PyDynamic", "package_url": "https://pypi.org/project/PyDynamic/", "platform": "", "project_url": "https://pypi.org/project/PyDynamic/", "project_urls": { "Homepage": "https://github.com/eichstaedtPTB/PyDynamic" }, "release_url": "https://pypi.org/project/PyDynamic/1.2.79/", "requires_dist": [ "ipython", "jupyter", "matplotlib", "numpy", "pandas", "scipy", "sympy" ], "requires_python": ">=3", "summary": "A software package for the analysis of dynamic measurements", "version": "1.2.79" }, "last_serial": 5791898, "releases": { "1.1.3": [ { "comment_text": "", "digests": { "md5": "594e1ee2d2522770f621e452ea1f06fd", "sha256": "bf19c280fe23f5ef6efe18d10ba33cc5cb197a298f6d34c15994908f740ea70f" }, "downloads": -1, "filename": "PyDynamic-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "594e1ee2d2522770f621e452ea1f06fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29590, "upload_time": "2016-06-03T07:59:06", "url": "https://files.pythonhosted.org/packages/b0/a6/e75eb5d662ab53a04acc1bcc3ab731c2f6551fe7d040f8f780d8ce75abaa/PyDynamic-1.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5453dc864c9657f251d506ee19e1e027", "sha256": "6c134e79127242092fa0505b489b51f902e94ac7a7bd1b3c2e5be6d7c9f23fd5" }, "downloads": -1, "filename": "PyDynamic-1.1.3.tar.gz", "has_sig": false, "md5_digest": "5453dc864c9657f251d506ee19e1e027", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22903, "upload_time": "2016-06-03T07:59:12", "url": "https://files.pythonhosted.org/packages/c6/4f/467743da49d49e90fef046ef21013a0f65c1cfddddad83703fc77115527b/PyDynamic-1.1.3.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "37cadcd826abf21fca1347f1ebb33639", "sha256": "9671b01f690079e68ecf74a6288cb356d6d7d410596423754b76bffa7be9516a" }, "downloads": -1, "filename": "PyDynamic-1.2.1.tar.gz", "has_sig": false, "md5_digest": "37cadcd826abf21fca1347f1ebb33639", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23353, "upload_time": "2016-06-29T12:09:57", "url": "https://files.pythonhosted.org/packages/48/c4/7eabb06c69268729fa664d9be4bba71e3ac05a688327a279ef523d220c8d/PyDynamic-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "496ef2aebee22a7168541548aabada1a", "sha256": "df2d118223efd2db8567a43589cda10375ed7b298d7b9866518ec2a2185f22ef" }, "downloads": -1, "filename": "PyDynamic-1.2.2.tar.gz", "has_sig": false, "md5_digest": "496ef2aebee22a7168541548aabada1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25768, "upload_time": "2016-08-17T05:55:19", "url": "https://files.pythonhosted.org/packages/02/98/67a542965d35a4cae7f8a9ece9cf98287fcf9d00bdb3263a6b8d1b22abc5/PyDynamic-1.2.2.tar.gz" } ], "1.2.4b0": [ { "comment_text": "", "digests": { "md5": "c351d316f7f7d844dddcc649cb5f520f", "sha256": "33289a236bc7315141bbde12f609b4ffe0ae7693502a49161e3d4972dc23d52e" }, "downloads": -1, "filename": "PyDynamic-1.2.4b0.tar.gz", "has_sig": false, "md5_digest": "c351d316f7f7d844dddcc649cb5f520f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24470, "upload_time": "2016-10-19T04:21:44", "url": "https://files.pythonhosted.org/packages/bd/0c/683921e07f93918d526dfe0ba124ea1ba0eb6e3ac44160a87f76c0830d44/PyDynamic-1.2.4b0.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "fad98f786a9cb0409e1651a8c520fae4", "sha256": "a88d30acca3be13dfbd8d65749ef2e1dd5caeb080e99639d545661cc544bf6d3" }, "downloads": -1, "filename": "PyDynamic-1.2.5.tar.gz", "has_sig": false, "md5_digest": "fad98f786a9cb0409e1651a8c520fae4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24466, "upload_time": "2016-10-19T04:23:55", "url": "https://files.pythonhosted.org/packages/7f/fb/c1c3605f6ad14146312acb4cc068a6d4e3fc7086e3c8ad2944b69a2dc5dc/PyDynamic-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "5531ed38b9c549640cba42552bbdc2a0", "sha256": "9f767ac8776f24289368bdf446bd7cd0a98b409291a76d2b02c82cebe40fb93c" }, "downloads": -1, "filename": "PyDynamic-1.2.6.tar.gz", "has_sig": false, "md5_digest": "5531ed38b9c549640cba42552bbdc2a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24541, "upload_time": "2016-11-04T12:43:39", "url": "https://files.pythonhosted.org/packages/72/05/96267a36a65d38449b753e268ba4c1884066e3a95dcd4aea4374bab7c3bc/PyDynamic-1.2.6.tar.gz" } ], "1.2.61": [ { "comment_text": "", "digests": { "md5": "90a94b28e34fb31a044b2170fcf8a2eb", "sha256": "376ceb93487dc2a17eff44da4389c0ad3a6aa86944770a016e997ad17be1b1ab" }, "downloads": -1, "filename": "PyDynamic-1.2.61.tar.gz", "has_sig": false, "md5_digest": "90a94b28e34fb31a044b2170fcf8a2eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24744, "upload_time": "2016-11-18T14:17:11", "url": "https://files.pythonhosted.org/packages/e0/ef/1f12bfb99f111b3d3d6d61687d2be66f58b311de7cfc9ce3d99a6a7879f1/PyDynamic-1.2.61.tar.gz" } ], "1.2.63": [ { "comment_text": "", "digests": { "md5": "674c08939ea427657984b99d59ab6b5e", "sha256": "7e9a40006d5200bf7a96ed8591692220ae24eafd8942bc81bd4f7da055a21be5" }, "downloads": -1, "filename": "PyDynamic-1.2.63.tar.gz", "has_sig": false, "md5_digest": "674c08939ea427657984b99d59ab6b5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24847, "upload_time": "2017-01-19T09:03:20", "url": "https://files.pythonhosted.org/packages/f4/9d/e838eed49f5ee1908e877a112e3876fc2eea5ec7621ae3c41990ec317029/PyDynamic-1.2.63.tar.gz" } ], "1.2.64": [ { "comment_text": "", "digests": { "md5": "406604b934438f9e19b5ea5f97a8f1f6", "sha256": "81ac64eaecbf69230962979c48dd58cb46305fc0dc79bbd150c977a93b328561" }, "downloads": -1, "filename": "PyDynamic-1.2.64.tar.gz", "has_sig": false, "md5_digest": "406604b934438f9e19b5ea5f97a8f1f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24970, "upload_time": "2017-05-09T07:14:04", "url": "https://files.pythonhosted.org/packages/c8/fa/1ce2d132243db104a867b49b6f04512734132c19ecc24e8eca1969d4c0af/PyDynamic-1.2.64.tar.gz" } ], "1.2.65": [ { "comment_text": "", "digests": { "md5": "85c4deae615430bfd3ad7089af36392a", "sha256": "b6612b509401f8b553e9420385ac11b37c21d7bc96ef660264242981506d5e2a" }, "downloads": -1, "filename": "PyDynamic-1.2.65.tar.gz", "has_sig": false, "md5_digest": "85c4deae615430bfd3ad7089af36392a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24953, "upload_time": "2017-07-10T15:25:31", "url": "https://files.pythonhosted.org/packages/8a/3b/ac6cbb8f427079ce3675c2359b259e469828b7814e47ba988802cac2db1f/PyDynamic-1.2.65.tar.gz" } ], "1.2.66": [ { "comment_text": "", "digests": { "md5": "17016c9385455504ebf9c9485e2fa01c", "sha256": "39d20563cd02f7341a565abb8c02f37f2f7844604f96ba38de436931aca8388f" }, "downloads": -1, "filename": "PyDynamic-1.2.66.tar.gz", "has_sig": false, "md5_digest": "17016c9385455504ebf9c9485e2fa01c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25039, "upload_time": "2017-07-17T05:00:36", "url": "https://files.pythonhosted.org/packages/72/a9/c760145e5506f86989c9283edc9c48cc4c95f6fa1c46cb51232703482d83/PyDynamic-1.2.66.tar.gz" } ], "1.2.71": [ { "comment_text": "", "digests": { "md5": "25a61ef1811c4e74b1c8b40b9eeac970", "sha256": "77e7c3342c4eaee36487735e7b9b6e8e84da6032dedd850cee61f8ccfa215ade" }, "downloads": -1, "filename": "PyDynamic-1.2.71-py3-none-any.whl", "has_sig": false, "md5_digest": "25a61ef1811c4e74b1c8b40b9eeac970", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 41140, "upload_time": "2019-07-08T15:58:22", "url": "https://files.pythonhosted.org/packages/63/a4/770211056f63e2d4fc2a501f03b367d37855360cec272d2e324e083c8848/PyDynamic-1.2.71-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3ec1ba2b1c5110912b549c7da3116cf", "sha256": "b3b246e4a9135f1b48dbf3bda833be7bcbf3f46924d5bc4ff9bd2c1399ef7a47" }, "downloads": -1, "filename": "PyDynamic-1.2.71.tar.gz", "has_sig": false, "md5_digest": "c3ec1ba2b1c5110912b549c7da3116cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 37041, "upload_time": "2019-07-08T15:58:24", "url": "https://files.pythonhosted.org/packages/51/d4/f8454ff00212d5d5201590435c76a8852735cab285ef6171f1de2953d2cd/PyDynamic-1.2.71.tar.gz" } ], "1.2.72": [ { "comment_text": "", "digests": { "md5": "df2fa8ad4e9a945d6098516b152bc70d", "sha256": "4205bc0759746dcd0fc0b6d06ffe1e1bb63ea6b551b9d85b2c8867e4fefa6ccc" }, "downloads": -1, "filename": "PyDynamic-1.2.72-py3-none-any.whl", "has_sig": false, "md5_digest": "df2fa8ad4e9a945d6098516b152bc70d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 42182, "upload_time": "2019-07-15T15:29:31", "url": "https://files.pythonhosted.org/packages/e2/fe/82288674d4e58e304c3ad0ba687dd6f9cf6d60bcf70a36780e7cd12b6b5a/PyDynamic-1.2.72-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "408f4b1c9c14e1b55a49c9e1697f528c", "sha256": "bdc2c512bdcb9119ac055e0b30834b2118c9fb4bd387902b3eb685a0de99dddf" }, "downloads": -1, "filename": "PyDynamic-1.2.72.tar.gz", "has_sig": false, "md5_digest": "408f4b1c9c14e1b55a49c9e1697f528c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 39673, "upload_time": "2019-07-15T15:29:33", "url": "https://files.pythonhosted.org/packages/68/aa/23ddd12cbded8b51d3c74a694bf3a6b2304184ca68ea055b503d8dcb35fd/PyDynamic-1.2.72.tar.gz" } ], "1.2.73": [ { "comment_text": "", "digests": { "md5": "ef933c8948e2d114db689fcb3ebaffd1", "sha256": "fa8c29b9b424f868cf2f5fff474c308c73082541abcf7923b1fbf02c34e99072" }, "downloads": -1, "filename": "PyDynamic-1.2.73-py3-none-any.whl", "has_sig": false, "md5_digest": "ef933c8948e2d114db689fcb3ebaffd1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 42147, "upload_time": "2019-07-15T15:49:52", "url": "https://files.pythonhosted.org/packages/d9/c1/01ad5079d740d98bba23dd5b2ecf55719496a1fe563849f0e12876bbdad4/PyDynamic-1.2.73-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "258ba16f093ee93276534c220af094f7", "sha256": "640005f87bcb38da707eb3041407b575f02191e8ac4cf058011e60ea155ec377" }, "downloads": -1, "filename": "PyDynamic-1.2.73.tar.gz", "has_sig": false, "md5_digest": "258ba16f093ee93276534c220af094f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 39548, "upload_time": "2019-07-15T15:49:54", "url": "https://files.pythonhosted.org/packages/a1/23/25ad3fff6a202331e2158f9a753b85398038d6a47c0647babcc2b5e25e73/PyDynamic-1.2.73.tar.gz" } ], "1.2.74": [ { "comment_text": "", "digests": { "md5": "2164382244462e4e68e0c9e1378d44bc", "sha256": "ca3256b147353c1239c29648e8cfc5e814bbf48ca7c90847ee1e577b4056717f" }, "downloads": -1, "filename": "PyDynamic-1.2.74-py3-none-any.whl", "has_sig": false, "md5_digest": "2164382244462e4e68e0c9e1378d44bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 42586, "upload_time": "2019-07-23T17:02:25", "url": "https://files.pythonhosted.org/packages/b5/b6/ce8829bd42af4a1fb3c1397d91e9758ad840955e8cac5fd77d587b1b811a/PyDynamic-1.2.74-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74258f17a1825beebed994b7ae44b2ee", "sha256": "9a98863a0ddc8eaae5f54ef0907c6518bd3196ab302cd4b6bf7447169d9bc777" }, "downloads": -1, "filename": "PyDynamic-1.2.74.tar.gz", "has_sig": false, "md5_digest": "74258f17a1825beebed994b7ae44b2ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 40518, "upload_time": "2019-07-23T17:02:27", "url": "https://files.pythonhosted.org/packages/d6/72/67200dca4bdfef10375c942da93026d5ed1359b596ca4355e6350959899b/PyDynamic-1.2.74.tar.gz" } ], "1.2.75": [ { "comment_text": "", "digests": { "md5": "ea00aae0a357ca12d8f97e4f7a4a018a", "sha256": "8237011bb82a07e24c9e306db3e46b349dc7fe78e4a9ae9e1f57d5176b5174c3" }, "downloads": -1, "filename": "PyDynamic-1.2.75-py3-none-any.whl", "has_sig": false, "md5_digest": "ea00aae0a357ca12d8f97e4f7a4a018a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 42665, "upload_time": "2019-07-24T12:19:35", "url": "https://files.pythonhosted.org/packages/8d/a6/012e91dfe77be4eca14d68df98c3f726bfcc496f1fc0053e9c4bbb561306/PyDynamic-1.2.75-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa98a2f0e9a7ceed0227a3dd7d850e43", "sha256": "a368772f365ce7b759bea59199fc6edf46093e145cf134428037091497fed94a" }, "downloads": -1, "filename": "PyDynamic-1.2.75.tar.gz", "has_sig": false, "md5_digest": "fa98a2f0e9a7ceed0227a3dd7d850e43", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 40587, "upload_time": "2019-07-24T12:19:36", "url": "https://files.pythonhosted.org/packages/7f/76/c045928df1601a3a38b9138787ecc4e46e2e9239e6d70959cdbecde634e0/PyDynamic-1.2.75.tar.gz" } ], "1.2.76": [ { "comment_text": "", "digests": { "md5": "d09ff7fed3d2f79aea92f26b5b346f3e", "sha256": "4f1c853fde37808b0b69c45dfceb25226abc101c3543dee930b4df532185bcda" }, "downloads": -1, "filename": "PyDynamic-1.2.76-py3-none-any.whl", "has_sig": false, "md5_digest": "d09ff7fed3d2f79aea92f26b5b346f3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 42774, "upload_time": "2019-07-25T13:21:30", "url": "https://files.pythonhosted.org/packages/b8/a5/80d3cc56e232d887506df128a1831206ec3b6ec05e1a8f5899396efd285b/PyDynamic-1.2.76-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05a242ad8bd5d132effeeef7ac32bcc7", "sha256": "551c3decf92c35f767ca86444dd325c5611d585b1d8b8fb5e56280e48bfafd7f" }, "downloads": -1, "filename": "PyDynamic-1.2.76.tar.gz", "has_sig": false, "md5_digest": "05a242ad8bd5d132effeeef7ac32bcc7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 41225, "upload_time": "2019-07-25T13:21:32", "url": "https://files.pythonhosted.org/packages/67/ce/7253e64fd8314f7ed5c281428d8b53a970537a8bb8ef515cffab0727557b/PyDynamic-1.2.76.tar.gz" } ], "1.2.77": [ { "comment_text": "", "digests": { "md5": "980bdbfb9c7ae2843f93f386ba81b8be", "sha256": "e29f3a3577ca9031b0437ded06d586f6f67422ae90fcefdecfe7bcf1f7e8d949" }, "downloads": -1, "filename": "PyDynamic-1.2.77-py3-none-any.whl", "has_sig": false, "md5_digest": "980bdbfb9c7ae2843f93f386ba81b8be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 42770, "upload_time": "2019-07-25T14:00:01", "url": "https://files.pythonhosted.org/packages/2b/c7/93811c9f91d9c7f200c7030cd06a26f21eb1e95a187cccf43380d80d1ac7/PyDynamic-1.2.77-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72a70d75faa99d18f17838e283e655cd", "sha256": "895c22f7a68bb9100780be49eb4c3908d51782d55c11bafbb7e32f294969b499" }, "downloads": -1, "filename": "PyDynamic-1.2.77.tar.gz", "has_sig": false, "md5_digest": "72a70d75faa99d18f17838e283e655cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 41226, "upload_time": "2019-07-25T14:00:03", "url": "https://files.pythonhosted.org/packages/69/1c/320f6edfa2c072317b0bfb772faf1bd338e2f0d650f1c40ca4a3f28f5085/PyDynamic-1.2.77.tar.gz" } ], "1.2.78": [ { "comment_text": "", "digests": { "md5": "00ed424b7b34b3b2fe8823e6bbf7affa", "sha256": "986a148fc9e62144a82468b4b70953df16a72706af55c016dddb463076debfd9" }, "downloads": -1, "filename": "PyDynamic-1.2.78-py3-none-any.whl", "has_sig": false, "md5_digest": "00ed424b7b34b3b2fe8823e6bbf7affa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 42817, "upload_time": "2019-08-16T06:57:44", "url": "https://files.pythonhosted.org/packages/bf/00/826f8b2ee7bd87bc2c1475ad1872afdaac07f19034c8b7d0e0c93f22fba1/PyDynamic-1.2.78-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07946aeb731130548a11e0b15d873f32", "sha256": "36cf90a5c69ef1e3ee7087103a7b033cd908c965db566a5a65dd50240f7f9d12" }, "downloads": -1, "filename": "PyDynamic-1.2.78.tar.gz", "has_sig": false, "md5_digest": "07946aeb731130548a11e0b15d873f32", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 41445, "upload_time": "2019-08-16T06:57:45", "url": "https://files.pythonhosted.org/packages/29/40/0c1e468b97ebaca34a885014992dd4aff848924465309c0570fde19248a6/PyDynamic-1.2.78.tar.gz" } ], "1.2.79": [ { "comment_text": "", "digests": { "md5": "e3d7784a96248136bb3551959dd25b4f", "sha256": "8399f367be26bf5a874916de7b61aafecc5a47ec449fcc27b5a9e218e74fdeea" }, "downloads": -1, "filename": "PyDynamic-1.2.79-py3-none-any.whl", "has_sig": false, "md5_digest": "e3d7784a96248136bb3551959dd25b4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 47890, "upload_time": "2019-09-06T12:11:54", "url": "https://files.pythonhosted.org/packages/90/4b/c818c1af9ae152a35d1adcdaf620e412cb05a63e6739bacfbc0d7c326c6d/PyDynamic-1.2.79-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70865848f5e98404db6e71436fce1152", "sha256": "45760260e2f22949e48b8287caccc08a9d9c3ecbad86b164e2ac97a7036d7c82" }, "downloads": -1, "filename": "PyDynamic-1.2.79.tar.gz", "has_sig": false, "md5_digest": "70865848f5e98404db6e71436fce1152", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 47155, "upload_time": "2019-09-06T12:11:56", "url": "https://files.pythonhosted.org/packages/06/1a/1b73f2fe315536219f7bbc236e7f5a99f5819f2df3c2c686df5d36b51d3f/PyDynamic-1.2.79.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3d7784a96248136bb3551959dd25b4f", "sha256": "8399f367be26bf5a874916de7b61aafecc5a47ec449fcc27b5a9e218e74fdeea" }, "downloads": -1, "filename": "PyDynamic-1.2.79-py3-none-any.whl", "has_sig": false, "md5_digest": "e3d7784a96248136bb3551959dd25b4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 47890, "upload_time": "2019-09-06T12:11:54", "url": "https://files.pythonhosted.org/packages/90/4b/c818c1af9ae152a35d1adcdaf620e412cb05a63e6739bacfbc0d7c326c6d/PyDynamic-1.2.79-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70865848f5e98404db6e71436fce1152", "sha256": "45760260e2f22949e48b8287caccc08a9d9c3ecbad86b164e2ac97a7036d7c82" }, "downloads": -1, "filename": "PyDynamic-1.2.79.tar.gz", "has_sig": false, "md5_digest": "70865848f5e98404db6e71436fce1152", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 47155, "upload_time": "2019-09-06T12:11:56", "url": "https://files.pythonhosted.org/packages/06/1a/1b73f2fe315536219f7bbc236e7f5a99f5819f2df3c2c686df5d36b51d3f/PyDynamic-1.2.79.tar.gz" } ] }