SkillAgentSearch skills...

PyMarkovNameGenerator

Markov chain-based word generator based on Sam Twidale's implementation in Haxe.

Install / Use

/learn @bicobus/PyMarkovNameGenerator
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

.. image:: https://img.shields.io/pypi/pyversions/markovname :target: https://pypi.org/project/markovname

.. image:: https://github.com/bicobus/pyMarkovNameGenerator/actions/workflows/tests.yml/badge.svg :target: https://github.com/bicobus/pyMarkovNameGenerator/actions/workflows/tests.yml

======================= pyMarkovNameGenerator

Markov chain-based name generator based on Sam Twidale_ implementation in Haxe. consider this work to be a python port with functionnally the same level of functionality. Feed it a list of training data, and it'll spew out a bunch of new words.

It comes with the training data compiled by Sam, and made available under Creative Commons BY-NC 4.0.

If you appreciate this work, consider buying me a coffee_.

Install using::

pip install markovname

Requirements

This software has been developped and tested with python 3.9. Any earlier version might not work.

A minor dependency on wcwidth_, make sure it is installed using pip, your package manager or whatever method you are familiar with. It is only necessary if you plan to use the main module. If you're only interested in the generator, then wcwidth can be ignored.

If you have poetry_ available, you can initialize a virtual environment with::

poetry install

Usage

The software reads sample data from json formatted datasets. See the data folder of this repository for examples.

::

usage: main.py [-h] [--list] [-n NUMBER] [-o ORDER] [-p PRIOR] [-g KEY] [-V] DATA

positional arguments: DATA Path containing the data sets.

optional arguments: -h, --help show this help message and exit --list List the various dataset available to the software. (default: False) -n NUMBER, --number NUMBER Amount of names to generate. (default: 1) -o ORDER, --order ORDER Highest order of model to use. Will use Katz's back- off model. It looks for the next letter based on the last "n" letters. (default: 3) -p PRIOR, --prior PRIOR The prior adds a constant probability that a random letter is picked from the alphabet when generating a new letter. Must be a number between 0 and 1. (default: 0) -g KEY, --generate KEY Which dataset to use. If not specified, use a random available set instead. Can be used multiple times to combine datasets. (default: None) -V, --version show program's version number and exit

.. _Sam Twidale: https://github.com/Tw1ddle/MarkovNameGenerator .. _wcwidth: https://github.com/jquast/wcwidth/ .. _poetry: https://python-poetry.org/ .. _buying me a coffee: https://ko-fi.com/S6S36HZ6I

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated7d ago
Forks2

Languages

Python

Security Score

95/100

Audited on Mar 24, 2026

No findings