sargon
is a simple Python package (no external dependencies) to generate random (mnemonic) codes simulating Youtube or Heroku style. It's extensible to define your own rules too.
heroku(code_length=4)
Heroku codes have the form ADJECTIVE-NOUN-CODE
:
Example:
>>> from sargon import heroku
>>> heroku()
"valuable-period-6016"
>>> heroku(6)
"sweet-hat-673004"
youtube(length=11, avoid_confusing_chars=False, blacklist_symbols=None)
Example:
>>> from sargon import youtube
>>> youtube()
"dQw4w9WgXcQ"
>>> youtube(6)
"LNb-P0"
>>> youtube(6, blacklist_symbols='-')
"LNbP0X"
six_digit()
>>> from sargon import six_digit
>>> six_digit()
"770584"
Checkout engines.py
for the list of available engines and the parameters they receive. Here's an example:
>>> from sargon import engines, build_generator
>>> generator = build_generator(
engines.CityWordEngine(country='United States'),
engines.NumberEngine(4))
>>> generator.generate()
"bellview-5269"
>>> generator = build_generator(
engines.AdjectiveWordEngine(),
engines.CityWordEngine(country='United States'),
engines.NumberEngine(4))
>>> generator.generate()
"electric-knoxville-6863"
I wanted to call the package Hammurabi, as the babylonian king that issued the Code of Hammurabi, but there's another package named hammurabi
, so I went with another great ruler that I like to read about: Sargon the great the emperor of the Akkadian empire, what is thought today to be the first empire in history.