Metadata-Version: 2.1
Name: connectome
Version: 0.4.4
Summary: A library for datasets containing heterogeneous data
Home-page: https://github.com/neuro-ml/connectome
License: UNKNOWN
Download-URL: https://github.com/neuro-ml/connectome/archive/v0.4.4.tar.gz
Keywords: dag,dataset,cache,consistency
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

[![docs](https://img.shields.io/badge/-docs-success)](https://neuro-ml.github.io/connectome/)
[![codecov](https://codecov.io/gh/neuro-ml/connectome/branch/master/graph/badge.svg)](https://codecov.io/gh/neuro-ml/connectome)
[![pypi](https://img.shields.io/pypi/v/connectome?logo=pypi&label=PyPi)](https://pypi.org/project/connectome/)
![License](https://img.shields.io/github/license/neuro-ml/connectome)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/connectome)](https://pypi.org/project/connectome/)

Connectome is a framework for datasets management with strong emphasis on simplicity, composability and reusability.

# Features

* Self-consistency: connectome encourages data transformations that keep entries' fields consistent
* Caching: transformations' caching works out of the box and supports both caching to RAM and to Disk
* Automatic cache invalidation: connectome tracks all the changes made to a dataset and automatically invalidates the
  cache when something changes, making sure that your cache is always consistent with the data
* Invertible transformations: write consistent pre- and post- processing to build production-ready pipelines

# Install

The simplest way is to get it from PyPi:

```shell
pip install connectome
```

Or if you want to try the latest version from GitHub:

```shell
git clone https://github.com/neuro-ml/connectome.git
cd connectome
pip install -e .

# or let pip handle the cloning:
pip install git+https://github.com/neuro-ml/connectome.git
```

# Getting started

The docs are located [here](https://neuro-ml.github.io/connectome)

Also, you can check out our `Intro to connectome` series of
tutorials [here](https://neuro-ml.github.io/connectome/tutorials/00%20-%20Intro/)

# Acknowledgements

Some parts of our automatic cache invalidation machinery vere heavily inspired by
the [cloudpickle](https://github.com/cloudpipe/cloudpickle) project.


