Metadata-Version: 2.4
Name: plateau
Version: 4.6.2
Summary: A Python library to manage (create, read, update, delete) large amounts of tabular data in a blob store.
Author-email: Data Engineering Collective <plateau@uwekorn.com>
License: MIT License
        
        Copyright (c) 2022 The plateau contributors.
        Copyright (c) 2020-2021 The kartothek contributors.
        Copyright (c) 2019 JDA Software, Inc
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Repository, https://github.com/data-engineering-collective/plateau
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: dask[dataframe]!=2021.5.1,!=2021.6.0
Requires-Dist: decorator
Requires-Dist: msgpack>=0.5.2
Requires-Dist: numpy<3,>1.23
Requires-Dist: pandas>=2
Requires-Dist: pyarrow!=19.0.0,>=15
Requires-Dist: simplejson
Requires-Dist: minimalkv>=1.4.2
Requires-Dist: toolz
Requires-Dist: urlquote>=1.1.3
Requires-Dist: zstandard
Requires-Dist: attrs
Requires-Dist: click
Requires-Dist: prompt-toolkit
Requires-Dist: pyyaml
Dynamic: license-file

# plateau

_flat files, flat land_

[![Build Status](https://github.com/data-engineering-collective/plateau/workflows/CI/badge.svg)](https://github.com/data-engineering-collective/plateau/actions?query=branch%3Amain)
[![conda-forge](https://img.shields.io/conda/vn/conda-forge/minimalkv?logoColor=white&logo=conda-forge)](https://prefix.dev/channels/conda-forge/packages/minimalkv)
[![pypi-version](https://img.shields.io/pypi/v/minimalkv.svg?logo=pypi&logoColor=white)](https://pypi.org/project/minimalkv)
[![python-version](https://img.shields.io/pypi/pyversions/minimalkv?logoColor=white&logo=python)](https://pypi.org/project/minimalkv)
[![Documentation Status](https://readthedocs.org/projects/plateau/badge/?version=stable)](https://plateau.readthedocs.io/en/stable/?badge=stable)
[![codecov.io](https://codecov.io/github/data-engineering-collective/plateau/coverage.svg?branch=master)](https://codecov.io/github/data-engineering-collective/plateau)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/data-engineering-collective/plateau/blob/master/LICENSE.txt)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/plateau/badges/downloads.svg)](https://anaconda.org/conda-forge/plateau)

`plateau` is a Python library to manage (create, read, update, delete) large
amounts of tabular data in a blob store. It stores data as datasets, which
it presents as pandas DataFrames to the user. Datasets are a collection of
files with the same schema that reside in a blob store. plateau uses a metadata
definition to handle these datasets efficiently. For distributed access and
manipulation of datasets plateau offers a [Dask](https://dask.org) interface.

Storing data distributed over multiple files in a blob store (S3, ABS, GCS,
etc.) allows for a fast, cost-efficient and highly scalable data infrastructure.
A downside of storing data solely in an object store is that the storages
themselves give little to no guarantees beyond the consistency of a single file.
In particular, they cannot guarantee the consistency of your dataset. If we
demand a consistent state of our dataset at all times, we need to track the
state of the dataset. plateau frees us from having to do this manually.

The `plateau.io` module provides building blocks to create and modify these
datasets in data pipelines. plateau handles I/O, tracks dataset partitions
and selects subsets of data transparently.

## Installation

This project is managed by [pixi](https://pixi.sh).
You can install the package in development mode using:

```bash
git clone https://github.com/data-engineering-collective/plateau
cd plateau

pixi run pre-commit-install
pixi run postinstall
pixi run test
```

Plateau is also [available on PyPI](http://pypi.python.org/pypi/plateau/) and
can be installed through `pip`:

```bash
pip install plateau
```

## Contributing

Find details on how to contribute [here](CONTRIBUTING.md).
