Skip to content

Batch downloader for polyhaven.com. Download 'HDRIs, Textures and Models' in any sizes with preview images from Poly Haven.

License

Notifications You must be signed in to change notification settings

agmmnn/polydown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

screenshot

GitHub release (latest by date) PyPI

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

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).
--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

License

MIT

About

Batch downloader for polyhaven.com. Download 'HDRIs, Textures and Models' in any sizes with preview images from Poly Haven.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages