Metadata-Version: 2.1
Name: darr
Version: 0.2.1
Summary: Memory-mapped numeric arrays, based on a format that is self-explanatory and tool-independent
Home-page: https://github.com/gbeckers/darr
Author: Gabriel J.L. Beckers
Author-email: gabriel@gbeckers.nl
License: BSD-3
Project-URL: Source, https://github.com/gbeckers/darr
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
Requires-Dist: numpy


Darr is a Python science library that enables you to work efficiently with
disk-based numeric arrays without depending on tool-specific data formats.
This makes it easy to share your data with those who do not use Darr or even
Python. No exporting required and, as the data is saved in a self-explanatory
way, not much explanation required either. Tool-independent and easy access
to data is in line with good scientific practice as it promotes wide and
long-term availability, to others but also to yourself. More rationale for this
approach is provided
`here <https://darr.readthedocs.io/en/latest/rationale.html>`__.

Darr supports efficient read/write/append access and is based on universally
readable flat binary files and automatically generated text files, containing
human-readable explanation of precisely how your binary data is stored. It
also provides specific code that reads the data in a variety of current
scientific data tools such as Python, R, Julia, IDL, Matlab, Maple, and
Mathematica (see
`example array <https://github.com/gbeckers/Darr/tree/master/examplearrays/examplearray_uint64.darr>`__).

Darr currently supports numerical N-dimensional arrays, and experimentally
supports numerical ragged arrays, i.e. a series of arrays in which one
dimension varies in length.

See this `tutorial <https://darr.readthedocs.io/en/latest/tutorial.html>`__
for a brief introduction, or the
`documentation <http://darr.readthedocs.io/>`__ for more info.

Darr is currently pre-1.0, still undergoing significant development. It is
open source and freely available under the `New BSD License
<https://opensource.org/licenses/BSD-3-Clause>`__ terms.

Features
--------

Pro's:

-  Purely based on **flat binary** and **text** files, tool independence.
-  **Human-readable explanation of how the binary data is stored** is
   saved in a README text file.
-  Includes **examples of how to read the array** in popular
   analysis environments such as Python (without Darr), R, Julia,
   Octave/Matlab, GDL/IDL, and Mathematica.
-  Supports **very large data arrays**, larger than RAM.
-  Data read/write access is simple through **NumPy indexing** (see
   `here <https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html>`__).
-  Data is easily **appendable**.
-  **Many numeric types** are supported: (u)int8-(u)int64, float16-float64,
   complex64, complex128.
-  Easy use of **metadata**, stored in a separate
   `JSON <https://en.wikipedia.org/wiki/JSON>`__ text file.
-  **Minimal dependencies**, only `NumPy <http://www.numpy.org/>`__.
-  **Integrates easily** with the
   `Dask <https://dask.pydata.org/en/latest/>`__ library for
   **numeric computation on very large Darr arrays**.
-  Supports **ragged arrays** (still experimental).

See the [documentation](http://darr.readthedocs.io/) for more information.



