Skip to main content

A python wrapper for DiceBear's avatar generating API.

Project description

DiceBear Py Wrapper

Downloads Downloads
PyPI GitHub issues PyPI - Python Version GitHub Maintenance PyPI - Status

Always keep an eye on https://dicebear.vhjan.me/ for updates and warnings about this packages!

dicebear is a Python API wrapper for https://dicebear.com. Using this wrapper you can get custom avatars for your program.
For an example go to examples/dicebear.py.

Other languages

If you want to use Dicebear avatars but don't use Python, you can use the dicebear Golang package or the official JS/TS package.

Useful links

Changelog

Find the changelog here: https://dicebear.vhjan.me/changelog

How to install

Run pip install -U dicebear
If that doesn't work try py -m pip install -U dicebear
If that still does not work, try replacing py with python or python3

Usage

Important note: Pillow is not a required dependency, it's only required when you want to be able to edit the avatar images (using DAvatar.pillow()). When using a PIL function while it's not installed it will raise dicebear.errors.PILError.

When the environment variable ENABLE_PYTHON_DICEBEAR_USAGE_STATS is set to true, an API will be pinged on most function calls to update this package's usage stats. This will be used to analyse Dicebear's usage and improve your overall experience, but may have performance costs.

import PIL.Image
import os
from dicebear import DAvatar, DStyle, DOptions, DColor, DFormat, bulk_create

# Enable anonymous usage statistics
os.environ['ENABLE_PYTHON_DICEBEAR_USAGE_STATS'] = 'true'

# Creating options
options = DOptions(
    backgroundColor=DColor("00ddd0"),
    rotate=90
)

# Making a DAvatar object
av = DAvatar(
    style=DStyle.pixel_art,
    seed="John Apple",
    options=options
)
print(av.url_svg)  # Prints the svg url

# Editing the DAvatar object
av.edit(
    extra_options=DOptions(backgroundColor=DColor("000000"))
)
# Using `extra_options` keep the `rotate` option but override the `backgroundColor` option

print(av.url_webp)  # Prints the webp url

# Editing the style specific customisations
av.customise(
    blank_options={
        "face": "variant04"
    }
)
# Using `blank_options` will delete your previous customisations for this DAvatar and generate new ones

print(av.url_png)  # Prints the png url

# Saving an avatar to your device
av.save(
    location=None,  # Passing `None` will save it in the current working directory
    file_name="dicebear_avatar",
    file_format=DFormat.svg,
    overwrite=True,
    open_after_save=False
)

# Converting the DAvatar object into a PIL.Image.Image object
av_img: PIL.Image.Image = av.pillow()

# Opening and viewing the DAvatar image
av.open(use_pil=True)  # or av.view()

# Creating multiple random avatars of the same style at once
avatars: list = bulk_create(style=DStyle.random(), amount=10)

CLI Usage

Dicebear has a CLI package that uses Python to generate avatars quickly. You can't customize each avatar, to do that you'll need to use the Python module.

To use the CLI run pip install dicebear-cli in a terminal. Documentation can be found here: https://github.com/jvherck/dicebear-cli.

Customization

Customize your avatars with these possibilities.

Styles

All the possible avatar styles.
https://dicebear.com/styles

  • adventurer
  • adventurer-neutral
  • avataaars
  • avataaars-neutral
  • big-ears
  • big-ears-neutral
  • big-smile
  • bottts
  • bottts-neutral
  • croodles
  • croodles-neutral
  • dylan
  • fun-emoji
  • glass
  • icons
  • identicon
  • initials
  • lorelei
  • lorelei-neutral
  • micah
  • miniavs
  • notionists
  • notionists-neutral
  • open-peeps
  • personas
  • pixel-art
  • pixel-art-neutral
  • rings
  • shapes
  • thumbs
  • toon-head

Base Options

All the possible options for the avatar. These options work for all the styles.

  • seed (type: str) - the seed for the avatar generator, determine its basic looks
  • flip (type: bool) - flips the image vertically (default False)
  • rotate (type: int) - rotates the avatar (default 0, min 0, max 360)
  • scale (type: int) - the scale of the avatar drawing itself (default 100, min 0, max 200)
  • radius (type: int) - the radius of the avatar (default 0, min 0, max 50)
  • size (type: int) - the size of the avatar (px) (default 256, min 1, max 256)
  • backgroundColor (type: DColor("transparent") ) - the background color of the avatar. this can be a list of strings if you have backgroundType set to "gradientLinear". (default transparent)
  • backgroundType (type: str ) - set the background to either gradientLinear or solid (default solid)
  • backgroundRotation (type: int ) - rotate the background if backgroundType is set to gradientLinear (default 0)
  • translateX (type: int) - move the avatar horizontally (default 0, min -100, max 100)
  • translateY (type: int) - move the avatar vertically (default 0, min -100, max 100)
  • randomizeIds (type: bool) - randomize the IDs in the generated SVG/XML, can be useful if the avatars are included directly in HTML and you want to avoid ID conflicts (default false)

Specific Style Options

Specific options to get a more detailed avatar. This is different for every style.
Click the style to see its options.

Formats

These are the only supported formats.
If you have Pillow (PIL) installed you can convert DAvatar to a PIL.Image.Image object to get a wider range of formats (Pillow doesn't support svg).

  • DFormat.svg (default)
  • DFormat.webp
  • DFormat.avif
  • DFormat.png
  • DFormat.jpg
  • DFormat.jpeg
  • DFormat.json

Credits

Special thanks to DiceBear (Florian Körner) for making this amazing API and to all artists for creating these avatars!

Disclaimer: this repository and its owner are not affiliated with DiceBear.

Licenses and privacy policy

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

dicebear-3.9.5a3.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

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

dicebear-3.9.5a3-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file dicebear-3.9.5a3.tar.gz.

File metadata

  • Download URL: dicebear-3.9.5a3.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dicebear-3.9.5a3.tar.gz
Algorithm Hash digest
SHA256 0276ce8f2144bdedbb3eea08eab763016328b0e4805f56ce03083bd657e2f7c2
MD5 e8c76770a6e33f3696973ad9a68cc46c
BLAKE2b-256 58d82ab0fd382fd569614a16193b42e5f0a05b61668c1e0c537a1eb3a59e2df2

See more details on using hashes here.

Provenance

The following attestation bundles were made for dicebear-3.9.5a3.tar.gz:

Publisher: publish.yml on jvherck/dicebear

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

File details

Details for the file dicebear-3.9.5a3-py3-none-any.whl.

File metadata

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

File hashes

Hashes for dicebear-3.9.5a3-py3-none-any.whl
Algorithm Hash digest
SHA256 aa7912d9c9076e55beec60f7792b541c690ba92011f01e967057bb19355b8e9b
MD5 222cd69e142d166cfe8d78b8d624f6a0
BLAKE2b-256 7593c01a3695d1a0507d9c09ab231b467d6e9474faeeb5d4e28ffb741fec5b8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dicebear-3.9.5a3-py3-none-any.whl:

Publisher: publish.yml on jvherck/dicebear

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