
Product
Redesigned Repositories Page: A Faster Way to Prioritize Security Risk
Our redesigned Repositories page adds alert severity, filtering, and tabs for faster triage and clearer insights across all your projects.
Welcome to the Python avatar generator for absolute nerds.
Current version: 0.4.3
View changes here.
Remember those good old days when your own imagination was a big part of the computer gaming experience? All the limitations of the hardware forced you to fill the void left by poorly pixelated images by yourself. Well, pagan tries to give back some of those nostalgic feelings by providing identicons in an oldschool look that are inspired from retro roleplaying adventure games.
Each string input will be hashed and a unique avatar image is generated. The purpose of pagan is to use it for generating a user image in any web application. It is is meant to replace default user images when creating new accounts or to enhance comment sections, e.g. visualizing the author's IP address or username.
The software is currently under development and features the following functions:
###Example avatars hashed with SHA512:
Input | Avatar |
---|---|
pagan | ![]() |
python | ![]() |
avatar | ![]() |
github | ![]() |
retro | ![]() |
piece of cake | ![]() |
hash me if you can | ![]() |
###Installation:
Clone this repository:
>> git clone https://github.com/daboth/pagan.git
and install manually:
>> python setup.py install
or install with pip:
>> pip install pagan
###Python usage example:
# Import the pagan module.
import pagan
# Acquire an arbitrary string.
inpt = 'pagan'
# Use pagan to generate the avatar object based on that input.
# Optional: You can choose which hash function should be used.
# The functions are available as constants.
# Default: MD5.
img = pagan.Avatar(inpt, pagan.SHA512)
# Open the avatar image in an
# external image viewer.
img.show()
# Set an output path and a file name.
# You don't need to specify a file ending.
# Choose a path depending on your OS.
outpath = 'output/'
filename = inpt
# Saves the avatar image as a .png file
# by omitting the path and name. The
# file endings will be generated automatically.
img.save(outpath, filename)
# You can change the avatar input and
# hash function anytime.
img.change('new input', pagan.SHA256)
###Command Line Interface
With the pagan command line interface you can generate avatars without writing python scripts.
>> pagan [-h] [--show] [--output OUTPUT] [--hash HASH] input [input ...]
Simply typing:
>> pagan hello
will generate an avatar from the string 'hello' and save it in your current working directory. For more information, use the help parameter.
>> pagan -h
###Webserver
Pagan can be run in a simple demo webserver application. To access the pagan demo, you need to run the script from the webserver directory. Beware: This is a demo application and it will fill your temp directory with pagan generated image files. Do not run in production.
>> cd /tools/webserver/
>> python webserver.py
The webserver will serve on your localhost at port 8080. Open this adress in your browser window:
http://127.0.0.1:8080/
###Supported Hashes
Hash | Constant |
---|---|
md5 | pagan.MD5 |
sha1 | pagan.SHA1 |
sha224 | pagan.SHA224 |
sha256 | pagan.SHA256 |
sha384 | pagan.SHA384 |
sha512 | pagan.SHA512 |
###Testing
To run the pagan tests, you need to install additional python modules. You can choose between pytest and tox. Configure the tox.ini to test different python versions.
####Using py.test
>> pip install pytest
>> pytest
####Using tox
>> pip install tox
>> tox
FAQs
python avatar generator for absolute nerds
We found that pagan demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Our redesigned Repositories page adds alert severity, filtering, and tabs for faster triage and clearer insights across all your projects.
Security News
Multiple deserialization flaws in PyTorch Lightning could allow remote code execution when loading untrusted model files, affecting versions up to 2.4.0.
Security News
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.