{ "info": { "author": "Antoine Falaize", "author_email": "antoine.falaize@univ-lr.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft", "Operating System :: Microsoft :: Windows", "Operating System :: Unix", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Physics" ], "description": "PyPHS\n======\n\n|pypi version| |Licence badge| |python versions| |Website badge|\n\n.. |pypi version| image:: https://badge.fury.io/py/pyphs.svg\n :target: https://badge.fury.io/py/pyphs\n.. |Licence badge| image:: https://img.shields.io/badge/license-GPL3-blue\n :target: https://www.gnu.org/licenses/gpl-3.0.en.html\n.. |python versions| image:: https://img.shields.io/badge/python-2.7%2C%203.5%2C%203.6%2C%203.7-blue.svg\n :target: https://github.com/pyphs/pyphs\n.. |Website badge| image:: https://img.shields.io/badge/documentation-website-blue.svg\n :target: https://pyphs.github.io/pyphs\n\nA Python software (Py) dedicated to the simulation of multi-physical Port-Hamiltonian Systems (PHS) described by graph structures.\n\nThe PHS formalism decomposes network systems into **conservative** parts, **dissipative** parts and **source** parts, which are combined according to an **energy conserving interconnection**. This approach permits to formulate the dynamics of multi-physical systems as a **set of differential-algebraic equations** structured according to energy flows. This **structure** proves the **passivity** of the system, including the nonlinear cases. Moreover, it guarantees the **stability** of the numerical simulations for an adapted structure preserving numerical method.\n\n.. image:: https://pyphs.github.io/pyphs/figures/home2.png\n\t:width: 650\n\t:align: center\n\nThe main objects of the library are introduced in `this presentation `_.\nThe standard workflow is as follows.\n\n1. Inputs are **netlist descriptions** of network systems (very similar to SPICE netlists).\n2. The associated **graphs** are analyzed to produce the **core system's dynamics equations** in the PHS formalism.\n3. **Simulations** (i.e. numerical solving of DAE equations) are performed based on a variety of **numerical methods** (can be extended with new ones).\n4. The corresponding **C++** simulation code is automatically generated and called from python (can also be used in bigger applications).\n5. **LaTeX** description files can be generated (for documentation, publication, etc.).\n\n.. image:: https://pyphs.github.io/pyphs/figures/synopsys.png\n :width: 800\n :align: center\n\n- The Python class **Core** defines symbolically a *continuous-time Port-Hamiltonian structure*.\n- The Python class **Method** defines symbolically a *discrete-time port-Hamiltonian structure* derived from a given `Core` object and for several numerical schemes. It includes a structure preserving numerical method (see [NumericalMethod2015]_).\n- The Python class **Netlist** reads and writes the descriptions of network systems.\n- The Python class **Graph** defines a network structure for the automated generation of `Core` from `Netlist`, based on (i) the implementation of a specially designed **graph analysis** (see [GraphAnalysis2016]_), and (ii) a set of elementary **components** compiled in the **Dictionary**.\n- The Python class **Simulation** evaluates iteratively a given `Method` object to produce the data result in text files. The evaluation can run in pure Python code with the **Numerical** object, or can run in C++ through the generated C++ files.\n\nStatus\n======\n\nThis package is in development status Beta. The continuous integration is checked with Travis for Unix systems and AppVeyor for Windows systems (see build status below).\n\n|Travis| |Appveyor| |Codecov|\n\n\n.. |Travis| image:: https://www.travis-ci.org/pyphs/pyphs.svg?branch=master\n :target: https://www.travis-ci.org/pyphs/pyphs\n\n\n.. |Appveyor| image:: https://ci.appveyor.com/api/projects/status/53d7phhgksrd4fvn?svg=true\n :target: https://ci.appveyor.com/project/pyphsadmin/pyphs\n\n\n.. |Codecov| image:: https://codecov.io/gh/pyphs/pyphs/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/pyphs/pyphs\n\n\nLicence\n=======\n`PyPHS `_ is distributed under the GNU General Public License v3.0. In short, permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.\n\n\n\nInstallation\n==============\nIt is possible to install `PyPHS `_ from package (if you just want to use it) or source (if you plan to use it for development). Whichever method you choose, make sure that all prerequisites are installed.\n\nPython prerequisites\n--------------------\n\nThe `PyPHS `_ package run on Python 2.7 and Python 3.5 or newer (3.4 is no longer tested).\nPlease refer to the `requirements.txt `_ file for the required packages and make sure they are up to date.\nAdditionally, `theano `_ is used if it can be found on the system, for faster numerical evaluation of symbolic expressions.\n\nC++ prerequisites\n------------------\n\nThe generated C++ sources build with `CMake `_ >= 3.1 (see **Configuration** below). The code relies on the `Eigen library `_ (not needed for pure Python usage).\n\nInstall from package\n--------------------\n\nThe easiest way to install the package is via `pip` from the `PyPI (Python\nPackage Index) `_::\n\n pip install pyphs\n\nThis includes the latest code and should install all dependencies automatically. If it complains about some missing dependencies, install them the same way with `pip` beforehand.\n\nYou might need higher privileges (use su or sudo) to install the package globally. Alternatively you can install the package locally\n(i.e. only for you) by adding the `--user` argument::\n\n pip install --user pyphs\n\nInstall from source\n-------------------\n\nIf you plan to use the package as a developer, clone the Git repository::\n\n git clone --recursive https://github.com/pyphs/pyphs.git\n\nThen you can simply install the package in development mode::\n\n python setup.py develop --user\n\nTo run the included tests::\n\n python setup.py test\n\nConfiguration\n--------------\n\nAfter installation, it is recommended to configure the `config.py `_ to your needs. Particularly, this is where the local path to the CMake binary is specified.\n\nYour local `config.py `_ file is located at the root of the `PyPHS `_ package, which can be recovered in a Python interpreter with\n\n\n.. code:: python\n\n from pyphs import path_to_configuration_file\n print(path_to_configuration_file)\n\n\nUpgrade of existing installations\n---------------------------------\n\nTo upgrade the package, please use the same mechanism (pip vs. source) as you did for installation.\n\nUpgrade a package\n~~~~~~~~~~~~~~~~~\n\nFirst, manually uninstall the package::\n\n pip uninstall pyphs\n\nand reinstall as explained above.\n\n\nUpgrade from source\n~~~~~~~~~~~~~~~~~~~\n\nPull the latest sources::\n\n git pull\n\nPackage structure\n=================\n\nThe package is divided into the following folders:\n\n`/pyphs/tutorials `_\n Tutorials for the main `PyPHS `_ classes (executable programs).\n`/pyphs/examples `_\n Various real-life applications (executable programs).\n`/pyphs/core `_\n `Core` class :\n This is the central object of the `PyPHS `_ package. It implements the core PHS structure and provides several methods for its manipulation (reorganization, connection, simplification, etc.).\n`/pyphs/graphs `_\n `Netlist` class :\n Management of netlist description files.\n `Graph` class :\n (1) Construction and manipulation of network systems,\n (2) Analysis of network realizability,\n (3) Generation of PHS equations (`Core`).\n`/pyphs/dictionary `_\n - Components are `Graph` objects.\n - The dictionary is organized in thematic sub-packages (*electronics*, *thermics*, *fractional calculus*, etc.).\n - Each theme is organized in component sub-packages (`electronics.resistor`, `thermics.transfer`, `fraccalc.fracderec`, etc.).\n`/pyphs/numerics `_\n `Evaluation` class :\n Numerical evaluation of a given `Core`.\n `Method` object :\n Construction of the *symbolic* expressions associated with several numerical methods (theta-schemes, trapezoidal rule, discret gradient, etc.).\n `Simulation` object :\n Manage the iterative evaluation and associated results data for a given `Method`.\n `Numeric` object :\n Python evaluation of a given `Method`.\n `Data` object :\n Methods for writing, reading and rendering `Simulation` file results.\n`/pyphs/tests `_\n Test programs executed by `nose` (see above).\n`/pyphs/misc `_\n Miscellaneous tools (plots, LaTeX code generation, signal processing, files I/O).\n\nDocumentation\n==============\n\nMost of the documentation can be found in the `website `_.\nIn particular, you can see the two following resources:\n\n- The `slides `_ from a talk given at IRCAM that introduces most the scientific background.\n- The `tutorial `_ that shows practical usage of most PyPHS objects (3Mb).\n\n\n\nTheoretical overview\n--------------------\n\nThe development of `PyPHS `_ started as an implementation of the methods proposed in the reference [GraphAnalysis2016], in which the port-Hamiltonian formalism, the graph analysis and the structure preserving numerical method are exposed. This is worth to read before using the package.\n\nQ&A Mailing list\n-----------------\n\nThe package mailing list is at https://groups.google.com/forum/#!forum/pyphs.\n\nTutorials and examples\n-----------------------\n\nThe package comes with a set of tutorials for the use of the main functionalities (`definition `_, `evaluation `_, and `simulation `_ of a core PHS structure). More tutorials are to come. Additionally, you can see the `examples `_ scripts. Both the *tutorials* and the *examples* folders are located at your package root, which can be recovered in Python interpreter with\n\n\n.. code:: python\n\n from pyphs import path_to_examples, path_to_tutorials\n print(path_to_examples)\n print(path_to_tutorials)\n\nTypical use\n===========\n\nConsider the following serial diode-inductor-capacitor (DLC) electronic circuit:\n\n.. image:: https://pyphs.github.io/pyphs/figures/DLC.jpg\n :width: 300\n :align: center\n\nwith the following physical parameters:\n\n+------------+------------------------------------------+----------------+\n| Parameter | Description (SI unit) | Typical value |\n+------------+------------------------------------------+----------------+\n| Is | Diode saturation current (A) | 2e-9 |\n+------------+------------------------------------------+----------------+\n| v0 | Diode thermal voltage (V) | 26e-3 |\n+------------+------------------------------------------+----------------+\n| mu | Diode ideality factor (dimensionless) | 1.7 |\n+------------+------------------------------------------+----------------+\n| R | Diode connectors resistance (Ohms) | 0.5 |\n+------------+------------------------------------------+----------------+\n| L | Inductance value (H) | 0.05 |\n+------------+------------------------------------------+----------------+\n| C | Capacitance value (F) | 2e-06 |\n+------------+------------------------------------------+----------------+\n\n\n1. Define the Netlist\n---------------------\n\nPut the following content in a text file with **.net** extension, (here *dlc.net*):\n\n.. line-block::\n electronics.source in ('#', 'n1'): type='voltage';\n electronics.diode D ('n1', 'n2'): Is=('Is', 2e-9); v0=('v0', 26e-3); mu=('mu', 1.7); R=('Rd', 0.5);\n electronics.inductor L ('n2', 'n3'): L=('L', 0.05);\n electronics.capacitor C ('n3', '#'): C=('C', 2e-06);\n\n\n2. Perform graph analysis\n-------------------------\n\nRun the following in a Python interpreter in the netlist file directory:\n\n.. code:: python\n\n import pyphs as phs\n\n # Read the 'dlc_netlist.net'\n netlist = phs.Netlist('dlc.net')\n\n # Construct the graph associated with 'netlist'\n graph = netlist.to_graph()\n\n # Construct the core Port-Hamiltonian System from 'graph'\n core = graph.to_core()\n\n\n3. Export LaTeX\n----------------------------\n\n.. code:: python\n\n # Add netlist to LaTeX content\n content = phs.netlist2tex(netlist)\n\n # Add PHS core to LaTeX content\n content += phs.core2tex(core)\n\n # Write ready-to-use .tex document\n phs.texdocument(content,\n title='DLC',\n path='dlc.tex')\n\n\nThis yields the following **tex** file:\n\n* `dlc.tex `_\n\nwhich is compiled to produce the following **pdf** file:\n\n* `dlc.pdf `_\n\n\n4. Export C++ code\n----------------------------\n\n.. code:: python\n\n # Numerical method for time discretization of 'core'\n # with default configuration\n method = core.to_method()\n\n # Export the set of C++ file for simulation\n method.to_cpp()\n\n\nThis yields the following **cpp** files:\n\n* `core.cpp `_\n* `core.h `_\n* `parameters.cpp `_\n* `parameters.h `_\n\nThe `core.h` defines a class of `DLC` systems with an update method to be called at each iteration for the simulations.\n\n\nAuthors and Affiliations\n========================\n\nPyPHS is mainly developed by `Antoine Falaize `_ and `Thomas H\u00e9lie `_, respectively in\n\n- the `Team M2N `_ (Mathematical and Numerical Methods), `LaSIE Research Lab `_ (CNRS UMR 7356), hosted by the `University of La Rochelle `_,\n- the `Team S3AM `_ (Sound Systems and Signals: Audio/Acoustics, InstruMents) at `STMS Research Lab `_ (CNRS UMR 9912), hosted by `IRCAM `_ in Paris.\n\nSee the `AUTHORS `_ file for the complete list of authors.\n\n\nShort History\n==============\n\nThe ideas behind PyPHS where developed between 2012 and 2016 as a part of the PhD thesis of `Antoine Falaize `_ under the direction of `Thomas H\u00e9lie `_, through a funding from the French doctoral school `EDITE `_ (UPMC ED-130) and in connection with the French National Research Agency project `HaMecMoPSys `_.\n\n\nReferences\n==========\n\n.. [NumericalMethod2015] Lopes, N., H\u00e9lie, T., & Falaize, A. (2015). Explicit second-order accurate method for the passive guaranteed simulation of port-Hamiltonian systems. IFAC-PapersOnLine, 48(13), 223-228.\n\n.. [GraphAnalysis2016] Falaize, A., & H\u00e9lie, T. (2016). Passive Guaranteed Simulation of Analog Audio Circuits: A Port-Hamiltonian Approach. Applied Sciences, 6(10), 273.", "description_content_type": "", "docs_url": "https://pythonhosted.org/pyphs/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pyphs/pyphs", "keywords": "dynamical systems,numerical analysis,passive systems,port-hamiltonian systems,C++,Latex", "license": "GNU General Public License v3 or later (GPLv3+)", "maintainer": "", "maintainer_email": "", "name": "pyphs", "package_url": "https://pypi.org/project/pyphs/", "platform": "", "project_url": "https://pypi.org/project/pyphs/", "project_urls": { "Homepage": "https://github.com/pyphs/pyphs" }, "release_url": "https://pypi.org/project/pyphs/0.5.1/", "requires_dist": null, "requires_python": "", "summary": "Development Status :: 4 - Beta", "version": "0.5.1" }, "last_serial": 5830331, "releases": { "0.1": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "883cc6faba1f4fa437d7effcb9589add", "sha256": "98fa1b278a39ea40efa27153f33dc335d245a83cda61b998c22713264117a8a6" }, "downloads": -1, "filename": "pyphs-0.1.1.tar.gz", "has_sig": false, "md5_digest": "883cc6faba1f4fa437d7effcb9589add", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6897, "upload_time": "2016-11-03T22:34:52", "url": "https://files.pythonhosted.org/packages/13/d4/e3dbc09f2066b670b8ad1dec330f674f6da4f8a7c2ce9f5276fa901571f3/pyphs-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "d70c341642be75f459516a065e7c1237", "sha256": "f6315450a0a9aeb51d8dd4a804e30993744e98ca6a18433ac5783b3634c2a1f4" }, "downloads": -1, "filename": "pyphs-0.1.10.tar.gz", "has_sig": false, "md5_digest": "d70c341642be75f459516a065e7c1237", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 127654, "upload_time": "2017-07-15T03:49:38", "url": "https://files.pythonhosted.org/packages/2c/7a/abe000d83d1fa5bb93ed5aaf7ceb73a7b36a1d0915bb92c5270d20a8a18d/pyphs-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "9ff4dd925de4190bcb04a3179dd94313", "sha256": "7a50422b53b07725f6dbf83640a336b4ae60f4e69ad453a6e8a76b711cc0a270" }, "downloads": -1, "filename": "pyphs-0.1.11.tar.gz", "has_sig": false, "md5_digest": "9ff4dd925de4190bcb04a3179dd94313", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136227, "upload_time": "2017-09-09T13:16:39", "url": "https://files.pythonhosted.org/packages/cb/b1/b06f2885a5e9dc36797f69dc7c2e6c442bf238e712d79aefa8163779875f/pyphs-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "13a5bf0f18270628fb641fdeca43bc89", "sha256": "57c5e21d7de0b817a600fb14ca00a8d8605186ae49459b344d08d416d275d1a9" }, "downloads": -1, "filename": "pyphs-0.1.12-py3.6.egg", "has_sig": false, "md5_digest": "13a5bf0f18270628fb641fdeca43bc89", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 515391, "upload_time": "2017-09-09T13:16:50", "url": "https://files.pythonhosted.org/packages/70/02/82ba61d34f11c6901686a51401943d0e97e702e97391ac50ee6931f69e9b/pyphs-0.1.12-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "8b2fdeb01a4178e086949c4a681eac10", "sha256": "ece0fab6b05208e06981038b614648117c5d0d9f1c31ff1d8e8bc3591d0fd381" }, "downloads": -1, "filename": "pyphs-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "8b2fdeb01a4178e086949c4a681eac10", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 241933, "upload_time": "2017-09-09T13:16:35", "url": "https://files.pythonhosted.org/packages/89/14/69158f737bca537dc45e86ac5abe9b3bfc1b9606a59d64b27dd5f16bd1a1/pyphs-0.1.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2ae5c14d120b31a6a390fecd0eb6037", "sha256": "fd630a4561c91a6ad394757ec3076b8f56abb67013869f055df567cf01b2f046" }, "downloads": -1, "filename": "pyphs-0.1.12.tar.gz", "has_sig": false, "md5_digest": "a2ae5c14d120b31a6a390fecd0eb6037", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146916, "upload_time": "2017-09-09T13:16:55", "url": "https://files.pythonhosted.org/packages/cd/ec/be6614b528e26c2bfb592673ed358d1cd179b252d446bce3c12d62cf4b0e/pyphs-0.1.12.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "bd89a5f4a8ed71e9e2e6ea83410053ad", "sha256": "ce477e071de50885c86fd29705538a86005e871edc7dea1571464a580c8231d3" }, "downloads": -1, "filename": "pyphs-0.1.14.tar.gz", "has_sig": false, "md5_digest": "bd89a5f4a8ed71e9e2e6ea83410053ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146310, "upload_time": "2017-10-11T08:53:44", "url": "https://files.pythonhosted.org/packages/8b/61/d9faf32c176a033ef8ea9dae30df3c343543e3b02ae121a0906e84569187/pyphs-0.1.14.tar.gz" } ], "0.1.15b0": [ { "comment_text": "", "digests": { "md5": "de2c7a96be86e25d8c906d0d6868f896", "sha256": "cb88bf3874a14e29d62795c13e5d0b91d56b51ec33bc441dd35322f1cb899ce5" }, "downloads": -1, "filename": "pyphs-0.1.15b0-py3.6.egg", "has_sig": false, "md5_digest": "de2c7a96be86e25d8c906d0d6868f896", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 521538, "upload_time": "2017-11-30T00:04:21", "url": "https://files.pythonhosted.org/packages/74/35/d3f6e95726b451ae31354c9780eebe50b36c8aee624badd3145e479c0ed2/pyphs-0.1.15b0-py3.6.egg" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f32475e92e73b5b599cd68ba048347c2", "sha256": "a0c6e017f545cfb3ab327af5b6fb873ab666d6cb2f7e0090aa065d67c83530c9" }, "downloads": -1, "filename": "pyphs-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f32475e92e73b5b599cd68ba048347c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6897, "upload_time": "2016-11-03T23:37:35", "url": "https://files.pythonhosted.org/packages/bb/d5/076940ec50f26098ff04ba8b8130e385b32ad66e1650620e0c62bd37c760/pyphs-0.1.2.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "d351c9ca004c9be44bd351d066117af3", "sha256": "dc4280486cebd9e196b34a200205e512007acc8031bdc5f963ca54e6a455bcc8" }, "downloads": -1, "filename": "pyphs-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d351c9ca004c9be44bd351d066117af3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6998, "upload_time": "2016-11-04T12:32:53", "url": "https://files.pythonhosted.org/packages/7d/23/5204f22180d51d5c49e28df645ab53b688ccf8e88c80ade71bcd5bfa8869/pyphs-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "fddede5daadb8e864f36f172250f78e6", "sha256": "f5db370015d6c703c592c4eae0e81eb0e0e29baabb808856a2675ef36295c2f5" }, "downloads": -1, "filename": "pyphs-0.1.6.tar.gz", "has_sig": false, "md5_digest": "fddede5daadb8e864f36f172250f78e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7013, "upload_time": "2016-11-11T15:55:33", "url": "https://files.pythonhosted.org/packages/d7/c0/48c78f704a362fc0bc6be49b990115e3cefbd40d085417f442f22b9d27d1/pyphs-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "d91a0fc0b055f8b53c6d48ffad6ce9f2", "sha256": "e34882a8576371d3446fd41d7f1b9f3ff43ef76f93a692e3ea297e873cd85002" }, "downloads": -1, "filename": "pyphs-0.1.7.tar.gz", "has_sig": false, "md5_digest": "d91a0fc0b055f8b53c6d48ffad6ce9f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7059, "upload_time": "2016-11-11T20:09:07", "url": "https://files.pythonhosted.org/packages/25/bb/b6083c5bef0f6d1e960afd0ca2adabcb7d9cef2fe00dd3e416bbc0c15b3c/pyphs-0.1.7.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "665b767fae274adf7af321a44af71ff0", "sha256": "41bab231c7c6763ab40bde4cea7c1540e429fa3ef9ae0587aee4fb6056024518" }, "downloads": -1, "filename": "pyphs-0.1.9.tar.gz", "has_sig": false, "md5_digest": "665b767fae274adf7af321a44af71ff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78925, "upload_time": "2017-03-08T11:10:36", "url": "https://files.pythonhosted.org/packages/b2/bd/03ae750d60b1d80c907c5bdcc4779e70eb988fc035736635a77bb877e040/pyphs-0.1.9.tar.gz" } ], "0.1.9.1": [ { "comment_text": "", "digests": { "md5": "76484c06c1f3e537e41323df78e13c73", "sha256": "6dd444becd1a4b3ee81b5da05205f15d4379af3aea4295877a3d5b4003919bde" }, "downloads": -1, "filename": "pyphs-0.1.9.1.tar.gz", "has_sig": false, "md5_digest": "76484c06c1f3e537e41323df78e13c73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78940, "upload_time": "2017-03-08T11:22:59", "url": "https://files.pythonhosted.org/packages/2b/b3/cd60aa0e73ac5dc3c62dbeeb803366b00a415c606ae37086c1a17244a759/pyphs-0.1.9.1.tar.gz" } ], "0.1.9.2": [ { "comment_text": "", "digests": { "md5": "f4c24da8b3ec727211f848ba4be81c3f", "sha256": "6e694c5cf11c97fde715ae169b1d07ce023fc18e3bd9ff5a88474da343c35f65" }, "downloads": -1, "filename": "pyphs-0.1.9.2.tar.gz", "has_sig": false, "md5_digest": "f4c24da8b3ec727211f848ba4be81c3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78972, "upload_time": "2017-03-08T13:29:00", "url": "https://files.pythonhosted.org/packages/9e/c2/f8333b0100b6b92ac17f4a63703cd0367d17f488e5f45530283fa9da99dd/pyphs-0.1.9.2.tar.gz" } ], "0.1.9.3": [ { "comment_text": "", "digests": { "md5": "fe6d1611c8465c5d35fac44126ae623d", "sha256": "664ff9f07228d73a6a4e9004855e7ca7e33cdd8e2b5b382324ab099b5a5fac67" }, "downloads": -1, "filename": "pyphs-0.1.9.3.tar.gz", "has_sig": false, "md5_digest": "fe6d1611c8465c5d35fac44126ae623d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78941, "upload_time": "2017-03-08T13:33:09", "url": "https://files.pythonhosted.org/packages/71/de/26e9d28033af553c892c53920aa58b295ff08fbd6fb160f7ec7d273ed8e2/pyphs-0.1.9.3.tar.gz" } ], "0.1.9.4": [ { "comment_text": "", "digests": { "md5": "bbe01dfbb060b9dc7ffd4ad61aa4db69", "sha256": "d8320795e8c4b89b165a23b02060c0a6a0567e08ac59ca27d52d75afc4087cd4" }, "downloads": -1, "filename": "pyphs-0.1.9.4.tar.gz", "has_sig": false, "md5_digest": "bbe01dfbb060b9dc7ffd4ad61aa4db69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79478, "upload_time": "2017-03-13T23:31:59", "url": "https://files.pythonhosted.org/packages/f0/be/0e3b0b91d11281f20eeef93eecb1d25f675e2f2b43e6534f1ebe67c4f80a/pyphs-0.1.9.4.tar.gz" } ], "0.1.9.5": [ { "comment_text": "", "digests": { "md5": "5f6c335fc04e54dd732cf1cedceb86f2", "sha256": "b3371a1b1d02c60e8fb87ab487cc25dbfcfe68fe0e8ae7186cef55af8cc2fb58" }, "downloads": -1, "filename": "pyphs-0.1.9.5.tar.gz", "has_sig": false, "md5_digest": "5f6c335fc04e54dd732cf1cedceb86f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79850, "upload_time": "2017-03-22T11:47:03", "url": "https://files.pythonhosted.org/packages/9a/36/5271079fc682f7bf681e139aaffaa056e6d8b73eebcfc381a44b7a829091/pyphs-0.1.9.5.tar.gz" } ], "0.1.9.7": [ { "comment_text": "", "digests": { "md5": "8e86f3ea3c16e42b670a433c3800b3fa", "sha256": "e5aa28e7a49b6bd3b6814f7510c4f9d9cf4b9c8d3a7f7824e8d606ada02cabd7" }, "downloads": -1, "filename": "pyphs-0.1.9.7.tar.gz", "has_sig": false, "md5_digest": "8e86f3ea3c16e42b670a433c3800b3fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86924, "upload_time": "2017-04-02T17:30:41", "url": "https://files.pythonhosted.org/packages/b2/79/0a9d05f7cf32d8873ea164a124c6b8e64a641b461606be8a0fcdab4c603e/pyphs-0.1.9.7.tar.gz" } ], "0.1.9.7.1": [ { "comment_text": "", "digests": { "md5": "5da2fdc1a10a63d3a69e704260aeefcf", "sha256": "aa24eafb89857a2e8c5b8c5074d1133d1faf326c77a057f100f527844306f513" }, "downloads": -1, "filename": "pyphs-0.1.9.7.1.tar.gz", "has_sig": false, "md5_digest": "5da2fdc1a10a63d3a69e704260aeefcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87846, "upload_time": "2017-04-03T17:06:13", "url": "https://files.pythonhosted.org/packages/18/3b/4bda38889c2d3606e6a53816ab07e4643c59eb1c3adb661013e5b18040d6/pyphs-0.1.9.7.1.tar.gz" } ], "0.1.9.7.2": [ { "comment_text": "", "digests": { "md5": "1121865df49c98875d4853abea218633", "sha256": "b30343c3eba65a5c2e95eb4d2f9f4edf20dc33ed9705ee77339c4de97b17d6d3" }, "downloads": -1, "filename": "pyphs-0.1.9.7.2.tar.gz", "has_sig": false, "md5_digest": "1121865df49c98875d4853abea218633", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87855, "upload_time": "2017-04-03T18:14:17", "url": "https://files.pythonhosted.org/packages/1f/c6/25ef103eee203cde3978a8fc42f2d7b50b1a502d554150ad4ef9c0a63516/pyphs-0.1.9.7.2.tar.gz" } ], "0.1.9.7.3": [ { "comment_text": "", "digests": { "md5": "e9ae03d4dd7cb811087cd163d95c359a", "sha256": "90e6d792770ef4267830e537da9369d83d9dee8b5996d50cc232547f75693c5f" }, "downloads": -1, "filename": "pyphs-0.1.9.7.3.tar.gz", "has_sig": false, "md5_digest": "e9ae03d4dd7cb811087cd163d95c359a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88750, "upload_time": "2017-04-03T19:35:47", "url": "https://files.pythonhosted.org/packages/60/7d/3bf979f5f0cd0d4c7e61386c35aa8e50b2f10c727916cbb7ada7a5399533/pyphs-0.1.9.7.3.tar.gz" } ], "0.1.9.8": [ { "comment_text": "", "digests": { "md5": "0aac2fde08aeb3bf843773570f0756bd", "sha256": "8c673ff4fcfc62297e740169036c1ef460f42510d6f5162b57698721c6a00c20" }, "downloads": -1, "filename": "pyphs-0.1.9.8.tar.gz", "has_sig": false, "md5_digest": "0aac2fde08aeb3bf843773570f0756bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104859, "upload_time": "2017-05-13T21:56:41", "url": "https://files.pythonhosted.org/packages/8b/24/3963387441491f7cbd69d4f7a75e2e04331e00668d711bdc7c385ca48b0b/pyphs-0.1.9.8.tar.gz" } ], "0.1.9.9.2": [ { "comment_text": "", "digests": { "md5": "ae631acb01f4eb83de24b19d1145484f", "sha256": "e537874aff014ce3343cc4f71b5dada9b0b3ea8ec6256f0098b1de5e257dde15" }, "downloads": -1, "filename": "pyphs-0.1.9.9.2.tar.gz", "has_sig": false, "md5_digest": "ae631acb01f4eb83de24b19d1145484f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125350, "upload_time": "2017-06-20T19:51:50", "url": "https://files.pythonhosted.org/packages/a9/da/a50c891fb178f3aff530def2fa114be7ec084ac74f16465cad012f7d2401/pyphs-0.1.9.9.2.tar.gz" } ], "0.1.9.9.3": [ { "comment_text": "", "digests": { "md5": "5767343823bd4960f94f2396373e52f2", "sha256": "c094ccf6b188087961a2f5ef495bfc0a54a0ef2934e069da821a59a3da90da7c" }, "downloads": -1, "filename": "pyphs-0.1.9.9.3.tar.gz", "has_sig": false, "md5_digest": "5767343823bd4960f94f2396373e52f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 126361, "upload_time": "2017-06-20T21:16:27", "url": "https://files.pythonhosted.org/packages/7d/cf/96dac540179c390609f56f0233908e2f5a3f2f75aa78013b8f92237f92af/pyphs-0.1.9.9.3.tar.gz" } ], "0.1.9.9.4": [ { "comment_text": "", "digests": { "md5": "451a6f640d16285e30b97b8acc7d1e33", "sha256": "6879753d14aecc4f6fac452520ee038a13797987d70bc4179f1d9d72356ca641" }, "downloads": -1, "filename": "pyphs-0.1.9.9.4.tar.gz", "has_sig": false, "md5_digest": "451a6f640d16285e30b97b8acc7d1e33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 126752, "upload_time": "2017-06-20T21:45:04", "url": "https://files.pythonhosted.org/packages/8b/bf/92ff8288828912a3e3b6ac57bb4e1dc47987026ef6d6afc704a9e531f01f/pyphs-0.1.9.9.4.tar.gz" } ], "0.1.9a0": [ { "comment_text": "", "digests": { "md5": "e756a4a79e5af6f5517f2c107f8d3261", "sha256": "9ac6ed2c05c6bc856d8517d1b40d478988650f6fa27ceeb874d09e7670968a68" }, "downloads": -1, "filename": "pyphs-0.1.9a0.tar.gz", "has_sig": false, "md5_digest": "e756a4a79e5af6f5517f2c107f8d3261", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7399, "upload_time": "2016-11-12T10:30:50", "url": "https://files.pythonhosted.org/packages/e2/c6/4df28e04cf9119b27b0947bd55540195bea8a630ebe0bac77c2ed4f03f4f/pyphs-0.1.9a0.tar.gz" } ], "0.1.9a1": [ { "comment_text": "", "digests": { "md5": "e59fcb53ea46ce9f3de921dc5a9ff8de", "sha256": "4dc4f0543441bc09b6136bf129a6fb5f33c640dc19cd253455211d0b51b1d6d0" }, "downloads": -1, "filename": "pyphs-0.1.9a1.tar.gz", "has_sig": false, "md5_digest": "e59fcb53ea46ce9f3de921dc5a9ff8de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7400, "upload_time": "2016-11-12T16:21:04", "url": "https://files.pythonhosted.org/packages/2f/90/8cf5cde5fc2d407c2cb8b9e7aabbd9101fb2297c8077694c9c9be49f4c29/pyphs-0.1.9a1.tar.gz" } ], "0.1.9a2": [ { "comment_text": "", "digests": { "md5": "509e15d8b1e75eea3290490f5fb4b4d2", "sha256": "75b6429f156b2386ef7a4d0f73e3c8a9181cb218e2b53f96b1a5edd30152aaa0" }, "downloads": -1, "filename": "pyphs-0.1.9a2.tar.gz", "has_sig": false, "md5_digest": "509e15d8b1e75eea3290490f5fb4b4d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7419, "upload_time": "2016-11-12T21:16:27", "url": "https://files.pythonhosted.org/packages/64/2d/b38f48375954364f6c618395c0368b4825b69966b379edaafc4733988188/pyphs-0.1.9a2.tar.gz" } ], "0.1.9a3": [ { "comment_text": "", "digests": { "md5": "79d089b3e95e3e781bed8fa1d293de68", "sha256": "0e8c03e5855d3a2faf4e969e578a31872b7f92ccd9d3b4f887afa9821948d2d8" }, "downloads": -1, "filename": "pyphs-0.1.9a3.tar.gz", "has_sig": false, "md5_digest": "79d089b3e95e3e781bed8fa1d293de68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7419, "upload_time": "2016-11-12T21:24:14", "url": "https://files.pythonhosted.org/packages/72/e0/aee41388ac678cf992e2e9c1d2ae3f9f6c64c9ffba8fdef3c2c1b50ff82f/pyphs-0.1.9a3.tar.gz" } ], "0.1.9a4": [ { "comment_text": "", "digests": { "md5": "ea17ceafba55e62bb4000b62d881ab95", "sha256": "2b4a8ae534bc673f964dbb1c75bb91c249f8dbdd295435c25a3f40f9e4de8898" }, "downloads": -1, "filename": "pyphs-0.1.9a4.tar.gz", "has_sig": false, "md5_digest": "ea17ceafba55e62bb4000b62d881ab95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7435, "upload_time": "2016-11-12T21:43:50", "url": "https://files.pythonhosted.org/packages/fa/21/30548b2a07d591bb27279cd7c335e50c7439382a7061c6845ef103af7747/pyphs-0.1.9a4.tar.gz" } ], "0.1.9a5": [ { "comment_text": "", "digests": { "md5": "5b793681e571b69b87923a747bbcbdba", "sha256": "bec5c3faed4ed475f355504fe70e7a208b3dd9bdf65fb30329f23e32f3786f74" }, "downloads": -1, "filename": "pyphs-0.1.9a5.tar.gz", "has_sig": false, "md5_digest": "5b793681e571b69b87923a747bbcbdba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7428, "upload_time": "2016-11-12T21:58:10", "url": "https://files.pythonhosted.org/packages/e5/13/1b890a0b2b75ce611b592058dfd61d60b158908dcd884030df5b2edc4f8b/pyphs-0.1.9a5.tar.gz" } ], "0.1.9b0": [ { "comment_text": "", "digests": { "md5": "7a94d3ce17d7bf9b491546ef7e5adff4", "sha256": "f3913fb07010931bfc7f9101b7e0dd69bb4d583627a4048644963db7afdb61f1" }, "downloads": -1, "filename": "pyphs-0.1.9b0.tar.gz", "has_sig": false, "md5_digest": "7a94d3ce17d7bf9b491546ef7e5adff4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7428, "upload_time": "2016-11-13T21:01:18", "url": "https://files.pythonhosted.org/packages/08/6b/eb5a017c08ef7a9ab9436138027f8adf1190a6a2280da169fbb69ea3afef/pyphs-0.1.9b0.tar.gz" } ], "0.1.9b1": [ { "comment_text": "", "digests": { "md5": "7c224c9ae5abb05bc4a0b7b6a70316c7", "sha256": "b455ddbd253f3cd609300c161f0c8ceed19630549fb0aba9e76984ea72122fcf" }, "downloads": -1, "filename": "pyphs-0.1.9b1.tar.gz", "has_sig": false, "md5_digest": "7c224c9ae5abb05bc4a0b7b6a70316c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7415, "upload_time": "2016-11-13T21:21:47", "url": "https://files.pythonhosted.org/packages/0c/b0/14664d612c20111853a83869ea852984e08a3a9965f2e1a15f9831de01de/pyphs-0.1.9b1.tar.gz" } ], "0.1.9b2": [ { "comment_text": "", "digests": { "md5": "1f14d7a921a404100aabc3e67c53f322", "sha256": "36992db0c68d3f17f5723d8c17f508779061c3699618d378fbc6f6896b328220" }, "downloads": -1, "filename": "pyphs-0.1.9b2.tar.gz", "has_sig": false, "md5_digest": "1f14d7a921a404100aabc3e67c53f322", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7406, "upload_time": "2016-11-13T21:39:16", "url": "https://files.pythonhosted.org/packages/2e/51/50b20b75972ffffa863a8fbedbdd8fdcae21a7688f736d2454ce72176306/pyphs-0.1.9b2.tar.gz" } ], "0.1.9b3": [ { "comment_text": "", "digests": { "md5": "e8827caa0df70df096dcb163ce45ef6c", "sha256": "50f124491f4c3e72a0a19681f30dca38797d9d579347ca5a4d2dda495bf640d3" }, "downloads": -1, "filename": "pyphs-0.1.9b3.tar.gz", "has_sig": false, "md5_digest": "e8827caa0df70df096dcb163ce45ef6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7372, "upload_time": "2016-11-14T00:11:27", "url": "https://files.pythonhosted.org/packages/92/49/d59660d215b3ab2395ba79cf0eb40dd188f1145017d56484ad80c82cc3a6/pyphs-0.1.9b3.tar.gz" } ], "0.1.9rc3.dev0": [ { "comment_text": "", "digests": { "md5": "2f104b99f9691b6e261cec1895a7c33b", "sha256": "9024d67b89af482aa492e5f5c578a57d0f99a667b501e3cc799c8d75abadbcb1" }, "downloads": -1, "filename": "pyphs-0.1.9rc3.dev0.tar.gz", "has_sig": false, "md5_digest": "2f104b99f9691b6e261cec1895a7c33b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68299, "upload_time": "2016-11-25T15:54:31", "url": "https://files.pythonhosted.org/packages/d0/54/5f325ea007f189eaed75a2c8b771dbfc1b771f623d80126b8aec7d6bbf13/pyphs-0.1.9rc3.dev0.tar.gz" } ], "0.2.0.1": [ { "comment_text": "", "digests": { "md5": "9da6b8019e8ed09080751386c4e6174a", "sha256": "9f1559867109138bc3942745cad0c79f972d8bb7b3eebaa792305a6c6538b716" }, "downloads": -1, "filename": "pyphs-0.2.0.1.tar.gz", "has_sig": false, "md5_digest": "9da6b8019e8ed09080751386c4e6174a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 149337, "upload_time": "2017-11-30T01:56:47", "url": "https://files.pythonhosted.org/packages/ec/42/c1af271c6031c32958d2780d0c03f595e04fd4c0ffd6f49ccd0f2e21907c/pyphs-0.2.0.1.tar.gz" } ], "0.2a0": [ { "comment_text": "", "digests": { "md5": "a20d3e9f1ce8cd7f9f563cb7d440d8da", "sha256": "3fb47779bdab703a5004afaa26e3c701a287f120a40bcafb4b3a19b50279f281" }, "downloads": -1, "filename": "pyphs-0.2a0.tar.gz", "has_sig": false, "md5_digest": "a20d3e9f1ce8cd7f9f563cb7d440d8da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 149337, "upload_time": "2017-11-30T01:54:49", "url": "https://files.pythonhosted.org/packages/51/7d/f2e100fa6a0195dd56af5e43f32a1a61da8025f365cd5982cd0f73ba9be6/pyphs-0.2a0.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "9384c66b1a9b56e166429b582fae4efb", "sha256": "bdd8689a328e2ef19cc937de35be2bc6346233c030a9c35220f6167b5fe32d1d" }, "downloads": -1, "filename": "pyphs-0.3.tar.gz", "has_sig": false, "md5_digest": "9384c66b1a9b56e166429b582fae4efb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 162571, "upload_time": "2018-04-02T13:01:03", "url": "https://files.pythonhosted.org/packages/ec/d1/3ebc69c8ff15247df207177169c95b58304af22ad79d290a7fd4f48a4d5c/pyphs-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "0983f4238f5dc6b93b2b39c6f7fd6db3", "sha256": "93239a85d1c9a42d2a14d2352b8b0235270d61d7ffb16b2d3b0869fbbc178752" }, "downloads": -1, "filename": "pyphs-0.4.tar.gz", "has_sig": false, "md5_digest": "0983f4238f5dc6b93b2b39c6f7fd6db3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 182817, "upload_time": "2019-07-03T00:16:23", "url": "https://files.pythonhosted.org/packages/e3/d0/619ab5d4490f9cce8a5c0a64a60be844aa8646ba32c409b33ab2b404b4f5/pyphs-0.4.tar.gz" } ], "0.4rc1": [ { "comment_text": "", "digests": { "md5": "3f80d241141ca47da8938bbf1ff86b80", "sha256": "a68aa7de465fb6223cb29bb262f04c3ffe5dafb6f3365dd6340ca1b68118ee15" }, "downloads": -1, "filename": "pyphs-0.4rc1.tar.gz", "has_sig": false, "md5_digest": "3f80d241141ca47da8938bbf1ff86b80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 182459, "upload_time": "2018-09-20T14:28:10", "url": "https://files.pythonhosted.org/packages/0c/fb/423bbbad40d90a218b824019667186edf4a3bca696ae330eb7fa3b802e35/pyphs-0.4rc1.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "2a6fb4045d5165943f9648bccefac14e", "sha256": "155d2b53bdaa32ca4a62ba4cd92fad15618a258bb8af4cf039ba302a5ec96aff" }, "downloads": -1, "filename": "pyphs-0.5.tar.gz", "has_sig": false, "md5_digest": "2a6fb4045d5165943f9648bccefac14e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 193767, "upload_time": "2019-09-14T19:58:54", "url": "https://files.pythonhosted.org/packages/cc/6f/1e9573ed029b077e2791829b506a3027083b53669259fae01b029e5d87da/pyphs-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "41dce78962c295f8b003957ff1dd4d64", "sha256": "4400020af34a0489b0d39f7b24876108715da6dd04f858f269a9aa3f532ce634" }, "downloads": -1, "filename": "pyphs-0.5.1.tar.gz", "has_sig": false, "md5_digest": "41dce78962c295f8b003957ff1dd4d64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 192949, "upload_time": "2019-09-14T21:45:02", "url": "https://files.pythonhosted.org/packages/23/1b/4e7d2af441a6a341808c39e02fada7df244bbd96425a8c4609dedd6a5201/pyphs-0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "41dce78962c295f8b003957ff1dd4d64", "sha256": "4400020af34a0489b0d39f7b24876108715da6dd04f858f269a9aa3f532ce634" }, "downloads": -1, "filename": "pyphs-0.5.1.tar.gz", "has_sig": false, "md5_digest": "41dce78962c295f8b003957ff1dd4d64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 192949, "upload_time": "2019-09-14T21:45:02", "url": "https://files.pythonhosted.org/packages/23/1b/4e7d2af441a6a341808c39e02fada7df244bbd96425a8c4609dedd6a5201/pyphs-0.5.1.tar.gz" } ] }