SVG avatar library for Python
Project description
python_avatars
Avatar library in Python
Table of contents
Features
- Highly customizable. Design your own clothes, hair styles, eyes... and add them to the library copying the svg files into a directory
- Vanilla Python. No external libraries needed
- The library contains some colors for clothes, hair and skin and supports user defined colors using hex encoding
- Pure SVG
- Random avatar generation
Install
Using pip, from PyPi (latest stable release):
pip install python-avatars
Using pip, from this repository (May not be stable!):
git clone https://github.com/ibonn/python_avatars.git python_avatars
cd python_avatars
pip install -e .
Usage
Create your own avatar
import python_avatars as pa
my_avatar = pa.Avatar(
style=pa.AvatarStyle.CIRCLE,
background_color=pa.BackgroundColor.BLACK,
top=pa.HairType.STRAIGHT_2,
eyebrows=pa.EyebrowType.DEFAULT_NATURAL,
eyes=pa.EyeType.DEFAULT,
nose=pa.NoseType.DEFAULT,
mouth=pa.MouthType.EATING,
facial_hair=pa.FacialHairType.NONE,
# You can use hex colors on any color attribute...
skin_color="#00FFFF",
# Or you can use the colors provided by the library
hair_color=pa.HairColor.BLACK,
accessory=pa.AccessoryType.NONE,
clothing=pa.ClothingType.HOODIE,
clothing_color=pa.ClothingColor.HEATHER
)
# Save to a file
my_avatar.render("my_avatar.svg")
Create a random avatar
import python_avatars as pa
# Completely random avatar
random_avatar_1 = pa.Avatar.random()
# Completely random avatar except for the hat
random_avatar_2 = pa.Avatar.random(top=pa.HatType.HAT) # More attributes can stay fixed
# Fixed avatar but random clothes
random_avatar_3 = pa.Avatar(
style=pa.AvatarStyle.CIRCLE,
hair_color=pa.HairColor.BLACK,
accessory=pa.AccessoryType.NONE,
clothing=pa.ClothingType.pick_random(), # The clothes are chosen randomly
)
Custom shirt text
When using the graphic shirt, - ClothingType.GRAPHIC - you can set a custom text if you want to.
import python_avatars as pa
pa.Avatar(
style=pa.AvatarStyle.CIRCLE,
background_color='#FF00FF',
# Choose graphic shirt
clothing=pa.ClothingType.GRAPHIC_SHIRT,
clothing_color=pa.ClothingColor.GRAY_02,
# Important to choose this as shirt_graphic, otherwise shirt_text will be ignored
shirt_graphic=pa.ClothingGraphic.CUSTOM_TEXT,
shirt_text='Chess'
).render("avatar_text.svg")
will output the file avatar_text.svg:
Expand the library
Suppose you have a file called suit.svg that looks like this
You can add it to the library just by running
from python_avatars import install_part
# Install the new part
install_part("suit.svg", pa.ClothingType)
And then use it
suit_avatar = pa.Avatar.random(
clothing=pa.ClothingType.SUIT
)
suit_avatar.render("suit_avatar.svg")
Which outputs the file suit_avatar.svg that looks like this
The name of the newly added value will be exactly the name of the svg file converted to uppercase replacing all non alphanumeric chars with underscores and removing all leading digits.
Uninstalling the installed part is as easy as installing it
from python_avatars import uninstall_part, ClothingType
uninstall_part(ClothingType.SUIT, confirm=False) # confirm=False will not prompt for confirmation
License
This project is licensed under the MIT License - see the LICENSE file for details
Acknowledgments
- Avatars designed by Pablo Stanley (https://avataaars.com/)
- Additional avatar parts from blush.design, designed by Pablo Stanley (https://blush.design/)
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
Built Distribution
File details
Details for the file python_avatars-1.4.1.tar.gz
.
File metadata
- Download URL: python_avatars-1.4.1.tar.gz
- Upload date:
- Size: 215.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 133dc0e1dfd778f0287aa6b6697da2677aeb3ce985ebf908205068e963165b0e |
|
MD5 | d00a674684b051dab3b31e2354a1a536 |
|
BLAKE2b-256 | c2b6cca0fe90db8dd804a81dc1e428f40e168ac194d9a14d2b5268cdc45ef5d4 |
File details
Details for the file python_avatars-1.4.1-py3-none-any.whl
.
File metadata
- Download URL: python_avatars-1.4.1-py3-none-any.whl
- Upload date:
- Size: 301.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef97b1f8ac23583367705f876fbbac1cc118435982532d882ccc788e95663722 |
|
MD5 | 0022af0a93aa7024f65b73f9be3c8a60 |
|
BLAKE2b-256 | b050a6c79dd2e1b9de1aa64f3b38e10be972308dd004f94ac76f6ea6060c9fd5 |