{ "info": { "author": "Robert Meyer", "author_email": "robert.meyer@ni.tu-berlin.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering", "Topic :: Utilities" ], "description": "# pypet\n\n[![Travis Build Status](https://travis-ci.org/SmokinCaterpillar/pypet.svg?branch=master)](https://travis-ci.org/SmokinCaterpillar/pypet)\n[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/9amhj3iyf105xa2y/branch/master?svg=true)](https://ci.appveyor.com/project/SmokinCaterpillar/pypet/branch/master)\n[![Coverage Status](https://coveralls.io/repos/github/SmokinCaterpillar/pypet/badge.svg?branch=master)](https://coveralls.io/github/SmokinCaterpillar/pypet?branch=master)\n[![Codacy Badge](https://api.codacy.com/project/badge/grade/86268960751442799fcf6192b36e386f)](https://www.codacy.com/app/robert-meyer/pypet)\n[![PyPI version](https://badge.fury.io/py/pypet.svg)](https://badge.fury.io/py/pypet)\n[![Documentation Status](https://readthedocs.org/projects/pypet/badge/?version=latest)](http://pypet.readthedocs.io/en/latest/?badge=latest)\n\nThe new python parameter exploration toolkit:\n*pypet* manages exploration of the parameter space\nof any numerical simulation in python,\nthereby storing your data into HDF5 files for you.\nMoreover, *pypet* offers a new data container which\nlets you access all your parameters and results\nfrom a single source. Data I/O of your simulations and\nanalyses becomes a piece of cake!\n\n\n## Requirements\n\nPython 3.5 or 3.6 and\n\n* tables >= 3.1.1\n\n* pandas >= 0.20.0\n\n* numpy >= 1.12.0\n\n* scipy >= 0.17.0\n\n* HDF5 >= 1.8.9\n\n\nThere are also some optional packages that you can but do not have to install.\n\nIf you want to combine *pypet* with SCOOP you need\n\n* scoop >= 0.7.1\n\nFor git integration you additionally need\n\n* GitPython >= 0.3.1\n\nTo utilize the cap feature for multiprocessing you need\n\n* psutil >= 2.0.0\n\nTo utilize the continuing of crashed trajectories you need\n\n* dill >= 0.2.1\n\nAutomatic Sumatra records are supported for\n\n* Sumatra >= 0.7.1\n\n\n## Python 2.7\n\nThis release no longer supports Python 2.7.\nIf you are still using Python 2.7, you need to\nuse the pypet legacy version 0.3.0 (https://pypi.python.org/pypi/pypet/0.3.0).\n\n\n# What is pypet all about?\n\nWhenever you do numerical simulations in science, you come across two major challenges.\nFirst, you need some way to save your data. Secondly, you extensively explore the parameter space.\nIn order to accomplish both you write some hacky I/O functionality to get it done the quick and\ndirty way. This means storing stuff into text files, as *MATLAB* *m*-files, \nor whatever comes in handy.\n\nAfter a while and many simulations later, you want to look back at some of your very\nfirst results. But because of unforeseen circumstances, you changed a lot of your code.\nAs a consequence, you can no longer use your old data, but you need to write a hacky\nconverter to format your previous results to your new needs.\nThe more complexity you add to your simulations, the worse it gets, and you spend way\ntoo much time formatting your data than doing science.\n\nIndeed, this was a situation I was confronted with pretty soon at the beginning of my PhD.\nSo this project was born. I wanted to tackle the I/O problems more generally and produce code\nthat was not specific to my current simulations, but I could also use for future scientific\nprojects right out of the box.\n\nThe python parameter exploration toolkit (*pypet*) provides a framework to define *parameters*\nthat you need to run your simulations. You can actively explore these by following a\n*trajectory* through the space spanned by the parameters.\nAnd finally, you can get your *results* together and store everything appropriately to disk.\nThe storage format of choice is HDF5 (http://www.hdfgroup.org/HDF5/) via PyTables\n(http://www.pytables.org/).\n\n\n## Package Organization\n\nThis project encompasses these core modules:\n\n* The `pypet.environment` module for handling the running of simulations\n\n* The `pypet.trajectory` module for managing the parameters and results,\n and providing a way to *explore* your parameter space. Somewhat related is also the\n `pypet.naturalnaming` module, that provides functionality to access and put data into\n the *trajectory*.\n\n* The `pypet.parameters` module including containers for parameters and results\n\n* The `pypet.storageservice` for saving your data to disk\n\n\n## Install\n\nIf you don't have all prerequisites (*numpy*, *scipy*, *tables*, *pandas*) install them first.\nThese are standard python packages, so chances are high that they are already installed.\nBy the way, in case you use the python package manager ``pip``\nyou can list all installed packages with ``pip freeze``.\n\nNext, simply install *pypet* via ``pip install pypet``\n\n**Or**\n\nThe package release can also be found on https://pypi.python.org/pypi/pypet. Download, unpack\nand ``python setup.py install`` it.\n\n**Or**\n\nIn case you use **Windows**, you have to download the tar file from https://pypi.python.org/pypi/pypet \nand unzip it. Next, open a windows terminal\nand navigate to your unpacked *pypet* files to the folder containing the `setup.py` file.\nAs above run from the terminal ``python setup.py install``.\n\n\n## Documentation and Support\n\nDocumentation can be found on http://pypet.readthedocs.org/.\n\nThere is a Google Groups mailing list for support: https://groups.google.com/forum/?hl=de#!forum/pypet\n\nIf you have any further questions feel free to contact me at **robert.meyer (at) ni.tu-berlin.de**.\n\n\n## Main Features\n\n* **Novel tree container** `Trajectory`, for handling and managing of\n parameters and results of numerical simulations\n\n* **Group** your parameters and results into meaningful categories\n\n* Access data via **natural naming**, e.g. `traj.parameters.traffic.ncars`\n\n* Automatic **storage** of simulation data into HDF5 files via PyTables\n\n* Support for many different **data formats**\n\n * python native data types: bool, int, long, float, str, complex\n\n * list, tuple, dict\n\n * Numpy arrays and matrices\n\n * Scipy sparse matrices\n\n * pandas DataFrames (http://pandas.pydata.org/)\n\n * BRIAN2 quantities and monitors (http://briansimulator.org/)\n\n* Easily **extendable** to other data formats!\n\n* **Exploration** of the parameter space of your simulations\n\n* **Merging** of *trajectories* residing in the same space\n\n* Support for **multiprocessing**, *pypet* can run your simulations in parallel\n\n* **Analyse** your data on-the-fly during multiprocessing\n\n* **Adaptively** explore tha parameter space combining *pypet* with optimization\n tools like the evolutionary algorithms framework DEAP (http://deap.readthedocs.org/en/)\n\n* **Dynamic Loading**, load only the parts of your data you currently need\n\n* **Resume** a crashed or halted simulation\n\n* **Annotate** your parameters, results and groups\n\n* **Git Integration**, let *pypet* make automatic commits of your codebase\n\n* **Sumatra Integration**, let *pypet* add your simulations to the *electronic lab notebook* tool\n Sumatra (http://neuralensemble.org/sumatra/)\n\n* *pypet* can be used on **computing clusters** or multiple servers at once if it is combined with\n SCOOP (http://scoop.readthedocs.org/)\n\n\n# Quick Working Example\n\nThe best way to show how stuff works is by giving examples. I will start right away with a\nvery simple code snippet.\n\nWell, what we have in mind is some sort of numerical simulation. For now we will keep it simple,\nlet's say we need to simulate the multiplication of 2 values, i.e. `z=x*y`.\nWe have two objectives, a) we want to store results of this simulation `z` and\nb) we want to explore the parameter space and try different values of `x` and `y`.\n\nLet's take a look at the snippet at once:\n\n```python\nfrom pypet import Environment, cartesian_product\n\ndef multiply(traj):\n \"\"\"Example of a sophisticated simulation that involves multiplying two values.\n\n :param traj:\n\n Trajectory containing the parameters in a particular combination,\n it also serves as a container for results.\n\n \"\"\"\n z=traj.x * traj.y\n traj.f_add_result('z',z, comment='I am the product of two values!')\n\n# Create an environment that handles running our simulation\nenv = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5',\n file_title='Example_01',\n comment = 'I am the first example!')\n\n# Get the trajectory from the environment\ntraj = env.trajectory\n\n# Add both parameters\ntraj.f_add_parameter('x', 1.0, comment='Im the first dimension!')\ntraj.f_add_parameter('y', 1.0, comment='Im the second dimension!')\n\n# Explore the parameters with a cartesian product\ntraj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]}))\n\n# Run the simulation with all parameter combinations\nenv.run(multiply)\n```\n\nAnd now let's go through it one by one. At first we have a job to do, that is multiplying two\nvalues:\n\n```python\ndef multiply(traj):\n \"\"\"Example of a sophisticated simulation that involves multiplying two values.\n\n :param traj:\n\n Trajectory containing the parameters in a particular combination,\n it also serves as a container for results.\n\n \"\"\"\n z=traj.x * traj.y\n traj.f_add_result('z',z, comment='I am the product of two values!')\n```\n\nThis is our simulation function `multiply`. The function uses a so called *trajectory*\ncontainer which manages our parameters. We can access the parameters simply by natural naming,\nas seen above via `traj.x` and `traj.y`. The value of `z` is simply added as a result\nto the `traj` object.\n\nAfter the definition of the job that we want to simulate, we create an environment which\nwill run the simulation.\n\n```python\n# Create an environment that handles running our simulation\nenv = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5',\n file_title='Example_01',\n comment = 'I am the first example!')\n```\n\nThe environment uses some parameters here, that is the name of the new trajectory, a filename to\nstore the trajectory into, the title of the file, and a comment that is added to the trajectory. \nThere are more options available like the number of processors for multiprocessing or \nhow verbose the final HDF5 file is supposed to be.\nCheck out the documentation (http://pypet.readthedocs.org/) if you want to know more.\nThe environment will automatically generate a trajectory for us which we can access via:\n\n```python\n# Get the trajectory from the environment\ntraj = env.trajectory\n```\n\nNow we need to populate our trajectory with our parameters. They are added with the default values\nof `x=y=1.0`.\n\n```python\n# Add both parameters\ntraj.f_add_parameter('x', 1.0, comment='Im the first dimension!')\ntraj.f_add_parameter('y', 1.0, comment='Im the second dimension!')\n```\n\nWell, calculating `1.0 * 1.0` is quite boring, we want to figure out more products, that is\nthe results of the cartesian product set `{1.0,2.0,3.0,4.0} x {6.0,7.0,8.0}`.\nTherefore, we use `f_explore` in combination with the builder function\n`cartesian_product`.\n\n```python\n# Explore the parameters with a cartesian product\ntraj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]}))\n```\n\nFinally, we need to tell the environment to run our job `multiply` with all parameter\ncombinations.\n\n```python\n# Run the simulation with all parameter combinations\nenv.run(multiply)\n```\n\nAnd that's it. The environment will evoke the function `multiply` now 12 times with\nall parameter combinations. Every time it will pass a `traj` container with another one of these\n12 combinations of different `x` and `y` values to calculate the value of `z`.\nMoreover, the environment and the storage service will have taken care about the storage\nof our trajectory - including the results we have computed - into an HDF5 file.\n\nSo have fun using this tool!\n\nCheers,\n Robert\n\n\n# Miscellaneous\n\n## Acknowledgements\n\n* Thanks to Robert Pr\u00f6pper and Philipp Meier for answering all my Python questions\n\n You might want to check out their SpykeViewer (https://github.com/rproepp/spykeviewer)\n tool for visualization of MEA recordings and NEO (http://pythonhosted.org/neo) data\n\n* Thanks to Owen Mackwood for his SNEP toolbox which provided the initial ideas\n for this project\n\n* Thanks to Mehmet Nevvaf Timur for his work on the SCOOP integration and the ``'NETQUEUE'`` feature\n\n* Thanks to Henri Bunting for his work on the BRIAN2 subpackage\n\n* Thanks to the BCCN Berlin (http://www.bccn-berlin.de),\n the Research Training Group GRK 1589/1, and the\n Neural Information Processing Group ( http://www.ni.tu-berlin.de) for support\n\n\n## Tests\n\nTests can be found in `pypet/tests`.\nNote that they involve heavy file I/O and you need privileges\nto write files to a temporary folder.\nThe tests suite will make use of the `tempfile.gettempdir()` function to\ncreate such a temporary folder.\n\nEach test module can be run individually, for instance `$ python trajectory_test.py`.\n\nYou can run **all** tests with `$ python all_tests.py` which can also be found under\n`pypet/tests`.\nYou can pass additional arguments as `$ python all_tests.py -k --folder=myfolder/`\nwith `-k` to keep the HDF5 and log files created by the tests \n(if you want to inspect them, otherwise they will be deleted after the completed tests),\nand `--folder=` to specify a folder where to store the HDF5 files instead of the temporary one.\nIf the folder cannot be created, the program defaults to `tempfile.gettempdir()`.\n\nRunning all tests can take up to 20 minutes. The test suite encompasses more than **1000** tests\nand has a code coverage of about **90%**!\n\nMoreover, *pypet* is constantly tested with Python 3.5 and 3.6 for **Linux** using\nTravis-CI. Testing for **Windows** platforms is performed via Appveyor.\nThe source code is available at https://github.com/SmokinCaterpillar/pypet/.\n\n\n## License\n\nBSD, please read LICENSE file.\n\n\n## Legal Notice\n\n*pypet* was created by Robert Meyer at the Neural Information Processing Group (TU Berlin),\nsupported by the Research Training Group GRK 1589/1.\n\n\n## Contact\n\n**robert.meyer (at) ni.tu-berlin.de**\n\nMarchstr. 23\n\nMAR 5.046\n\nD-10587 Berlin\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SmokinCaterpillar/pypet", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "pypet", "package_url": "https://pypi.org/project/pypet/", "platform": "", "project_url": "https://pypi.org/project/pypet/", "project_urls": { "Homepage": "https://github.com/SmokinCaterpillar/pypet" }, "release_url": "https://pypi.org/project/pypet/0.4.3/", "requires_dist": [ "tables", "pandas", "numpy", "scipy" ], "requires_python": "", "summary": "A toolkit for numerical simulations to allow easy parameter exploration and storage of results.", "version": "0.4.3" }, "last_serial": 3997381, "releases": { "0.1a.2": [ { "comment_text": "", "digests": { "md5": "eabc0d6030c8cdc5278fada2458275d6", "sha256": "593bc0461254eb8eb816a011f28f0bba8405a6108db13c63cd7a3787f3cd0768" }, "downloads": -1, "filename": "pypet-0.1a.2.tar.gz", "has_sig": false, "md5_digest": "eabc0d6030c8cdc5278fada2458275d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90445, "upload_time": "2013-09-25T10:07:11", "url": "https://files.pythonhosted.org/packages/e0/18/8998a782f994778d551fe20000fd3c6e8a0cda001a3af011d616a05a4672/pypet-0.1a.2.tar.gz" } ], "0.1a.3": [ { "comment_text": "", "digests": { "md5": "8c596163e0e11941329df06ba0f30ff4", "sha256": "9a4cdb0258b5b4323a18785aaf4c6d93faffc082077ee2e55bc4d9a0badbdac3" }, "downloads": -1, "filename": "pypet-0.1a.3.tar.gz", "has_sig": false, "md5_digest": "8c596163e0e11941329df06ba0f30ff4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90549, "upload_time": "2013-09-25T14:24:31", "url": "https://files.pythonhosted.org/packages/b8/2f/6819358870b5fc7b3b4cb73762ce79ec3db29b613d7c49d42690eb4f0fcf/pypet-0.1a.3.tar.gz" } ], "0.1a.4": [ { "comment_text": "", "digests": { "md5": "06bc9a55e4d6c2efdeabd5e7f6f1dbbb", "sha256": "3fb11ff98f230ab54da0867c58dc878e5f50b7a31a006275abe10067eb3d74a7" }, "downloads": -1, "filename": "pypet-0.1a.4.tar.gz", "has_sig": false, "md5_digest": "06bc9a55e4d6c2efdeabd5e7f6f1dbbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91148, "upload_time": "2013-09-25T16:02:31", "url": "https://files.pythonhosted.org/packages/ff/d5/e0cfc045aecf23fa71903277d03cd48094b7bd035df10d553952d8017465/pypet-0.1a.4.tar.gz" } ], "0.1a.5": [ { "comment_text": "", "digests": { "md5": "1209b9773fe37cf0ccb8b27749608e54", "sha256": "d0257907cdde18210e37e4d65269680f7c95593cfcc9d8a24e3a92405b4ede31" }, "downloads": -1, "filename": "pypet-0.1a.5.tar.gz", "has_sig": false, "md5_digest": "1209b9773fe37cf0ccb8b27749608e54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91031, "upload_time": "2013-09-26T09:47:46", "url": "https://files.pythonhosted.org/packages/4e/b3/b5d711087bdc4a67514323cc4d41a90553937d8a817afcc78cb6d3991dd7/pypet-0.1a.5.tar.gz" } ], "0.1a.6": [ { "comment_text": "", "digests": { "md5": "6d78d1c8bded16f208c9b045962925dc", "sha256": "82087d2e1c3df9d2a618001168bc169597cc61eb09600bcd53bfdc6b8bc02d54" }, "downloads": -1, "filename": "pypet-0.1a.6.tar.gz", "has_sig": false, "md5_digest": "6d78d1c8bded16f208c9b045962925dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91048, "upload_time": "2013-09-26T10:36:22", "url": "https://files.pythonhosted.org/packages/b1/5c/79cc9bdfbdc22bad6447b015f4448f93b33b544dbc510ab0ac78d899131a/pypet-0.1a.6.tar.gz" } ], "0.1b.0": [ { "comment_text": "", "digests": { "md5": "5e3ccbf66a3ada38f57ac6c6f1df2370", "sha256": "7b1119a351c8bd18a6c87284ad4146455c62e8262c424c79d9f43f22d175d981" }, "downloads": -1, "filename": "pypet-0.1b.0.tar.gz", "has_sig": false, "md5_digest": "5e3ccbf66a3ada38f57ac6c6f1df2370", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104244, "upload_time": "2013-10-15T16:55:33", "url": "https://files.pythonhosted.org/packages/16/0a/7baa6f53f51edaa6b867c1a535b4404626676cdbc33c5b3e5d20eb416562/pypet-0.1b.0.tar.gz" } ], "0.1b.1": [ { "comment_text": "", "digests": { "md5": "a7d22db53ba4c88791998dd919d5e834", "sha256": "0b386216e864bda592bc8094bdfc9f7744c5794123ee0b2b6ff63161466ee107" }, "downloads": -1, "filename": "pypet-0.1b.1.tar.gz", "has_sig": false, "md5_digest": "a7d22db53ba4c88791998dd919d5e834", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107069, "upload_time": "2013-10-22T10:31:44", "url": "https://files.pythonhosted.org/packages/ab/2b/b4fa127aa55f1373549b4700a262b693538a223c60b74937821786cdfcc3/pypet-0.1b.1.tar.gz" } ], "0.1b.10": [ { "comment_text": "", "digests": { "md5": "6f9c7d25a22e2a20bcf973008c8f9c24", "sha256": "10c591e773d8545b56a073f0dc2e02967a0f1991c244800a1d596c10dcc69be2" }, "downloads": -1, "filename": "pypet-0.1b.10.tar.gz", "has_sig": false, "md5_digest": "6f9c7d25a22e2a20bcf973008c8f9c24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 286937, "upload_time": "2015-04-16T18:44:22", "url": "https://files.pythonhosted.org/packages/c1/3c/e550803a784b211ff87466d53f47e935c9d65c047f650080856569b232b2/pypet-0.1b.10.tar.gz" } ], "0.1b.11": [ { "comment_text": "", "digests": { "md5": "dda749ad28e83b1836c9d9f5ef0721e2", "sha256": "3708b991423fd71b5acfb397c9b63c428865d5c174e768e0889b9d3ce6d0b761" }, "downloads": -1, "filename": "pypet-0.1b.11.tar.gz", "has_sig": false, "md5_digest": "dda749ad28e83b1836c9d9f5ef0721e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 288191, "upload_time": "2015-05-25T10:38:40", "url": "https://files.pythonhosted.org/packages/48/46/9499ae74c218e4b47129896bc6950ce736d6fea9ba64dbbbb20ffb41e896/pypet-0.1b.11.tar.gz" } ], "0.1b.12": [], "0.1b.2": [ { "comment_text": "", "digests": { "md5": "3fb60e2f3d39aabaaac48f835d5c17dc", "sha256": "0b517d3c83fd120f780b0d2495cb7c25941f5c06385c1b3ef553219b451597cf" }, "downloads": -1, "filename": "pypet-0.1b.2.tar.gz", "has_sig": false, "md5_digest": "3fb60e2f3d39aabaaac48f835d5c17dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 144713, "upload_time": "2013-11-19T13:43:16", "url": "https://files.pythonhosted.org/packages/a2/13/f9514e7b9b72d2494bb489e87c63a96bde911bdba73cacabd8a81f91b466/pypet-0.1b.2.tar.gz" } ], "0.1b.3": [ { "comment_text": "", "digests": { "md5": "2381a4e63f5b8c86f5dda81c7a312803", "sha256": "303fdb6d1a3d4476d438835332ab6350fc49b550fce23c895d57e400722b9a99" }, "downloads": -1, "filename": "pypet-0.1b.3.tar.gz", "has_sig": false, "md5_digest": "2381a4e63f5b8c86f5dda81c7a312803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157886, "upload_time": "2014-01-04T08:09:02", "url": "https://files.pythonhosted.org/packages/14/75/dc15d6d966525e197088b7ed95cca7be88a5775871b1d512ac8be673cfb6/pypet-0.1b.3.tar.gz" } ], "0.1b.4": [ { "comment_text": "", "digests": { "md5": "1e3cc32a5e72648b164e410af0724ad6", "sha256": "a2bf7476cd56efa9957b1790e5bd63c2b81d2fe79e99b5d9bc09321561238622" }, "downloads": -1, "filename": "pypet-0.1b.4.tar.gz", "has_sig": false, "md5_digest": "1e3cc32a5e72648b164e410af0724ad6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178071, "upload_time": "2014-03-24T22:54:37", "url": "https://files.pythonhosted.org/packages/6d/c0/b6175bcdc99e960ee0a81e68c639741ceec37e24de96893cbdbd902dd7a3/pypet-0.1b.4.tar.gz" } ], "0.1b.5": [ { "comment_text": "", "digests": { "md5": "fef0ffcb0a2b287f284004b0beb2aba2", "sha256": "ada3a53fd07e22162ca7907cd2b705aa794309633ab24469255383b334a34dab" }, "downloads": -1, "filename": "pypet-0.1b.5.tar.gz", "has_sig": false, "md5_digest": "fef0ffcb0a2b287f284004b0beb2aba2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 193402, "upload_time": "2014-04-16T08:17:56", "url": "https://files.pythonhosted.org/packages/e4/b0/235b8eb3cb47bc3c6c34a4173d494c90b687d72e3beb10b60558c50b869f/pypet-0.1b.5.tar.gz" } ], "0.1b.6": [ { "comment_text": "", "digests": { "md5": "d433d4d344b8ed4436722c6f37109a6e", "sha256": "b716bbb8dbc1f756639b8a5db3ec2436e7e9b3879c6b9d80579534634d46a4fd" }, "downloads": -1, "filename": "pypet-0.1b.6.tar.gz", "has_sig": false, "md5_digest": "d433d4d344b8ed4436722c6f37109a6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197312, "upload_time": "2014-06-03T19:13:10", "url": "https://files.pythonhosted.org/packages/43/bf/9e24a60b625a219d4e8326a107cbdcf2ac732e67f818e895f520e23aab2d/pypet-0.1b.6.tar.gz" } ], "0.1b.7": [ { "comment_text": "", "digests": { "md5": "e04274a157fefaddd40d977489606071", "sha256": "ee251acf41b90a77813897ba470ac466059ce3d826c1e6e1e8b8c27ac3c9c878" }, "downloads": -1, "filename": "pypet-0.1b.7.tar.gz", "has_sig": false, "md5_digest": "e04274a157fefaddd40d977489606071", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197397, "upload_time": "2014-07-17T16:02:23", "url": "https://files.pythonhosted.org/packages/8d/b3/e408897e4b9032971e21d1281d77a31185a79118e5bd125caffd5f1bce3a/pypet-0.1b.7.tar.gz" } ], "0.1b.8": [ { "comment_text": "", "digests": { "md5": "9a60f04cc4a84abe157ec520bc6d29e6", "sha256": "00054f4c8ed732e679d47e50bc06e17c4d19a1f597a1a4f12bf945f33332e5d9" }, "downloads": -1, "filename": "pypet-0.1b.8.tar.gz", "has_sig": false, "md5_digest": "9a60f04cc4a84abe157ec520bc6d29e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 200797, "upload_time": "2014-08-11T12:11:22", "url": "https://files.pythonhosted.org/packages/ef/d9/73be4ab5d4cff9d8dcf641cc6056ffac2a91bf0c3d6ac390976ae130fb33/pypet-0.1b.8.tar.gz" } ], "0.1b.9": [ { "comment_text": "", "digests": { "md5": "f4b8faa20521034e01e6afc11ea0dce5", "sha256": "5ed6044336f671a80885e74b5c8fde5f43c71ec3eebcd71167a0c4e6f70b147f" }, "downloads": -1, "filename": "pypet-0.1b.9.tar.gz", "has_sig": false, "md5_digest": "f4b8faa20521034e01e6afc11ea0dce5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 271149, "upload_time": "2015-02-10T11:36:08", "url": "https://files.pythonhosted.org/packages/d5/88/becf776b418e0f09f3e8c526bc25f5e19c313468e96932082229d952bf06/pypet-0.1b.9.tar.gz" } ], "0.1b12.post1": [ { "comment_text": "", "digests": { "md5": "5cd2d84ee43639d7ef87b212ee15bd44", "sha256": "47a0fb9310728f53f7d50b5ba2b5be592ce362d703e8e52d9d6607bec7681f6d" }, "downloads": -1, "filename": "pypet-0.1b12.post1.tar.gz", "has_sig": false, "md5_digest": "5cd2d84ee43639d7ef87b212ee15bd44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 292417, "upload_time": "2016-03-11T15:05:22", "url": "https://files.pythonhosted.org/packages/77/dd/dfd3b90897f4ac33dee25fc11d1ac6c6ed282278f056c477fd758e4ea2f2/pypet-0.1b12.post1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "eb2f15da2f5bd2169815ac4dfe0ebec8", "sha256": "8fa8bee137e347bbe63cd22a97b3ea95918b682006455c9049451f384c44603d" }, "downloads": -1, "filename": "pypet-0.2.0.tar.gz", "has_sig": false, "md5_digest": "eb2f15da2f5bd2169815ac4dfe0ebec8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 326207, "upload_time": "2016-04-08T13:42:40", "url": "https://files.pythonhosted.org/packages/34/ec/2978a55d5c7df670b0965cfd60f6becccf8042c71886d596555ba5aed313/pypet-0.2.0.tar.gz" } ], "0.2b0": [], "0.2b1": [ { "comment_text": "", "digests": { "md5": "6a92c3a153955e8b6ad504a980f9e63e", "sha256": "8ffab96d2a7241700964023f83ddceedba11ce40e0b6ddf9851359c660d4e05a" }, "downloads": -1, "filename": "pypet-0.2b1.tar.gz", "has_sig": false, "md5_digest": "6a92c3a153955e8b6ad504a980f9e63e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 326839, "upload_time": "2016-03-11T14:43:41", "url": "https://files.pythonhosted.org/packages/e0/b6/ea282f79068b87689f722a7f1ffb2b81014bb0a3774d089b079262820aee/pypet-0.2b1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "5efecb37e4b37cf14ff6c1f7dde5b2a5", "sha256": "2a3150f643f2c25f72f85ec122bff5e0445181a2a9cdaa5f2d2639ed2187a6b1" }, "downloads": -1, "filename": "pypet-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5efecb37e4b37cf14ff6c1f7dde5b2a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 343936, "upload_time": "2016-04-25T09:38:36", "url": "https://files.pythonhosted.org/packages/7a/35/cae972657b7b64efe590b8d18b2ee58719b2cca5a1a391348ac82f9f98cf/pypet-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e95c9dd2c6850721c02431bb99bd096e", "sha256": "a6db481cef7b8a953a704d78dc54f697f5e0738c46a32cc58455b34d8403dbe4" }, "downloads": -1, "filename": "pypet-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e95c9dd2c6850721c02431bb99bd096e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 315901, "upload_time": "2016-12-26T17:55:08", "url": "https://files.pythonhosted.org/packages/7b/4a/c5b0b41fb9aefb620cf7a6bbfecb6077b7ad50babe76035861c6ad5f1c9a/pypet-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "8f20501143404e267f276b07db6ae9b5", "sha256": "7136b8f4b63c181ed1bc56c688207270874d9ea3859d50177fca58ca67bc87cf" }, "downloads": -1, "filename": "pypet-0.4.1.tar.gz", "has_sig": false, "md5_digest": "8f20501143404e267f276b07db6ae9b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 319872, "upload_time": "2017-10-23T12:45:34", "url": "https://files.pythonhosted.org/packages/45/da/5666363efdc31aff00dace872643d82a015275af415f946f643f89d370d9/pypet-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "b154fc90beaef75ca522a50785783068", "sha256": "22130cabb9b6a500454a4467d2dc18e2fa8d74137b9de982c960b387707ef98d" }, "downloads": -1, "filename": "pypet-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b154fc90beaef75ca522a50785783068", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 357716, "upload_time": "2017-12-03T11:48:14", "url": "https://files.pythonhosted.org/packages/fa/aa/59de90c64e164c1d41b17e36fbf968977367befd88788033f1b21a3530bd/pypet-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05ab6c3f4d133e3979a64cfee325c416", "sha256": "27c6758ee7e8d5fcedbf2d5311df1e6e05261fbc39ececcafa1ac00e455f1155" }, "downloads": -1, "filename": "pypet-0.4.2.tar.gz", "has_sig": false, "md5_digest": "05ab6c3f4d133e3979a64cfee325c416", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 318805, "upload_time": "2017-12-03T11:48:17", "url": "https://files.pythonhosted.org/packages/bc/19/3ff9527ea6c2ac75abd4ed35273e6ff6250667dc9355e0ff5f84e8e9d5a7/pypet-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "0fbdc3f23135b9de96234fca74853652", "sha256": "ebfcd0015e9f4b7f4cdcb87ed7c52b374aa69995a2e1a66dde37a3b855840ad6" }, "downloads": -1, "filename": "pypet-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0fbdc3f23135b9de96234fca74853652", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 351327, "upload_time": "2018-06-24T18:52:11", "url": "https://files.pythonhosted.org/packages/2f/72/1eb4fa78959f069910d13ca7891a432458240a21744802c82c4848848798/pypet-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ba27178264c6faf83e2a8d5d3d78d4d", "sha256": "d0f2116d8fd8baaa135b4af119d9cc81e08043d0da489f6e3ba2e84163866172" }, "downloads": -1, "filename": "pypet-0.4.3.tar.gz", "has_sig": false, "md5_digest": "0ba27178264c6faf83e2a8d5d3d78d4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 318633, "upload_time": "2018-06-24T18:52:14", "url": "https://files.pythonhosted.org/packages/08/54/b2fdd860de3ab5dc3140f0524d48d2457a85002eb03afc287640476af637/pypet-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0fbdc3f23135b9de96234fca74853652", "sha256": "ebfcd0015e9f4b7f4cdcb87ed7c52b374aa69995a2e1a66dde37a3b855840ad6" }, "downloads": -1, "filename": "pypet-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0fbdc3f23135b9de96234fca74853652", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 351327, "upload_time": "2018-06-24T18:52:11", "url": "https://files.pythonhosted.org/packages/2f/72/1eb4fa78959f069910d13ca7891a432458240a21744802c82c4848848798/pypet-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ba27178264c6faf83e2a8d5d3d78d4d", "sha256": "d0f2116d8fd8baaa135b4af119d9cc81e08043d0da489f6e3ba2e84163866172" }, "downloads": -1, "filename": "pypet-0.4.3.tar.gz", "has_sig": false, "md5_digest": "0ba27178264c6faf83e2a8d5d3d78d4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 318633, "upload_time": "2018-06-24T18:52:14", "url": "https://files.pythonhosted.org/packages/08/54/b2fdd860de3ab5dc3140f0524d48d2457a85002eb03afc287640476af637/pypet-0.4.3.tar.gz" } ] }