Generate fun, unique animal ID's for your projects!
Tired of boring, lame, untypeable and hard-to-remember randomly generated ID's?
Be bored no more with animalid, the latest and greatest in pseudorandom animal technology!
Add animalid to your project today and enjoy all these great features:
- Pseudorandom animal ID's!
- Statistics!
Installation is easy!
Simply run
pip install -e [email protected]:alex-dr/animalid.git@origin/master#egg=animalidOr clone this repository and run
pip install .Or put this line in your requirements.txt:
-e git://github.com/alex-dr/animalid.git@origin/master#egg=animalid
animalid is easy to use!
After adding animalid to your setup.py or requirements.txt file for your project, generate fun, unique animal-based pseudo-random ID's like this:
from animalid.random_id import generate_animal_id
def great_awesome_code(fun_parameters):
"""Informative, pep257-compliant docstring!"""
do_neat_things()
cool_animal_id = generate_animal_id()
spectacularly_successful_result = do_things_with(cool_animal_id)Statistics about the probability of collisions, expected numbers of collisions, and more, see the animalid.probability module.
from animalid.probability import print_collision_probabilities
print_collision_probabilities()Keys will be randomly drawn from the keyspace using the builtin random library (random.choice()).
Effort should be made to ensure that the keyspace is uniform, that is, no ID is more likely to be chosen than any other.
Right now the keyspace size is just over two billion.
When it comes to preventing ID collisions, this is not a large number.
We should expect at least one collision in about 70,000 trials, which takes about 110 ms to generate on my laptop.
Right now, ID's are guaranteed to be at most 62 characters in length.
Want to contribute to animalid?
Great!
Just fork this repository, make your changes, test them out, and then submit a pull request!
Don't forget to add awesome unit tests and follow existing guidelines
To test your changes, you're going to want to install the test dependencies.
Simply run
pip install --editable .[testing]
pytest
pydocstylePlease contribute original ASCII art to illustrate your favorite animal ID's!
><(((v(*>
weird_lumber_goatfish