Metadata-Version: 2.1
Name: xyzpy
Version: 0.2.2
Summary: Easily generate large parameter space data
Home-page: http://xyzpy.readthedocs.io
Author: Johnnie Gray
Author-email: john.gray.14@ucl.ac.uk
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.5
Provides-Extra: tests
Provides-Extra: docs
Requires-Dist: numpy (>=1.10.0)
Requires-Dist: dask (>=0.11.1)
Requires-Dist: xarray (>=0.9.0)
Requires-Dist: h5py (>=2.6.0)
Requires-Dist: h5netcdf (>=0.2.2)
Requires-Dist: joblib (>=0.10)
Requires-Dist: tqdm (>=4.7.6)
Requires-Dist: matplotlib (>=2.2.0)
Requires-Dist: bokeh (>=0.12.3)
Requires-Dist: cytoolz (>=0.8)
Provides-Extra: docs
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-bootstrap-theme; extra == 'docs'
Requires-Dist: nbsphinx; extra == 'docs'
Requires-Dist: ipython; extra == 'docs'
Provides-Extra: tests
Requires-Dist: coverage; extra == 'tests'
Requires-Dist: pytest; extra == 'tests'
Requires-Dist: pytest-cov; extra == 'tests'

.. image:: https://travis-ci.org/jcmgray/xyzpy.svg?branch=master
  :target: https://travis-ci.org/jcmgray/xyzpy
.. image:: https://codecov.io/gh/jcmgray/xyzpy/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/jcmgray/xyzpy
.. image:: https://api.codacy.com/project/badge/Grade/7085feb3f47c4c509559778be5eb6a60
  :target: https://www.codacy.com/app/jcmgray/xyzpy?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=jcmgray/xyzpy&amp;utm_campaign=Badge_Grade
.. image:: https://landscape.io/github/jcmgray/xyzpy/master/landscape.svg?style=flat
  :target: https://landscape.io/github/jcmgray/xyzpy/master
  :alt: Code Health
.. image:: https://readthedocs.org/projects/xyzpy/badge/?version=latest
  :target: http://xyzpy.readthedocs.io/en/latest/?badge=latest
  :alt: Documentation Status

----------------------------------------------------------------------------------

`xyzpy <https://github.com/jcmgray/xyzpy>`__ is python library for efficiently generating, manipulating and plotting data with a lot of dimensions, of the type that often occurs in numerical simulations. It stands wholly atop the labelled N-dimensional array library `xarray <http://xarray.pydata.org/en/stable/>`__. The project's documentation is hosted on `readthedocs <http://xyzpy.readthedocs.io/>`__.

The aim is to take the pain and errors out of generating and exploring data with a high number of possible parameters. This means:

- you don't have to write super nested for loops
- you don't have to remember which arrays/dimensions belong to which variables/parameters
- you don't have to parallelize over or distribute runs yourself
- you don't have to worry about loading, saving and merging disjoint data
- you don't need to guess when a set of runs is going to finish

As well as the ability to automatically parallelize over runs, ``xyzpy`` provides the ``Crop`` object that allows runs and results to be written to disk, these can then be run by any process with access to the files - e.g. a batch system - or just serve as a convenient persistent progress mechanism.

In terms of post-processing, as well as all the power of `xarray <http://xarray.pydata.org/en/stable/>`__, ``xyzpy`` adds uneven step differentiation and error propagation, filtering and interpolation - along any axis just specified by name.

The aim of the plotting functionality is to keep the same interface between interactively plotting the data using `bokeh <https://bokeh.pydata.org/en/latest/>`__, and static, publication ready figures using `matplotlib <https://matplotlib.org/>`__, whilst being able to see the dependence on up to 4 dimensions at once.

.. image:: docs/ex_simple.png

Please see the `docs <http://xyzpy.readthedocs.io/>`__ for more information.



