Skip to main content

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}
}

Metadata

Release files for squirrel-core 0.20.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for squirrel-core 0.20.2
File Size Uploaded Provenance Actions
squirrel_core-0.20.2.tar.gz 61.8 kB Without provenance Details for squirrel_core-0.20.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for squirrel-core 0.20.2
File Interpreter ABI Platform Actions
squirrel_core-0.20.2-py3-none-any.whl Python 3 none any Details for squirrel_core-0.20.2-py3-none-any.whl

Total release size: 146.3 kB

Release files / squirrel_core-0.20.2.tar.gz

Download URL squirrel_core-0.20.2.tar.gz
Size 61.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d45649bb2027a9fedb5643ed7451127ee49e881bdbbd70b485c6e47893d95666
BLAKE2b-256 checksum
How to use checksums
b480700889553f84303c5e5f50013aa12bb4f923f77bd74ab57d7c403080aa10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.20

Release files / squirrel_core-0.20.2-py3-none-any.whl

Download URL squirrel_core-0.20.2-py3-none-any.whl
Size 84.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c37ced909868e873038b871ff143da30d8118e912affaabf237c45389038c8b5
BLAKE2b-256 checksum
How to use checksums
244d8fa2edf97c31af9d0671c7f85c90d4fc3eac2553e61f3f2b6f3f74b8bf14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.20

Security for squirrel-core 0.20.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.20.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page