Skip to main content

Squirrel is a Python library that enables ML teams to share, load, and transform data in a collaborative, flexible, and efficient way.

Project description

Squirrel Core

Share, load, and transform data in a collaborative, flexible, and efficient way

Python PyPI Conda Documentation Status Downloads License DOI Generic badge Slack


What is Squirrel?

Squirrel is a Python library that enables ML teams to share, load, and transform data in a collaborative, flexible, and efficient way.

  1. SPEED: Avoid data stall, i.e. the expensive GPU will not be idle while waiting for the data.

  2. COSTS: First, avoid GPU stalling, and second allow to shard & cluster your data and store & load it in bundles, decreasing the cost for your data bucket cloud storage.

  3. FLEXIBILITY: Work with a flexible standard data scheme which is adaptable to any setting, including multimodal data.

  4. COLLABORATION: Make it easier to share data & code between teams and projects in a self-service model.

Stream data from anywhere to your machine learning model as easy as:

it = (
    Catalog.from_plugins()["imagenet"]
    .get_driver()
    .get_iter("train")
    .map(lambda r: (augment(r["image"]), r["label"]))
    .batched(100)
)

Check out our full getting started tutorial notebook. If you have any questions or would like to contribute, join our Slack community.

Installation

You can install squirrel-core by

pip install squirrel-core

To install all features and functionalities:

pip install "squirrel-core[all]"

Or select the dependencies you need:

pip install "squirrel-core[gcs,torch]"

Please refer to the installation section of the documentation for a complete list of supported dependencies.

Documentation

Read our documentation at ReadTheDocs

Squirrel Datasets

Squirrel-datasets-core is an accompanying Python package that does three things.

  1. It extends the Squirrel platform for data transform, access, and discovery through custom drivers for public datasets.
  2. It also allows you to tap into the vast amounts of open-source datasets from Huggingface, Activeloop Hub and Torchvision, and you'll get all of Squirrel's functionality on top!
  3. It provides open-source and community-contributed tutorials and example notebooks for using Squirrel.

Contributing

Squirrel is open source and community contributions are welcome!

Check out the contribution guide to learn how to get involved.

The Humans Behind Squirrel

We are Merantix Momentum, a team of ~30 machine learning engineers, developing machine learning solutions for industry and research. Each project comes with its own challenges, data types and learnings, but one issue we always faced was scalable data loading, transforming and sharing. We were looking for a solution that would allow us to load the data in a fast and cost-efficient way, while keeping the flexibility to work with any possible dataset and integrate with any API. That's why we build Squirrel – and we hope you'll find it as useful as we do! By the way, we are hiring!

Citation

If you use Squirrel in your research, please cite it using:

@article{2022squirrelcore,
  title={Squirrel: A Python library that enables ML teams to share, load, and transform data in a collaborative, flexible, and efficient way.},
  author={Squirrel Developer Team},
  journal={GitHub. Note: https://github.com/merantix-momentum/squirrel-core},
  doi={10.5281/zenodo.6418280},
  year={2022}
}

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

squirrel-core-0.18.0.dev99732.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

squirrel_core-0.18.0.dev99732-py3-none-any.whl (73.9 kB view details)

Uploaded Python 3

File details

Details for the file squirrel-core-0.18.0.dev99732.tar.gz.

File metadata

File hashes

Hashes for squirrel-core-0.18.0.dev99732.tar.gz
Algorithm Hash digest
SHA256 0c417baad33515c8f494c32b9d53ed6a65299ade92b3f09c1ac590fce122b36a
MD5 06c43e3671ad8fb59b472b4a48601f72
BLAKE2b-256 9478f6a0fd54decbdb4679eecf9f3254e8909c7ee4f3f489391741fe4a665262

See more details on using hashes here.

File details

Details for the file squirrel_core-0.18.0.dev99732-py3-none-any.whl.

File metadata

File hashes

Hashes for squirrel_core-0.18.0.dev99732-py3-none-any.whl
Algorithm Hash digest
SHA256 30cf2782fa989d1806c33343f9b8291b367bbe93ff1ffcb06d26516c7e10ec6b
MD5 09b7cd1c2ac84eb17f76e41f0a67c07c
BLAKE2b-256 d3260f3b7a1a3ff86b42f5a4fc1eaf33b82cd6dd0a0c64a2596130fb35642a38

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page