Hello community, here is the log from the commit of package python-pypet for openSUSE:Factory checked in at 2018-08-03 12:40:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pypet (Old) and /work/SRC/openSUSE:Factory/.python-pypet.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pypet" Fri Aug 3 12:40:29 2018 rev:3 rq:627216 version:0.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pypet/python-pypet.changes 2018-05-29 10:31:41.261804045 +0200 +++ /work/SRC/openSUSE:Factory/.python-pypet.new/python-pypet.changes 2018-08-03 12:40:30.563855943 +0200 @@ -1,0 +2,7 @@ +Fri Aug 3 03:47:08 UTC 2018 - toddrme2...@gmail.com + +- Update to 0.4.3 + * DEPR: Removed pandas Panel and Panel4D (see also https://github.com/pandas-dev/pandas/pull/13776) + * Removed support for Python 3.3 and 3.4 + +------------------------------------------------------------------- Old: ---- pypet-0.4.2.tar.gz New: ---- pypet-0.4.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pypet.spec ++++++ --- /var/tmp/diff_new_pack.rXOBtN/_old 2018-08-03 12:40:30.915856468 +0200 +++ /var/tmp/diff_new_pack.rXOBtN/_new 2018-08-03 12:40:30.919856474 +0200 @@ -21,7 +21,7 @@ # Tests take forever %bcond_with test Name: python-pypet -Version: 0.4.2 +Version: 0.4.3 Release: 0 Summary: Parameter exploration and storage of results for numerical simulations License: BSD-3-Clause ++++++ pypet-0.4.2.tar.gz -> pypet-0.4.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/PKG-INFO new/pypet-0.4.3/PKG-INFO --- old/pypet-0.4.2/PKG-INFO 2017-12-03 12:47:06.000000000 +0100 +++ new/pypet-0.4.3/PKG-INFO 2018-06-24 20:51:52.000000000 +0200 @@ -1,15 +1,19 @@ Metadata-Version: 1.1 Name: pypet -Version: 0.4.2 +Version: 0.4.3 Summary: A toolkit for numerical simulations to allow easy parameter exploration and storage of results. Home-page: https://github.com/SmokinCaterpillar/pypet Author: Robert Meyer Author-email: robert.me...@ni.tu-berlin.de License: BSD -Description: ===== - pypet - ===== +Description: # pypet + [![Travis Build Status](https://travis-ci.org/SmokinCaterpillar/pypet.svg?branch=master)](https://travis-ci.org/SmokinCaterpillar/pypet) + [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/9amhj3iyf105xa2y/branch/master?svg=true)](https://ci.appveyor.com/project/SmokinCaterpillar/pypet/branch/master) + [![Coverage Status](https://coveralls.io/repos/github/SmokinCaterpillar/pypet/badge.svg?branch=master)](https://coveralls.io/github/SmokinCaterpillar/pypet?branch=master) + [![Codacy Badge](https://api.codacy.com/project/badge/grade/86268960751442799fcf6192b36e386f)](https://www.codacy.com/app/robert-meyer/pypet) + [![PyPI version](https://badge.fury.io/py/pypet.svg)](https://badge.fury.io/py/pypet) + [![Documentation Status](https://readthedocs.org/projects/pypet/badge/?version=latest)](http://pypet.readthedocs.io/en/latest/?badge=latest) The new python parameter exploration toolkit: *pypet* manages exploration of the parameter space @@ -21,19 +25,17 @@ analyses becomes a piece of cake! - ------------ - Requirements - ------------ + ## Requirements - Python 3.4, 3.5, or 3.6 and + Python 3.5 or 3.6 and * tables >= 3.1.1 - * pandas >= 0.15.0 + * pandas >= 0.20.0 - * numpy >= 1.6.1 + * numpy >= 1.12.0 - * scipy >= 0.9.0 + * scipy >= 0.17.0 * HDF5 >= 1.8.9 @@ -61,18 +63,14 @@ * Sumatra >= 0.7.1 - ---------- - Python 2.7 - ---------- + ## Python 2.7 This release no longer supports Python 2.7. If you are still using Python 2.7, you need to use the pypet legacy version 0.3.0 (https://pypi.python.org/pypi/pypet/0.3.0). - ======================== - What is pypet all about? - ======================== + # What is pypet all about? Whenever you do numerical simulations in science, you come across two major challenges. First, you need some way to save your data. Secondly, you extensively explore the parameter space. @@ -100,9 +98,7 @@ (http://www.pytables.org/). - -------------------- - Package Organization - -------------------- + ## Package Organization This project encompasses these core modules: @@ -118,9 +114,7 @@ * The `pypet.storageservice` for saving your data to disk - ------- - Install - ------- + ## Install If you don't have all prerequisites (*numpy*, *scipy*, *tables*, *pandas*) install them first. These are standard python packages, so chances are high that they are already installed. @@ -142,9 +136,7 @@ As above run from the terminal ``python setup.py install``. - ------------------------- - Documentation and Support - ------------------------- + ## Documentation and Support Documentation can be found on http://pypet.readthedocs.org/. @@ -153,9 +145,7 @@ If you have any further questions feel free to contact me at **robert.meyer (at) ni.tu-berlin.de**. - ------------- - Main Features - ------------- + ## Main Features * **Novel tree container** `Trajectory`, for handling and managing of parameters and results of numerical simulations @@ -208,9 +198,7 @@ SCOOP (http://scoop.readthedocs.org/) - ===================== - Quick Working Example - ===================== + # Quick Working Example The best way to show how stuff works is by giving examples. I will start right away with a very simple code snippet. @@ -222,57 +210,56 @@ Let's take a look at the snippet at once: - :: + ```python + from pypet import Environment, cartesian_product - from pypet import Environment, cartesian_product + def multiply(traj): + """Example of a sophisticated simulation that involves multiplying two values. - def multiply(traj): - """Example of a sophisticated simulation that involves multiplying two values. + :param traj: - :param traj: + Trajectory containing the parameters in a particular combination, + it also serves as a container for results. - Trajectory containing the parameters in a particular combination, - it also serves as a container for results. + """ + z=traj.x * traj.y + traj.f_add_result('z',z, comment='I am the product of two values!') - """ - z=traj.x * traj.y - traj.f_add_result('z',z, comment='I am the product of two values!') + # Create an environment that handles running our simulation + env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', + file_title='Example_01', + comment = 'I am the first example!') - # Create an environment that handles running our simulation - env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', - file_title='Example_01', - comment = 'I am the first example!') + # Get the trajectory from the environment + traj = env.trajectory - # Get the trajectory from the environment - traj = env.trajectory + # Add both parameters + traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') + traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') - # Add both parameters - traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') - traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') + # Explore the parameters with a cartesian product + traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) - # Explore the parameters with a cartesian product - traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) - - # Run the simulation with all parameter combinations - env.run(multiply) + # Run the simulation with all parameter combinations + env.run(multiply) + ``` And now let's go through it one by one. At first we have a job to do, that is multiplying two values: - :: - - def multiply(traj): - """Example of a sophisticated simulation that involves multiplying two values. - - :param traj: - - Trajectory containing the parameters in a particular combination, - it also serves as a container for results. - - """ - z=traj.x * traj.y - traj.f_add_result('z',z, comment='I am the product of two values!') - + ```python + def multiply(traj): + """Example of a sophisticated simulation that involves multiplying two values. + + :param traj: + + Trajectory containing the parameters in a particular combination, + it also serves as a container for results. + + """ + z=traj.x * traj.y + traj.f_add_result('z',z, comment='I am the product of two values!') + ``` This is our simulation function `multiply`. The function uses a so called *trajectory* container which manages our parameters. We can access the parameters simply by natural naming, @@ -282,13 +269,12 @@ After the definition of the job that we want to simulate, we create an environment which will run the simulation. - :: - - # Create an environment that handles running our simulation - env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', - file_title='Example_01', - comment = 'I am the first example!') - + ```python + # Create an environment that handles running our simulation + env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', + file_title='Example_01', + comment = 'I am the first example!') + ``` The environment uses some parameters here, that is the name of the new trajectory, a filename to store the trajectory into, the title of the file, and a comment that is added to the trajectory. @@ -297,37 +283,37 @@ Check out the documentation (http://pypet.readthedocs.org/) if you want to know more. The environment will automatically generate a trajectory for us which we can access via: - :: - - # Get the trajectory from the environment - traj = env.trajectory + ```python + # Get the trajectory from the environment + traj = env.trajectory + ``` Now we need to populate our trajectory with our parameters. They are added with the default values of `x=y=1.0`. - :: - - # Add both parameters - traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') - traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') + ```python + # Add both parameters + traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') + traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') + ``` Well, calculating `1.0 * 1.0` is quite boring, we want to figure out more products, that is the results of the cartesian product set `{1.0,2.0,3.0,4.0} x {6.0,7.0,8.0}`. Therefore, we use `f_explore` in combination with the builder function `cartesian_product`. - :: - - # Explore the parameters with a cartesian product - traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) + ```python + # Explore the parameters with a cartesian product + traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) + ``` Finally, we need to tell the environment to run our job `multiply` with all parameter combinations. - :: - - # Run the simulation with all parameter combinations - env.run(multiply) + ```python + # Run the simulation with all parameter combinations + env.run(multiply) + ``` And that's it. The environment will evoke the function `multiply` now 12 times with all parameter combinations. Every time it will pass a `traj` container with another one of these @@ -341,13 +327,9 @@ Robert - ============= - Miscellaneous - ============= - - ---------------- - Acknowledgements - ---------------- + # Miscellaneous + + ## Acknowledgements * Thanks to Robert Pröpper and Philipp Meier for answering all my Python questions @@ -366,9 +348,7 @@ Neural Information Processing Group ( http://www.ni.tu-berlin.de) for support - ----- - Tests - ----- + ## Tests Tests can be found in `pypet/tests`. Note that they involve heavy file I/O and you need privileges @@ -389,29 +369,23 @@ Running all tests can take up to 20 minutes. The test suite encompasses more than **1000** tests and has a code coverage of about **90%**! - Moreover, *pypet* is constantly tested with Python 3.4, 3.5, and 3.6 for **Linux** using + Moreover, *pypet* is constantly tested with Python 3.5 and 3.6 for **Linux** using Travis-CI. Testing for **Windows** platforms is performed via Appveyor. The source code is available at https://github.com/SmokinCaterpillar/pypet/. - ------- - License - ------- + ## License BSD, please read LICENSE file. - ------------ - Legal Notice - ------------ + ## Legal Notice *pypet* was created by Robert Meyer at the Neural Information Processing Group (TU Berlin), supported by the Research Training Group GRK 1589/1. - ------- - Contact - ------- + ## Contact **robert.meyer (at) ni.tu-berlin.de** @@ -424,7 +398,6 @@ Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Intended Audience :: Science/Research Classifier: Natural Language :: English diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/README.md new/pypet-0.4.3/README.md --- old/pypet-0.4.2/README.md 2017-12-03 12:46:20.000000000 +0100 +++ new/pypet-0.4.3/README.md 2018-06-24 19:39:52.000000000 +0200 @@ -1,7 +1,11 @@ -===== -pypet -===== +# pypet +[![Travis Build Status](https://travis-ci.org/SmokinCaterpillar/pypet.svg?branch=master)](https://travis-ci.org/SmokinCaterpillar/pypet) +[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/9amhj3iyf105xa2y/branch/master?svg=true)](https://ci.appveyor.com/project/SmokinCaterpillar/pypet/branch/master) +[![Coverage Status](https://coveralls.io/repos/github/SmokinCaterpillar/pypet/badge.svg?branch=master)](https://coveralls.io/github/SmokinCaterpillar/pypet?branch=master) +[![Codacy Badge](https://api.codacy.com/project/badge/grade/86268960751442799fcf6192b36e386f)](https://www.codacy.com/app/robert-meyer/pypet) +[![PyPI version](https://badge.fury.io/py/pypet.svg)](https://badge.fury.io/py/pypet) +[![Documentation Status](https://readthedocs.org/projects/pypet/badge/?version=latest)](http://pypet.readthedocs.io/en/latest/?badge=latest) The new python parameter exploration toolkit: *pypet* manages exploration of the parameter space @@ -13,19 +17,17 @@ analyses becomes a piece of cake! ------------- -Requirements ------------- +## Requirements -Python 3.4, 3.5, or 3.6 and +Python 3.5 or 3.6 and * tables >= 3.1.1 -* pandas >= 0.15.0 +* pandas >= 0.20.0 -* numpy >= 1.6.1 +* numpy >= 1.12.0 -* scipy >= 0.9.0 +* scipy >= 0.17.0 * HDF5 >= 1.8.9 @@ -53,18 +55,14 @@ * Sumatra >= 0.7.1 ----------- -Python 2.7 ----------- +## Python 2.7 This release no longer supports Python 2.7. If you are still using Python 2.7, you need to use the pypet legacy version 0.3.0 (https://pypi.python.org/pypi/pypet/0.3.0). -======================== -What is pypet all about? -======================== +# What is pypet all about? Whenever you do numerical simulations in science, you come across two major challenges. First, you need some way to save your data. Secondly, you extensively explore the parameter space. @@ -92,9 +90,7 @@ (http://www.pytables.org/). --------------------- -Package Organization --------------------- +## Package Organization This project encompasses these core modules: @@ -110,9 +106,7 @@ * The `pypet.storageservice` for saving your data to disk -------- -Install -------- +## Install If you don't have all prerequisites (*numpy*, *scipy*, *tables*, *pandas*) install them first. These are standard python packages, so chances are high that they are already installed. @@ -134,9 +128,7 @@ As above run from the terminal ``python setup.py install``. -------------------------- -Documentation and Support -------------------------- +## Documentation and Support Documentation can be found on http://pypet.readthedocs.org/. @@ -145,9 +137,7 @@ If you have any further questions feel free to contact me at **robert.meyer (at) ni.tu-berlin.de**. -------------- -Main Features -------------- +## Main Features * **Novel tree container** `Trajectory`, for handling and managing of parameters and results of numerical simulations @@ -200,9 +190,7 @@ SCOOP (http://scoop.readthedocs.org/) -===================== -Quick Working Example -===================== +# Quick Working Example The best way to show how stuff works is by giving examples. I will start right away with a very simple code snippet. @@ -214,57 +202,56 @@ Let's take a look at the snippet at once: -:: +```python +from pypet import Environment, cartesian_product - from pypet import Environment, cartesian_product +def multiply(traj): + """Example of a sophisticated simulation that involves multiplying two values. - def multiply(traj): - """Example of a sophisticated simulation that involves multiplying two values. + :param traj: - :param traj: + Trajectory containing the parameters in a particular combination, + it also serves as a container for results. - Trajectory containing the parameters in a particular combination, - it also serves as a container for results. + """ + z=traj.x * traj.y + traj.f_add_result('z',z, comment='I am the product of two values!') - """ - z=traj.x * traj.y - traj.f_add_result('z',z, comment='I am the product of two values!') +# Create an environment that handles running our simulation +env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', + file_title='Example_01', + comment = 'I am the first example!') - # Create an environment that handles running our simulation - env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', - file_title='Example_01', - comment = 'I am the first example!') +# Get the trajectory from the environment +traj = env.trajectory - # Get the trajectory from the environment - traj = env.trajectory +# Add both parameters +traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') +traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') - # Add both parameters - traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') - traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') +# Explore the parameters with a cartesian product +traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) - # Explore the parameters with a cartesian product - traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) - - # Run the simulation with all parameter combinations - env.run(multiply) +# Run the simulation with all parameter combinations +env.run(multiply) +``` And now let's go through it one by one. At first we have a job to do, that is multiplying two values: -:: - - def multiply(traj): - """Example of a sophisticated simulation that involves multiplying two values. - - :param traj: - - Trajectory containing the parameters in a particular combination, - it also serves as a container for results. - - """ - z=traj.x * traj.y - traj.f_add_result('z',z, comment='I am the product of two values!') - +```python +def multiply(traj): + """Example of a sophisticated simulation that involves multiplying two values. + + :param traj: + + Trajectory containing the parameters in a particular combination, + it also serves as a container for results. + + """ + z=traj.x * traj.y + traj.f_add_result('z',z, comment='I am the product of two values!') +``` This is our simulation function `multiply`. The function uses a so called *trajectory* container which manages our parameters. We can access the parameters simply by natural naming, @@ -274,13 +261,12 @@ After the definition of the job that we want to simulate, we create an environment which will run the simulation. -:: - - # Create an environment that handles running our simulation - env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', - file_title='Example_01', - comment = 'I am the first example!') - +```python +# Create an environment that handles running our simulation +env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', + file_title='Example_01', + comment = 'I am the first example!') +``` The environment uses some parameters here, that is the name of the new trajectory, a filename to store the trajectory into, the title of the file, and a comment that is added to the trajectory. @@ -289,37 +275,37 @@ Check out the documentation (http://pypet.readthedocs.org/) if you want to know more. The environment will automatically generate a trajectory for us which we can access via: -:: - - # Get the trajectory from the environment - traj = env.trajectory +```python +# Get the trajectory from the environment +traj = env.trajectory +``` Now we need to populate our trajectory with our parameters. They are added with the default values of `x=y=1.0`. -:: - - # Add both parameters - traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') - traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') +```python +# Add both parameters +traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') +traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') +``` Well, calculating `1.0 * 1.0` is quite boring, we want to figure out more products, that is the results of the cartesian product set `{1.0,2.0,3.0,4.0} x {6.0,7.0,8.0}`. Therefore, we use `f_explore` in combination with the builder function `cartesian_product`. -:: - - # Explore the parameters with a cartesian product - traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) +```python +# Explore the parameters with a cartesian product +traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) +``` Finally, we need to tell the environment to run our job `multiply` with all parameter combinations. -:: - - # Run the simulation with all parameter combinations - env.run(multiply) +```python +# Run the simulation with all parameter combinations +env.run(multiply) +``` And that's it. The environment will evoke the function `multiply` now 12 times with all parameter combinations. Every time it will pass a `traj` container with another one of these @@ -333,13 +319,9 @@ Robert -============= -Miscellaneous -============= - ----------------- -Acknowledgements ----------------- +# Miscellaneous + +## Acknowledgements * Thanks to Robert Pröpper and Philipp Meier for answering all my Python questions @@ -358,9 +340,7 @@ Neural Information Processing Group ( http://www.ni.tu-berlin.de) for support ------ -Tests ------ +## Tests Tests can be found in `pypet/tests`. Note that they involve heavy file I/O and you need privileges @@ -381,29 +361,23 @@ Running all tests can take up to 20 minutes. The test suite encompasses more than **1000** tests and has a code coverage of about **90%**! -Moreover, *pypet* is constantly tested with Python 3.4, 3.5, and 3.6 for **Linux** using +Moreover, *pypet* is constantly tested with Python 3.5 and 3.6 for **Linux** using Travis-CI. Testing for **Windows** platforms is performed via Appveyor. The source code is available at https://github.com/SmokinCaterpillar/pypet/. -------- -License -------- +## License BSD, please read LICENSE file. ------------- -Legal Notice ------------- +## Legal Notice *pypet* was created by Robert Meyer at the Neural Information Processing Group (TU Berlin), supported by the Research Training Group GRK 1589/1. -------- -Contact -------- +## Contact **robert.meyer (at) ni.tu-berlin.de** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/_version.py new/pypet-0.4.3/pypet/_version.py --- old/pypet-0.4.2/pypet/_version.py 2017-12-03 11:45:38.000000000 +0100 +++ new/pypet-0.4.3/pypet/_version.py 2018-06-24 19:49:53.000000000 +0200 @@ -1 +1 @@ -__version__ = '0.4.2' +__version__ = '0.4.3' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/parameter.py new/pypet-0.4.3/pypet/parameter.py --- old/pypet-0.4.2/pypet/parameter.py 2016-12-26 18:58:14.000000000 +0100 +++ new/pypet-0.4.3/pypet/parameter.py 2018-06-24 19:39:52.000000000 +0200 @@ -67,7 +67,8 @@ import numpy as np import scipy.sparse as spsp -from pandas import DataFrame, Series, Panel, Panel4D +from pandas import DataFrame, Series + import pypet.pypetconstants as pypetconstants from pypet.naturalnaming import NNLeafNode @@ -1954,7 +1955,7 @@ __slots__ = ('_data_',) SUPPORTED_DATA = set((np.ndarray, ObjectTable, - DataFrame, Series, Panel, Panel4D, + DataFrame, Series, dict, tuple, list, np.matrix) + pypetconstants.PARAMETER_SUPPORTED_DATA) @@ -2484,4 +2485,4 @@ self.v_protocol = PickleParameter._get_protocol(dump) for key in load_dict: val = load_dict[key] - self._data[key] = pickle.loads(val) \ No newline at end of file + self._data[key] = pickle.loads(val) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/pypetconstants.py new/pypet-0.4.3/pypet/pypetconstants.py --- old/pypet-0.4.2/pypet/pypetconstants.py 2016-12-26 18:58:14.000000000 +0100 +++ new/pypet-0.4.3/pypet/pypetconstants.py 2018-06-24 19:39:52.000000000 +0200 @@ -301,9 +301,6 @@ SERIES = 'SERIES' """ Store data as pandas Series """ -PANEL = 'PANEL' -""" Store data as pandas Panel(4D) """ - SPLIT_TABLE = 'SPLIT_TABLE' """ If a table was split due to too many columns""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/storageservice.py new/pypet-0.4.3/pypet/storageservice.py --- old/pypet-0.4.2/pypet/storageservice.py 2016-12-26 18:58:14.000000000 +0100 +++ new/pypet-0.4.3/pypet/storageservice.py 2018-06-24 19:39:52.000000000 +0200 @@ -19,7 +19,7 @@ import tables.parameters as ptpa import numpy as np -from pandas import DataFrame, Series, Panel, Panel4D, HDFStore +from pandas import DataFrame, Series, HDFStore import pypet.pypetconstants as pypetconstants import pypet.pypetexceptions as pex @@ -422,9 +422,6 @@ SERIES = pypetconstants.SERIES ''' Store data as pandas Series ''' - PANEL = pypetconstants.PANEL - ''' Store data as pandas Panel(4D) ''' - SPLIT_TABLE = pypetconstants.SPLIT_TABLE ''' If a table was split due to too many columns''' @@ -446,8 +443,6 @@ np.matrix: CARRAY, DataFrame: FRAME, Series: SERIES, - Panel: PANEL, - Panel4D: PANEL, shared.SharedTable: SHARED_DATA, shared.SharedArray: SHARED_DATA, shared.SharedPandasFrame: SHARED_DATA, @@ -3836,7 +3831,8 @@ flag=flag, **kwargs) elif flag in (HDF5StorageService.SERIES, HDF5StorageService.FRAME, - HDF5StorageService.PANEL): + # HDF5StorageService.PANEL + ): # self._logger.log(1, 'SUB-Storing %s PANDAS', key) self._prm_write_pandas_data(key, data_to_store, hdf5_group, fullname, flag, **kwargs) @@ -4018,7 +4014,8 @@ elif flag in (HDF5StorageService.FRAME, HDF5StorageService.SERIES, - HDF5StorageService.PANEL) : + # HDF5StorageService.PANEL + ) : self._prm_write_pandas_data(key, data, hdf5_group, @@ -4676,7 +4673,8 @@ to_load = self._prm_read_array(node, full_name) elif load_type in (HDF5StorageService.FRAME, HDF5StorageService.SERIES, - HDF5StorageService.PANEL): + # HDF5StorageService.PANEL + ): to_load = self._prm_read_pandas(node, full_name) elif load_type.startswith(HDF5StorageService.SHARED_DATA): to_load = self._prm_read_shared_data(node, instance) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/tests/testutils/data.py new/pypet-0.4.3/pypet/tests/testutils/data.py --- old/pypet-0.4.2/pypet/tests/testutils/data.py 2016-12-26 18:58:14.000000000 +0100 +++ new/pypet-0.4.3/pypet/tests/testutils/data.py 2018-06-24 19:39:52.000000000 +0200 @@ -264,19 +264,8 @@ myseries = myframe['TC1'] - mypanel = pd.Panel({'Item1' : pd.DataFrame(np.ones((4, 3))),'Item2' : pd.DataFrame(np.ones((4, 2)))}) - - # p4d = pd.Panel4D(np.random.randn(2, 2, 5, 4), - # labels=['Label1','Label2'], - # items=['Item1', 'Item2'], - # major_axis=pd.date_range('1/1/2000', periods=5), - # minor_axis=['A', 'B', 'C', 'D']) - - traj.f_add_result('myseries', myseries, comment='dd') traj.f_store_item('myseries') - traj.f_add_result('mypanel', mypanel, comment='dd') - #traj.f_add_result('mypanel4d', p4d, comment='dd') traj.f_get('DictsNFrame').f_set(myframe) @@ -410,4 +399,4 @@ if not node.v_annotations.f_is_empty(): second_anns = traj2.f_get(node.v_full_name).v_annotations - self.assertTrue(str(node.v_annotations) == str(second_anns)) \ No newline at end of file + self.assertTrue(str(node.v_annotations) == str(second_anns)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/tests/unittests/parameter_test.py new/pypet-0.4.3/pypet/tests/unittests/parameter_test.py --- old/pypet-0.4.2/pypet/tests/unittests/parameter_test.py 2016-12-26 18:58:14.000000000 +0100 +++ new/pypet-0.4.3/pypet/tests/unittests/parameter_test.py 2018-06-24 19:39:52.000000000 +0200 @@ -818,23 +818,11 @@ myseries = myframe['TC1'] - mypanel = pd.Panel({'Item1' : pd.DataFrame(np.random.randn(4, 3)), - 'Item2' : pd.DataFrame(np.random.randn(4, 2))}) - self.data['series'] = myseries - self.data['panel'] = mypanel - - # self.data['p4d'] = pd.Panel4D(np.random.randn(2, 2, 5, 4), - # labels=['Label1','Label2'], - # items=['Item1', 'Item2'], - # major_axis=pd.date_range('1/1/2000', periods=5), - # minor_axis=['A', 'B', 'C', 'D']) self.make_constructor() self.make_results() - - def test_store_load_with_hdf5(self): traj_name = 'test_%s' % self.__class__.__name__ filename = make_temp_dir(traj_name + '.hdf5') @@ -852,7 +840,6 @@ new_traj.f_load(load_data=2) self.compare_trajectories(traj, new_traj) - def test_rename(self): for name,res in self.results.items(): res._rename('test.test.wirsing') @@ -1062,4 +1049,4 @@ if __name__ == '__main__': opt_args = parse_args() - run_suite(**opt_args) \ No newline at end of file + run_suite(**opt_args) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/tests/unittests/storage_test.py new/pypet-0.4.3/pypet/tests/unittests/storage_test.py --- old/pypet-0.4.2/pypet/tests/unittests/storage_test.py 2016-12-26 18:58:14.000000000 +0100 +++ new/pypet-0.4.3/pypet/tests/unittests/storage_test.py 2018-06-24 19:39:52.000000000 +0200 @@ -147,7 +147,6 @@ traj.f_add_result(SparseResult, 'empty.all', dict={}, list=[], series = pd.Series(), frame = pd.DataFrame(), - panel = pd.Panel(), **traj.par.f_to_dict(short_names=True, fast_access=True)) traj.f_store() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet/utils/comparisons.py new/pypet-0.4.3/pypet/utils/comparisons.py --- old/pypet-0.4.2/pypet/utils/comparisons.py 2016-12-26 18:58:14.000000000 +0100 +++ new/pypet-0.4.3/pypet/utils/comparisons.py 2018-06-24 19:39:52.000000000 +0200 @@ -155,13 +155,6 @@ else: return not np.any((a != b).data) - a_panel = isinstance(a, (pd.Panel, pd.Panel4D)) - b_panel = isinstance(b, (pd.Panel, pd.Panel4D)) - if a_panel != b_panel: - return False - if a_panel: - return nested_equal(a.to_frame(), b.to_frame()) - a_series = isinstance(a, pd.Series) b_series = isinstance(b, pd.Series) if a_series != b_series: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet.egg-info/PKG-INFO new/pypet-0.4.3/pypet.egg-info/PKG-INFO --- old/pypet-0.4.2/pypet.egg-info/PKG-INFO 2017-12-03 12:47:06.000000000 +0100 +++ new/pypet-0.4.3/pypet.egg-info/PKG-INFO 2018-06-24 20:51:52.000000000 +0200 @@ -1,15 +1,19 @@ Metadata-Version: 1.1 Name: pypet -Version: 0.4.2 +Version: 0.4.3 Summary: A toolkit for numerical simulations to allow easy parameter exploration and storage of results. Home-page: https://github.com/SmokinCaterpillar/pypet Author: Robert Meyer Author-email: robert.me...@ni.tu-berlin.de License: BSD -Description: ===== - pypet - ===== +Description: # pypet + [![Travis Build Status](https://travis-ci.org/SmokinCaterpillar/pypet.svg?branch=master)](https://travis-ci.org/SmokinCaterpillar/pypet) + [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/9amhj3iyf105xa2y/branch/master?svg=true)](https://ci.appveyor.com/project/SmokinCaterpillar/pypet/branch/master) + [![Coverage Status](https://coveralls.io/repos/github/SmokinCaterpillar/pypet/badge.svg?branch=master)](https://coveralls.io/github/SmokinCaterpillar/pypet?branch=master) + [![Codacy Badge](https://api.codacy.com/project/badge/grade/86268960751442799fcf6192b36e386f)](https://www.codacy.com/app/robert-meyer/pypet) + [![PyPI version](https://badge.fury.io/py/pypet.svg)](https://badge.fury.io/py/pypet) + [![Documentation Status](https://readthedocs.org/projects/pypet/badge/?version=latest)](http://pypet.readthedocs.io/en/latest/?badge=latest) The new python parameter exploration toolkit: *pypet* manages exploration of the parameter space @@ -21,19 +25,17 @@ analyses becomes a piece of cake! - ------------ - Requirements - ------------ + ## Requirements - Python 3.4, 3.5, or 3.6 and + Python 3.5 or 3.6 and * tables >= 3.1.1 - * pandas >= 0.15.0 + * pandas >= 0.20.0 - * numpy >= 1.6.1 + * numpy >= 1.12.0 - * scipy >= 0.9.0 + * scipy >= 0.17.0 * HDF5 >= 1.8.9 @@ -61,18 +63,14 @@ * Sumatra >= 0.7.1 - ---------- - Python 2.7 - ---------- + ## Python 2.7 This release no longer supports Python 2.7. If you are still using Python 2.7, you need to use the pypet legacy version 0.3.0 (https://pypi.python.org/pypi/pypet/0.3.0). - ======================== - What is pypet all about? - ======================== + # What is pypet all about? Whenever you do numerical simulations in science, you come across two major challenges. First, you need some way to save your data. Secondly, you extensively explore the parameter space. @@ -100,9 +98,7 @@ (http://www.pytables.org/). - -------------------- - Package Organization - -------------------- + ## Package Organization This project encompasses these core modules: @@ -118,9 +114,7 @@ * The `pypet.storageservice` for saving your data to disk - ------- - Install - ------- + ## Install If you don't have all prerequisites (*numpy*, *scipy*, *tables*, *pandas*) install them first. These are standard python packages, so chances are high that they are already installed. @@ -142,9 +136,7 @@ As above run from the terminal ``python setup.py install``. - ------------------------- - Documentation and Support - ------------------------- + ## Documentation and Support Documentation can be found on http://pypet.readthedocs.org/. @@ -153,9 +145,7 @@ If you have any further questions feel free to contact me at **robert.meyer (at) ni.tu-berlin.de**. - ------------- - Main Features - ------------- + ## Main Features * **Novel tree container** `Trajectory`, for handling and managing of parameters and results of numerical simulations @@ -208,9 +198,7 @@ SCOOP (http://scoop.readthedocs.org/) - ===================== - Quick Working Example - ===================== + # Quick Working Example The best way to show how stuff works is by giving examples. I will start right away with a very simple code snippet. @@ -222,57 +210,56 @@ Let's take a look at the snippet at once: - :: + ```python + from pypet import Environment, cartesian_product - from pypet import Environment, cartesian_product + def multiply(traj): + """Example of a sophisticated simulation that involves multiplying two values. - def multiply(traj): - """Example of a sophisticated simulation that involves multiplying two values. + :param traj: - :param traj: + Trajectory containing the parameters in a particular combination, + it also serves as a container for results. - Trajectory containing the parameters in a particular combination, - it also serves as a container for results. + """ + z=traj.x * traj.y + traj.f_add_result('z',z, comment='I am the product of two values!') - """ - z=traj.x * traj.y - traj.f_add_result('z',z, comment='I am the product of two values!') + # Create an environment that handles running our simulation + env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', + file_title='Example_01', + comment = 'I am the first example!') - # Create an environment that handles running our simulation - env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', - file_title='Example_01', - comment = 'I am the first example!') + # Get the trajectory from the environment + traj = env.trajectory - # Get the trajectory from the environment - traj = env.trajectory + # Add both parameters + traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') + traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') - # Add both parameters - traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') - traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') + # Explore the parameters with a cartesian product + traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) - # Explore the parameters with a cartesian product - traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) - - # Run the simulation with all parameter combinations - env.run(multiply) + # Run the simulation with all parameter combinations + env.run(multiply) + ``` And now let's go through it one by one. At first we have a job to do, that is multiplying two values: - :: - - def multiply(traj): - """Example of a sophisticated simulation that involves multiplying two values. - - :param traj: - - Trajectory containing the parameters in a particular combination, - it also serves as a container for results. - - """ - z=traj.x * traj.y - traj.f_add_result('z',z, comment='I am the product of two values!') - + ```python + def multiply(traj): + """Example of a sophisticated simulation that involves multiplying two values. + + :param traj: + + Trajectory containing the parameters in a particular combination, + it also serves as a container for results. + + """ + z=traj.x * traj.y + traj.f_add_result('z',z, comment='I am the product of two values!') + ``` This is our simulation function `multiply`. The function uses a so called *trajectory* container which manages our parameters. We can access the parameters simply by natural naming, @@ -282,13 +269,12 @@ After the definition of the job that we want to simulate, we create an environment which will run the simulation. - :: - - # Create an environment that handles running our simulation - env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', - file_title='Example_01', - comment = 'I am the first example!') - + ```python + # Create an environment that handles running our simulation + env = Environment(trajectory='Multiplication',filename='./HDF/example_01.hdf5', + file_title='Example_01', + comment = 'I am the first example!') + ``` The environment uses some parameters here, that is the name of the new trajectory, a filename to store the trajectory into, the title of the file, and a comment that is added to the trajectory. @@ -297,37 +283,37 @@ Check out the documentation (http://pypet.readthedocs.org/) if you want to know more. The environment will automatically generate a trajectory for us which we can access via: - :: - - # Get the trajectory from the environment - traj = env.trajectory + ```python + # Get the trajectory from the environment + traj = env.trajectory + ``` Now we need to populate our trajectory with our parameters. They are added with the default values of `x=y=1.0`. - :: - - # Add both parameters - traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') - traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') + ```python + # Add both parameters + traj.f_add_parameter('x', 1.0, comment='Im the first dimension!') + traj.f_add_parameter('y', 1.0, comment='Im the second dimension!') + ``` Well, calculating `1.0 * 1.0` is quite boring, we want to figure out more products, that is the results of the cartesian product set `{1.0,2.0,3.0,4.0} x {6.0,7.0,8.0}`. Therefore, we use `f_explore` in combination with the builder function `cartesian_product`. - :: - - # Explore the parameters with a cartesian product - traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) + ```python + # Explore the parameters with a cartesian product + traj.f_explore(cartesian_product({'x':[1.0,2.0,3.0,4.0], 'y':[6.0,7.0,8.0]})) + ``` Finally, we need to tell the environment to run our job `multiply` with all parameter combinations. - :: - - # Run the simulation with all parameter combinations - env.run(multiply) + ```python + # Run the simulation with all parameter combinations + env.run(multiply) + ``` And that's it. The environment will evoke the function `multiply` now 12 times with all parameter combinations. Every time it will pass a `traj` container with another one of these @@ -341,13 +327,9 @@ Robert - ============= - Miscellaneous - ============= - - ---------------- - Acknowledgements - ---------------- + # Miscellaneous + + ## Acknowledgements * Thanks to Robert Pröpper and Philipp Meier for answering all my Python questions @@ -366,9 +348,7 @@ Neural Information Processing Group ( http://www.ni.tu-berlin.de) for support - ----- - Tests - ----- + ## Tests Tests can be found in `pypet/tests`. Note that they involve heavy file I/O and you need privileges @@ -389,29 +369,23 @@ Running all tests can take up to 20 minutes. The test suite encompasses more than **1000** tests and has a code coverage of about **90%**! - Moreover, *pypet* is constantly tested with Python 3.4, 3.5, and 3.6 for **Linux** using + Moreover, *pypet* is constantly tested with Python 3.5 and 3.6 for **Linux** using Travis-CI. Testing for **Windows** platforms is performed via Appveyor. The source code is available at https://github.com/SmokinCaterpillar/pypet/. - ------- - License - ------- + ## License BSD, please read LICENSE file. - ------------ - Legal Notice - ------------ + ## Legal Notice *pypet* was created by Robert Meyer at the Neural Information Processing Group (TU Berlin), supported by the Research Training Group GRK 1589/1. - ------- - Contact - ------- + ## Contact **robert.meyer (at) ni.tu-berlin.de** @@ -424,7 +398,6 @@ Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Intended Audience :: Science/Research Classifier: Natural Language :: English diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/pypet.egg-info/requires.txt new/pypet-0.4.3/pypet.egg-info/requires.txt --- old/pypet-0.4.2/pypet.egg-info/requires.txt 2017-12-03 12:47:06.000000000 +0100 +++ new/pypet-0.4.3/pypet.egg-info/requires.txt 2018-06-24 20:51:52.000000000 +0200 @@ -1,4 +1,4 @@ -tables >= 3.1.1 -pandas >= 0.15.0 -numpy >= 1.6.1 -scipy >= 0.9.0 +tables +pandas +numpy +scipy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/setup.cfg new/pypet-0.4.3/setup.cfg --- old/pypet-0.4.2/setup.cfg 2017-12-03 12:47:06.000000000 +0100 +++ new/pypet-0.4.3/setup.cfg 2018-06-24 20:51:52.000000000 +0200 @@ -1,5 +1,4 @@ [egg_info] tag_build = tag_date = 0 -tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pypet-0.4.2/setup.py new/pypet-0.4.3/setup.py --- old/pypet-0.4.2/setup.py 2017-12-03 11:43:26.000000000 +0100 +++ new/pypet-0.4.3/setup.py 2018-06-24 19:39:52.000000000 +0200 @@ -9,10 +9,10 @@ from distutils.core import setup install_requires=[ - 'tables >= 3.1.1', - 'pandas >= 0.15.0', - 'numpy >= 1.6.1', - 'scipy >= 0.9.0'] + 'tables', + 'pandas', + 'numpy', + 'scipy'] # For versioning, Version found in pypet._version.py verstrline = open('pypet/_version.py', "rt").read() @@ -49,7 +49,6 @@ classifiers=[ 'Development Status :: 4 - Beta', 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Intended Audience :: Science/Research', 'Natural Language :: English',