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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |