Skip to main content

Batch downloader for polyhaven (polyhaven.com)

Project description

screenshot

GitHub release (latest by date) PyPI PyPI Downloads

Batch downloader for polyhaven.com. Download HDRIs, textures, and models in any sizes you want.
This project uses Poly Haven's Public API.

Installation

pip install polydown

Usage

Basic Commands

Download all HDRIs:

polydown hdris

Download all Textures:

polydown textures

Download all Models:

polydown models

Note: These commands will download all available sizes for every asset in the category.


Advanced Usage

Download specific sizes to a specific folder:

polydown hdris -f my_hdris_folder -s 2k 4k

Downloads all HDRIs in 2k and 4k resolution to the my_hdris_folder.

Download from a specific category:

polydown models -c decorative -f models_folder -s 1k

Downloads all "decorative" models with 1k textures into models_folder.

List available categories for an asset type:

polydown textures -c

Granular Texture & Model Selection:

You can specify the specific file format (e.g. png, jpg, exr) and specific maps (e.g. diffuse, roughness) for both textures and models.

# Download only PNG textures
polydown textures -tf png

# Download only Diffuse and Roughness maps
polydown textures --maps Diffuse Rough

# Combine them: Download only EXR Normal maps
polydown textures -tf exr --maps nor_gl

# Works for models too (downloads specific texture maps for the model)
polydown models -tf jpg --maps Diffuse -s 1k

Select model file formats:

By default, models downloads .blend files. Use -mf/--model-format to pick one or more formats. Available: blend, fbx, gltf, usd, usdc, usdz.

# Download both Blend and FBX
polydown models -s 2k -mf blend fbx

# Only FBX
polydown models -s 2k -mf fbx

# All common formats
polydown models -s 2k -mf blend fbx gltf usd

Arguments

Argument Description
asset_type Type of asset to download: hdris, textures, models.
-h, --help Show help message and exit.
-f, --folder Target download folder.
-c, --category Category to download (e.g., decorative, nature). If used without values, lists available categories.
-s, --sizes Size(s) of downloaded assets. Example: 1k 2k 4k.
-o, --overwrite Overwrite existing files. Otherwise, skips existing files.
-no, --noimgs Do not download preview, render, or thumbnail images.
-it, --iters Amount of iterations (limit number of assets).
-t, --tone Download 8K Tonemapped JPG (HDRIs only).
-ff, --fileformat File format for HDRIs (hdr, exr).
-tf, --texture-format File format for Textures/Models (jpg, png, exr).
-mf, --model-format Model file format(s) (blend, fbx, gltf, usd, usdc, usdz). Accepts multiple. Default: blend.
--maps Texture maps to download (e.g., Diffuse, Rough, nor_gl). If used without values, lists available common map types.
-w, --workers Amount of workers (threads) for concurrent downloads.
-v, --version Show program's version number and exit.

file structure

Development

This project uses uv for dependency management.

Setup

  1. Install uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Sync dependencies:

    uv sync
    
  3. Run the CLI:

    uv run polydown --help
    
  4. Run tests:

    uv run pytest
    

To-Do

  • Unit Tests
  • Progressbar for current download task(s)
  • Workers for concurrent downloads
  • Select the file format to download
  • Select model file format (blend, fbx, gltf, usd)

License

MIT

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

polydown-0.4.1.tar.gz (94.1 kB view details)

Uploaded Source

Built Distribution

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

polydown-0.4.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file polydown-0.4.1.tar.gz.

File metadata

  • Download URL: polydown-0.4.1.tar.gz
  • Upload date:
  • Size: 94.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for polydown-0.4.1.tar.gz
Algorithm Hash digest
SHA256 14775b4ae82a86e79bf04d9319790a58f4fa2bd6ffc2feba691ecf8b57e17fdd
MD5 75530b4db249f602921f68ee96fa003e
BLAKE2b-256 d865a3195ccb436fdb1c8feabd787ea057125433866d05507513f45b9608ec6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for polydown-0.4.1.tar.gz:

Publisher: release.yml on agmmnn/polydown

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

File details

Details for the file polydown-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: polydown-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for polydown-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 55820ea242400df63779f39d1d6abbada0105cd621a564e308cb10e2b3cf61e6
MD5 c9d69b3b4603061bd25dec4215d362e8
BLAKE2b-256 bbd0429b5883735fcc75c2330b34d9726f1e72d1aa532dfc0450f287c4850bfb

See more details on using hashes here.

Provenance

The following attestation bundles were made for polydown-0.4.1-py3-none-any.whl:

Publisher: release.yml on agmmnn/polydown

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