Skip to main content

Pooch downloader powered by Rattler

Project description

pooch-rattler

GitHub Actions Workflow Status PyPI - Version PyPI - Python Version BSD-3-Clause License
basedpyright pyrefly ty Ruff uv Pixi

Pooch downloader powered by Rattler.

Features

  • Native Rust performance
  • Work with anyio, asyncio and trio
  • Drop-in replacement of the global default Pooch downloader
  • Reqwest middlewares which bring the missing GCS, S3 and retry support in Pooch

Get started

import anyio.to_thread
import pooch
import pooch_rattler

# Register global default
pooch_rattler.install()

# Synchronous download
downloaded_file = pooch.retrieve("https://example.com/index.html")

# Asynchronous download
async def async_download():
    # We still need a worker thread to look for existing cache,
    # validate checksums and decompress downloaded files
    return await anyio.to_thread.run_sync(
        pooch.retrieve, "https://example.com/index.html")

cached_file = anyio.run(async_download)
assert cached_file == downloaded_file

Downloaders can also be created and invoked explicitly. Examples can be found in the unit tests.

Project details


Download files

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

Source Distribution

pooch_rattler-0.2.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pooch_rattler-0.2.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file pooch_rattler-0.2.0.tar.gz.

File metadata

  • Download URL: pooch_rattler-0.2.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pooch_rattler-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e6034921ed4b12e66a7e7b2e3354afc4f9a34038607d9257401d22773bad531a
MD5 3b26458d926da4fb5ec793f03803f554
BLAKE2b-256 d078473a57f02f6d9aaa8e116bb4ae565b15aae6fd574286ca10ff37b667d4f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pooch_rattler-0.2.0.tar.gz:

Publisher: publish-pypi.yml on hingebase/pooch-rattler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pooch_rattler-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pooch_rattler-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pooch_rattler-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b14ceb55437f0e43c9f1f09f0c8cd11b6f63dce06c186e13cb13bea3dcc12b97
MD5 a219e1d75cd5250768e3b25ce4f15b5e
BLAKE2b-256 fe26676ebb8fa2ffd7bd53f52c1e5266ea3439475896839c8b55db7049a4ac5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pooch_rattler-0.2.0-py3-none-any.whl:

Publisher: publish-pypi.yml on hingebase/pooch-rattler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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