Python3 library for generate a variety of identicons
Project description
CustomIdenticon
Python library for generate a variety of identicons.
Features
- 3 different types of identicons
- change the final image size (size of elements, number of elements)
- change border size
- change background color
- change the transparency of elements
- change the output format (PNG, JPEG, etc.)
- choice of hashing algorithm (including your own)
Installation
pip install customidenticon
Usage
End image size = size * block_size + border * 2
import customidenticon
identicon = customidenticon.create(
"Test data", # Data
type="pixels", # Type of algorithm (pixels, blocks or layers)
format="png", # Output format
salt="", # salt for more variants
background="#f0f0f0", # background color
block_visibility=140, # transparency of elements in the image (0-255)
block_size=30, # size of elements (px)
border=25, # border (px)
size=5, # number of elements
hash_func=None # hash function (auto)
)
Save
import customidenticon
identicon = customidenticon.create("Test data", size=5)
# identicon = b"\x89PNG\r\n\x1a\n\x00\x00\x00..."
# save to file
with open("identicon.png", "wb") as f:
f.write(identicon)
# to image
import io
from PIL import Image
image = Image.open(io.BytesIO(identicon))
Hash algorithm
Use hashlib for change algorithm
import hashlib
import customidenticon
identicon = customidenticon.create("Test data", hash_func=hashlib.sha3_256)
Example custom hash algorithm
import customidenticon
class MySuperHashAlgorithm:
def __init__(self, *args):
pass
def hexdigest(self):
return "0"*200
identicon = customidenticon.create("Test data", hash_func=MySuperHashAlgorithm)
Examples
import customidenticon
# Create github-like (5x5)
identicon1 = customidenticon.create("Test") # 200x200px (default for all)
# or
identicon1 = customidenticon.create("Test", type="pixels")
# Create "pixels" type (6x6)
# End image size 200x200px (6 * 25 + 25 * 2)
identicon2 = customidenticon.create("Test", size=6, block_size=25)
# Create "layers" type (3 layer)
# End image size 200x200px (default size = 3 and block_size = 50)
identicon4 = customidenticon.create("Test", type="layers")
# Create "layers" type (8 layer)
# End image size 200x200px (8 * 20 + 20 * 2)
identicon5 = customidenticon.create("Test", type="layers", size=8, block_size=20, border=20)
# Create "blocks" type (3x3) (200x200px)
identicon6 = customidenticon.create("Test", type="block", block_visibility=100)
Result
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
customidenticon-0.1.5.tar.gz
(3.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file customidenticon-0.1.5.tar.gz.
File metadata
- Download URL: customidenticon-0.1.5.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5d50ff29f28230ecc7299eb27dd349e8e30e72761c7335505083b4f871f70f4
|
|
| MD5 |
e81256fb5906556f0facb516b9dc4d21
|
|
| BLAKE2b-256 |
7ace3cd490ec7443f53a27e6981f523eb7be1a04c87d6c60d5906f4de80e79a7
|
File details
Details for the file customidenticon-0.1.5-py3-none-any.whl.
File metadata
- Download URL: customidenticon-0.1.5-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a49d288a2adc466f4feed7b49cf9691a8d9699d01892c810e70aab4a237f30cb
|
|
| MD5 |
bf23300e570df1a8bc0325ead9d5e122
|
|
| BLAKE2b-256 |
f5b16be651171554536b7b0eb9da567c746f587a463e6fe453071bf2c351288b
|