Metadata-Version: 2.1
Name: sargon
Version: 0.0.1
Summary: A random generator of codes, names and other words
Home-page: https://github.com/santiagobasulto/sargon
License: MIT
Author: Santiago Basulto
Author-email: santiago.basulto@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Project-URL: Documentation, https://github.com/santiagobasulto/sargon
Project-URL: Repository, https://github.com/santiagobasulto/sargon
Description-Content-Type: text/markdown

# Sargon: Random Code Generator

`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.

### Basic usage

#### Heroku

`heroku(code_length=4)`

Heroku codes have the form `ADJECTIVE-NOUN-CODE`:

Example:

```python
>>> from sargon import heroku
>>> heroku()
"valuable-period-6016"

>>> heroku(6)
"sweet-hat-673004"
```

#### YouTube

`youtube(length=11, avoid_confusing_chars=False, blacklist_symbols=None)`

Example:

```python
>>> from sargon import youtube
>>> youtube()
"dQw4w9WgXcQ"

>>> youtube(6)
"LNb-P0"

>>> youtube(6, blacklist_symbols='-')
"LNbP0X"
```

#### 6 Digit Generator

`six_digit()`

```python
>>> from sargon import six_digit
>>> six_digit()
"770584"
```

### Defining your own generators

Checkout `engines.py` for the list of available engines and the parameters they receive. Here's an example:

```python
>>> from sargon import engines, build_generator
>>> generator = build_generator(
    engines.CityWordEngine(country='United States'),
    engines.NumberEngine(4))
>>> generator.generate()
"bellview-5269"
```

### Why `sargon`?

I wanted to call the package [Hammurabi](https://en.wikipedia.org/wiki/Hammurabi), as the babylonian king that issued the [Code of Hammurabi](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/Sargon_of_Akkad) the emperor of the Akkadian empire, what is thought today to be the first empire in history.

