Metadata-Version: 2.1
Name: cubed
Version: 0.6.2
Summary: Bounded-memory serverless distributed N-dimensional array processing
Author-email: Tom White <tom.e.white@gmail.com>
License: Apache License 2.0
Project-URL: homepage, https://github.com/tomwhite/cubed
Project-URL: documentation, https://tomwhite.github.io/cubed
Project-URL: repository, https://github.com/tomwhite/cubed
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiostream
Requires-Dist: fsspec
Requires-Dist: mypy-extensions
Requires-Dist: networkx (<2.8.3)
Requires-Dist: numpy (>=1.22)
Requires-Dist: tenacity
Requires-Dist: toolz
Requires-Dist: zarr
Provides-Extra: beam
Requires-Dist: apache-beam ; extra == 'beam'
Requires-Dist: gcsfs ; extra == 'beam'
Provides-Extra: complete
Requires-Dist: cubed[beam,lithops,modal] ; extra == 'complete'
Provides-Extra: diagnostics
Requires-Dist: tqdm ; extra == 'diagnostics'
Requires-Dist: graphviz ; extra == 'diagnostics'
Requires-Dist: pydot ; extra == 'diagnostics'
Requires-Dist: pandas ; extra == 'diagnostics'
Provides-Extra: lithops
Requires-Dist: lithops[aws] (>=2.7.0) ; extra == 'lithops'
Provides-Extra: modal
Requires-Dist: cubed[diagnostics] ; extra == 'modal'
Requires-Dist: modal-client ; extra == 'modal'
Requires-Dist: s3fs ; extra == 'modal'
Provides-Extra: test
Requires-Dist: apache-beam ; extra == 'test'
Requires-Dist: cubed[diagnostics,lithops] ; extra == 'test'
Requires-Dist: dill ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-mock ; extra == 'test'
Provides-Extra: test-modal
Requires-Dist: cubed[modal] ; extra == 'test-modal'
Requires-Dist: dill ; extra == 'test-modal'
Requires-Dist: pytest ; extra == 'test-modal'
Requires-Dist: pytest-cov ; extra == 'test-modal'
Requires-Dist: pytest-mock ; extra == 'test-modal'

# Cubed

**_Note: this is a proof-of-concept, and many things are incomplete or don't work._**

## Bounded-memory serverless distributed N-dimensional array processing

Cubed is a distributed N-dimensional array library implemented in Python using bounded-memory serverless processing and Zarr for storage.

- Implements the [Python Array API standard](https://data-apis.org/array-api/latest/) (see [coverage status](./api_status.md))
- Guaranteed maximum memory usage for standard array functions
- Follows [Dask Array](https://docs.dask.org/en/stable/array.html)'s chunked array API (`map_blocks`, `rechunk`, `apply_gufunc`, etc)
- [Zarr](https://zarr.readthedocs.io/en/stable/) for persistent and intermediate storage
- Multiple serverless runtimes: Python (in-process), [Lithops](https://lithops-cloud.github.io/), [Modal](https://modal.com/), [Apache Beam](https://beam.apache.org/)

[Documentation](https://tomwhite.github.io/cubed)
