Documentation aussi disponible en français
qng, the Queb name generator.
To run qng, you will only need Python ≥ 3.4.
For installing, we recommend using the pip
package manager.
To install qng system-wide, run:
sudo pip3 install qng
To install qng manually from source, the steps are as follows:
git clone [email protected]:abusque/qng.git
cd qng
sudo ./setup.py install
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
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.
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.
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.