Metadata-Version: 2.0
Name: noformat
Version: 0.1.4
Summary: save and load a structured collection of data as folder
Home-page: https://github.com/Palpatineli/noformat
Author: Keji Li
Author-email: mail@keji.li
License: GPLv3
Download-URL: https://github.com/Palpatineli/noformat/archive/0.1.4.tar.gz
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Provides-Extra: pd
Requires-Dist: numpy
Provides-Extra: pd
Requires-Dist: pandas; extra == 'pd'

Noformat
========

Basically, noformat treats a folder structure as a single dict that
contains data and attributes. Pandas dataframe and numpy array can be
used for dict values.

.. code:: python

   import numpy as np
   import pandas as pd
   from noformat import File
   data = File('data/temp', 'w-')
   data['first_array'] = np.random.randn(10, 10)
   data['second_array'] = pd.DataFrame(data=np.random.randn(10, 4), columns=['1', '2', '3', '4'])

Files will be automatically saved upon object destruction. And loaded
later

.. code:: python

   read_data = File('data/temp', 'w+')
   assert(read_data['first_array'].shape == (10, 10))

Attributes will be saved in ‘attributes.json’ files

.. code:: python

   read_data = File('data/temp', 'w+')
   read_data.attrs['first_attribute'] = 64

This will create a folder with the following structure

::

   data/temp/
   |   first_array.npy
   |   second_array.msg
   └───attributes.json

Logging files for the data can be included: 1. in json format with .log
extension 2. in cell array format with .mat extension It can only be
written in the first type


