Skip to main content

Generate random words based on Markov chains

Project description

Gibi is a random word generator, based on Markov chains.

It analyzes a text in order to deduce the probability of transition from one character to another, and then generates a completely random word that will look alike what you have feeded it as input.

Build status

develop:build-develop
master:build-master

Usage

Gibi can be used either as a CLI tool, either as a library.

CLI

The very simple rand_word.py will analyze any text file, and generate a random word based on it.

$ rand_word.py french_cities.txt
jambous-dirchetomeilla

API

The best way to see how to use the API is to look how rand_word.py works:

with codecs.open(path, 'r', encoding='utf-8') as f:
    n = FrenchNormalizer(f)
    m = Matrix()

    m.feed(n)

print(m.make_word())

You can also make something deterministic by providing a seed to make_word(). Given the same Matrix and the same seed, you will always get the same result. The provided seed is anything that Python’s random would accept. See the following example:

assert m.make_word(42) == m.make_word(42)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for gibi, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size gibi-0.1.1.tar.gz (4.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page