Skip to main content

BlurHash encoder implementation for Python

Project description

blurhash-python

This is an encoder for the BlurHash algorithm. To find out more about BlurHash, see https://github.com/woltapp/blurhash.

Installation

Install blurhash with pip

$ pip install blurhash-python

or pipenv

$ pipenv install blurhash-python

Usage

Create blurhash from image file

import blurhash

with open('image.jpg', 'rb') as image_file:
    hash = blurhash.encode(image_file, x_components=4, y_components=3)

Alternatively, scale the image to produce a faster hash, and create a blurhash from the in-memory image directly

import blurhash
from PIL import Image

with Image.open('image.jpg') as image:
  image.thumbnail(( 100, 100 ))
  hash = blurhash.encode(image, x_components=4, y_components=3)

You can also pass file name as parameter to the function

import blurhash

hash = blurhash.encode('image.jpg', x_components=4, y_components=3)

y_components and x_components parameters adjust the amount of vertical and horizontal AC components in hashed image. Both parameters must be >= 1 and <= 9.

Development

Install development requirements and package in editable mode

$ pipenv install --dev

Tests

Run test suite with pytest in virtual environment

$ pytest

Use tox to run test suite against all supported python versions

$ tox

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

blurhash-python-1.2.2.tar.gz (178.3 kB view details)

Uploaded Source

Built Distributions

blurhash_python-1.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (33.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

blurhash_python-1.2.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (34.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

blurhash_python-1.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (33.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

blurhash_python-1.2.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (34.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

blurhash_python-1.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (33.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

blurhash_python-1.2.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (34.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

blurhash_python-1.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (33.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

blurhash_python-1.2.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (34.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

blurhash_python-1.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (33.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

blurhash_python-1.2.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (34.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

File details

Details for the file blurhash-python-1.2.2.tar.gz.

File metadata

  • Download URL: blurhash-python-1.2.2.tar.gz
  • Upload date:
  • Size: 178.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for blurhash-python-1.2.2.tar.gz
Algorithm Hash digest
SHA256 f2dbb8a58c5a299c8fca81112e52471a15cff38020ca9a65dae96a777609b8d4
MD5 b89d577ec546da29a50627819032ece7
BLAKE2b-256 77a39a94cb58332bf0ca76176389f818f37521515ce82acd7d7fed5d15e27150

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c05fc979cec17f10f903c0787398f5c26d970aaac39beeebcdd0480930b583c6
MD5 b0ccc17a7833a60a03eb81ab4b1342cf
BLAKE2b-256 c15d4b6fb56cd800c7dd57af7a976fdeafc48643410436e3713eb6241f755413

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a494c3f0d6935a329b14c153082ecdea4040a6810b003cd4fff908b3e5654acd
MD5 5e3d5134f464bd662be799fb4aa8f3f7
BLAKE2b-256 3e73893abe41048533637431489780115dd5ac0c7a38372b08840bd88c010967

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 825eaa6c83595e239b533ab8f7919b20469e6bf5e3d41d6e424e671db45a06f5
MD5 d28491230169540215f938bb80a666ed
BLAKE2b-256 3a13ad2d144f7d5d8668ac01f25c32fa0f188b2f939b4cf271f86d6f3fc77d50

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d704e3b0f206c6aab5fb64ddcfddcaa3a1b964f2d6c5a6a6702452ae055ea41
MD5 c08be568cbb84c27ad5e1c9d71bf9a39
BLAKE2b-256 b90bd45bda75c7702a84d1230f6280b353255c2e8ddb88ecce2c8badaf40a482

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a37675ff297e9698068d3537401a2ce4716a7ef03428cdaf0ea5a73c07a48a81
MD5 b4482c990fb8fefd146ae8336119480c
BLAKE2b-256 7fa6daaba4e59f1e9e4f1fc8daa92be9b3ded23b46b7e8f07f2871ea952c8f4b

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 01f933a2ac5e25c79aedcd8dc01195c7abf4f1ae412da186a15e5f04baaccdc5
MD5 0ef38669acfcc17ab0e41c1fe0e1a98e
BLAKE2b-256 b525f6ce3eee40352af7571c230a69cdfdd48e9b92a10df78f2245cb7a620959

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cfe467fcb1d32dcc5a17feb1f55e5cee3c293a1f2c6141f7329926eab5fc6fe4
MD5 3139815317b7f2826c1989830a7937a6
BLAKE2b-256 1a626d71cd4dfa050f3f1de003a04e596783d28e9a262335a7561d6684a87ae8

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc983cf7d42e033e0326f06da2d470947916103c8d4362d6a87ef522db368524
MD5 a9fe626c01e86ccd96408a673c461693
BLAKE2b-256 9160ff01b3778880faa58ee03e6d4ce66c668c451c62cb3d51b214826f3d4df6

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be8ccbc972e8b9d9fcb2c23b871e1106c4fdb4bcacd2643174e6cad4128184a2
MD5 89c4422b75639260eb38b609b08e8288
BLAKE2b-256 7cb1beab534e319aad7df3abf2aeef6bf3c5b64d71be0c44ca0ab692e1aaf0f3

See more details on using hashes here.

File details

Details for the file blurhash_python-1.2.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blurhash_python-1.2.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6c857df119dcd03fb0371954e809ad57dfe1846ca4eb8bc7b732a73ae19d42c
MD5 b6308a0f8a21476af84e170b0ead4551
BLAKE2b-256 693336ec3a9d158df48686291d03213a91c3fa7524a861903a0b356244671327

See more details on using hashes here.

Supported by

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