Giter VIP home page Giter VIP logo

markovy's Introduction

markovy

PyPI version Build Status Coverage Status Code Health GPL Licence

Parody generation with Markov Chain.

Installation

$ pip install markovy

Usage Example

from markovy import MarkovChain

with open('./shakespeare.txt') as f:
  mc = MarkovChain(f)

print(mc.make_sentence())
# output: ["For in thy orisons Be all my sins rememb'red."]

Supported Python Versions

  • python 3
  • python 2
  • pypy3
  • pypy

Running Tests

To run tests, you have to install unittest first:

$ pip install unittest

Then, just run tests.py:

$ python tests.py

API Reference

__init__()

__init__(dataset)
  • dataset:
    • file-like object: Dataset can be file-like object as in usage example above.
    • string: A string to be parsed can be given as dataset.
    • list: A parsed word list can be given as dataset.

make_word()

make_word(count=1)

Generates random word from the dataset.

  • count (Integer): How many what will you generate? Default value is 1.

make_sentence()

make_sentence(count=1)

Generates random sentences from the dataset.

  • count (Integer): How many what will you generate? Default value is 1.

make_paragraph()

make_paragraph(count=1, minimum=5, maximum=10)

Generates random paragraphs from the dataset.

  • count (Integer): How many what will you generate? Default value is 1.
  • minimum (Integer): Minimum sentence count. Default value is 5.
  • maximum (Integer): Maximum sentence count. Default value is 10.

make_text()

make_text(count=1, minimum=5, maximum=10)

Generates random texts from the dataset.

  • count (Integer): How many what will you generate? Default value is 1.
  • minimum (Integer): Minimum sentence count. Default value is 5.
  • maximum (Integer): Maximum sentence count. Default value is 10.

PS: All results will be returned as list.

Contributors

Contributing

  • Random walking method is used on the current version. You can add weights for each words in chain to generate more logical outputs.

Thanks

  • The idea came up while discussing with Fatih Erikli and he suggested me to write a Python module for Markov Chain algorithm.

License

Python module for Markov Chain algorithm.
Copyright (C) 2016  Halil Kaya

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

See Full License

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.