Skip to main content

Download model files from local paths, HTTP, S3-compatible storage, GCS, and Git LFS.

Project description

model-downloader-util

Download or resolve model files from local paths, HTTP(S), S3-compatible storage (S3, MinIO, RustFS), Google Cloud Storage, and Git LFS.

Install

pip install modeldownloaderutil

From source:

uv sync

Usage

from modeldownloaderutil import download_model, cache_dir

path = download_model("s3://my-bucket/models/weights.onnx")
path = download_model("https://example.com/model.onnx", force_download=True)

Supported sources

Scheme Example
Local /path/to/model.onnx, ~/models/x.onnx
HTTP(S) https://host/path/model.onnx
S3 s3://bucket/key
MinIO minio://bucket/key (MINIO_ENDPOINT)
RustFS rustfs://bucket/key (RUSTFS_ENDPOINT)
GCS gs://bucket/object
Git LFS git+https://github.com/org/repo.git#path/in/repo.onnx

Cache

Default: ~/.cache/model-downloader (override with MODEL_CACHE_DIR).

~/.cache/model-downloader/
  s3/<bucket>/<key>
  gs/<bucket>/<object>
  url/<host>/<path>
  git/<repo_slug>/<file_path>

Environment

Copy .env.example to .env in the project root (loaded automatically on download_model).

Variable Purpose
MODEL_CACHE_DIR Download cache root (cache_dir())
RUSTFS_ENDPOINT Required for rustfs:// URLs
MINIO_ENDPOINT Required for minio:// URLs
MODEL_ACCESS_KEY / MODEL_SECRET_KEY S3-compatible credentials

Development

make test
make build

Publish to PyPI

Create an API token at pypi.org (scope: project modeldownloaderutil or entire account).

export UV_PUBLISH_TOKEN=pypi-xxxxxxxx
make publish

Dry run on TestPyPI first:

export UV_PUBLISH_TOKEN=pypi-xxxxxxxx
make publish-test
pip install --index-url https://test.pypi.org/simple/ modeldownloaderutil

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

modeldownloaderutil-1.0.2.tar.gz (39.5 kB view details)

Uploaded Source

Built Distribution

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

modeldownloaderutil-1.0.2-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file modeldownloaderutil-1.0.2.tar.gz.

File metadata

  • Download URL: modeldownloaderutil-1.0.2.tar.gz
  • Upload date:
  • Size: 39.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for modeldownloaderutil-1.0.2.tar.gz
Algorithm Hash digest
SHA256 33850636a0e2d127d6b151e8f12f9ddccf49483099bea45e35e3c963052ea683
MD5 c073ce32a82d36d27aec4cd25cdcba1f
BLAKE2b-256 eab6f02de7e9cd23cd2c9da9e06ca0bb1efc7769f59d3b2fbcfe3557b28042f2

See more details on using hashes here.

File details

Details for the file modeldownloaderutil-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: modeldownloaderutil-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for modeldownloaderutil-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5cd8f0faf468eca1435a95599c9e745cbcc79a8757b9e37f6a90c7b9c2cb72c2
MD5 8d0ff925c87cab41b755b945a582922a
BLAKE2b-256 347fe6f23d0e46dfe29b9a24d6e19e7cf232b356ed51107fc773b56ecbd0f949

See more details on using hashes here.

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