qng

The Queb name generator


Keywords
name, generator, quebec
License
MIT
Install
pip install qng==1.0.1

Documentation

qng

PyPI

Documentation aussi disponible en français

qng, the Queb name generator.

Requirements

To run qng, you will only need Python ≥ 3.4.

For installing, we recommend using the pip package manager.

Installing

To install qng system-wide, run:

sudo pip3 install qng

To install qng manually from source, the steps are as follows:

git clone git@github.com:abusque/qng.git
cd qng
sudo ./setup.py install

Using

Once installed, you can use qng by running the following command:

qng

This will generate a single random Queb name.

You can also generate names for a specific gender:

qng --gender male

Generate only part of a name:

qng --part first

Generate names according to their relative popularity:

qng --weighted

Generate a name formatted as "snake_case" without any diacritics (useful for naming your containers):

qng --snake-case

Here's how you could use this to name a Docker container:

docker run --name $(qng --snake-case) hello-world

To automatically use Queb names with Docker containers, see also dockeb.

All the above options may be combined if desired. Refer to the help for more details:

qng --help

Python API

You can also use qng through its Python API, for integration with other applications.

Here is a simple example of programmatic usage:

import qng.generator

generator = qng.generator.QuebNameGenerator()
name = generator.generate()
print(name)

The generate() function also supports the following options, with the same meaning as the corresponding CLI options:

import qng.generator

generator = qng.generator.QuebNameGenerator()
name = generator.generate(
    gender='male',
    part='first',
    snake_case=True,
    weighted=True,
)
print(name)

Refer to the documentation in the source file for more details.

Development

For local development of qng, you may use pipenv. Use pipenv install --dev to generate a virtual environment into which the dependencies will be installed. You may then use pipenv shell to activate that environment.

For publishing releases to PyPI, we recommend using Twine.

References

The data for qng was sourced from l'institut de la statistique for surnames, and from PrénomsQuébec.ca for first names (who in turn get their data from Retraite Québec's banque de prénoms).

Scripts used for scraping the data from the web pages can be found under the scripts/ directory.