Skip to main content

rfsspec

Rust python FSs

Implements s3, gcs, azure blob and HTTP backends for fsspec using Rust.

Respects concurrency of many simultaneous requests as made by fsspec, but

  • does not need python asyncio,
  • releases the GIL,
  • can safely be called from multiple threads
  • is probably NOT fork-safe

Limitations

Currently only the methods cat_ranges, cat and cat_file are supported, enough to open a (consolidated) zarr dataset for reading.

Implementations

The http backend supports:

  • headers
  • method
  • ranges

The s3 implementation supports configuration by environment variables and .aws files, and options

  • profile
  • endpoint_url
  • anon
  • region
  • ranges
  • requester-pays

The GCS backend supports:

  • anon
  • ranges
  • requester-pays
  • assumes credentials via env variables and gcloud CLI

The Azure blob backend supports

  • anon
  • ranges
  • account/key auth (account always required)

Installation

> pip install -i https://pypi.anaconda.org/mdurant/simple rfsspec

Benchmarks

Latest results from examples/script.py:

Rust http: 0.1335
Rust s3: 0.1163
Rust anon s3: 0.0921
fsspec http: 0.1611
fsspec s3: 0.4758
fsspec anon s3: 0.4208

(multi-threaded benchmarks should be more meaningful)

Metadata

Release files for rfsspec 0.1.1

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

Built distributions (wheels)

Table of built distributions (wheels) for rfsspec 0.1.1
File
rfsspec-0.1.1-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.12+ x86-64 Details
rfsspec-0.1.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.12+ x86-64 Details
rfsspec-0.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64 Details
rfsspec-0.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details

Total release size: 25.3 MB

Release files / rfsspec-0.1.1-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL rfsspec-0.1.1-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 6.3 MB
Tags CPython 3.11 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
6cf19d8286b755a82bdab13f166057915915f6a9735403c3b5fbaabb97236298
BLAKE2b-256 checksum
How to use checksums
12b5b74e7d06ae88c109cf6477a6798b269df0b8a52a57a5a00768dd5e1fe849
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / rfsspec-0.1.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL rfsspec-0.1.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 6.3 MB
Tags CPython 3.10 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
6b77f672e1c9fad8a812a366dd3e531f4b971f725d24d81a48e71db64a4bc262
BLAKE2b-256 checksum
How to use checksums
74a27cc1c928abff30f5cbd022d5e5469da3650ae361428c0fdd5af372b964be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / rfsspec-0.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL rfsspec-0.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 6.3 MB
Tags CPython 3.9 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
7ea03debe8b598b90d5430d32de593980f46c48c839e8578c710beffe09b2889
BLAKE2b-256 checksum
How to use checksums
45995b1c17714267fdcebc97ee4e735e6d34c6bcb2c01ebde2e709e6ba1f7526
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / rfsspec-0.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL rfsspec-0.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 6.3 MB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
9ff798cb1f3eba71e2d33009634b2a65b309ca03adb06b68b237adff800c0119
BLAKE2b-256 checksum
How to use checksums
bfad15a15c9e18af6e42202101e2a40d5599e898acb2e170f1ce1b75f7338f60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.1.1 This release

4 release files

0.1.0

4 release files

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