Metadata-Version: 1.1
Name: markovchain
Version: 0.1.2
Summary: Markov chain generator
Home-page: https://github.com/dead-beef/markovchain
Author: dead-beef
Author-email: contact@dead-beef.tk
License: MIT
Description: markovchain
        ===========
        
        Overview
        --------
        
        Markov chain generator
        
        Requirements
        ------------
        
        -  `Python 3 <https://www.python.org/>`__
        
        Installation
        ------------
        
        .. code:: bash
        
            pip install markovchain
        
        .. code:: bash
        
            pip install markovchain[image]
        
        .. code:: bash
        
            git clone https://github.com/dead-beef/markovchain
            cd markovchain
            pip install -e .[dev]
        
        Building
        --------
        
        .. code:: bash
        
            ./build.sh
        
        Testing
        -------
        
        .. code:: bash
        
            ./test
        
        Module usage
        ------------
        
        -  `Module documentation <https://dead-beef.github.io/markovchain/>`__
        
        Examples
        ~~~~~~~~
        
        Text
        ^^^^
        
        .. code:: python
        
            from markovchain import MarkovBase, MarkovSqliteMixin
        
            class Markov(MarkovSqliteMixin, MarkovBase):
                pass
        
            markov = Markov(db='markov.db')
        
            with open('data.txt') as fp:
                markov.data(fp.read())
        
            with open('data2.txt') as fp:
                for line in fp:
                    markov.data(line, True)
            markov.data('', False)
        
            words = markov.generate(16) # generator
            print(*words)
        
            words = markov.generate(16, start=['sentence', 'start'])
            print(*words)
        
            markov.save()
        
            markov = Markov.load('markov.db')
        
        Image
        ^^^^^
        
        .. code:: python
        
            from PIL import Image
        
            from markovchain import MarkovBase, MarkovJsonMixin
            from markovchain.image import MarkovImageMixin
        
            class Markov(MarkovImageMixin, MarkovJsonMixin, MarkovBase):
                pass
        
            markov = Markov()
        
            markov.data(Image.open('data.png'))
        
            width = 32
            height = 16
            img = markov.image(width, height) # PIL image
            with open('generated.png', 'wb') as fp:
                img.save(fp)
        
            with open('markov.json', 'w') as fp:
                markov.save(fp)
        
            markov = Markov.load('markov.json')
        
        CLI usage
        ---------
        
        ::
        
            > markovchain -h
            usage: markovchain [-h] [-v] {text,image} ...
        
            positional arguments:
              {text,image}
        
            optional arguments:
              -h, --help     show this help message and exit
              -v, --version  show program's version number and exit
        
        Data types
        ~~~~~~~~~~
        
        +---------------+-------------------------+---------------------+
        | State file    | File type               | Data mixin used     |
        +===============+=========================+=====================+
        | stdout        | JSON                    | MarkovJsonMixin     |
        +---------------+-------------------------+---------------------+
        | \*.json       | JSON                    | MarkovJsonMixin     |
        +---------------+-------------------------+---------------------+
        | \*.json.bz2   | bzip2 compressed JSON   | MarkovJsonMixin     |
        +---------------+-------------------------+---------------------+
        | Other         | SQLite 3 database       | MarkovSqliteMixin   |
        +---------------+-------------------------+---------------------+
        
        Examples
        ~~~~~~~~
        
        Text
        ^^^^
        
        .. code:: bash
        
            markovchain text create --output text.db input1.txt input2.txt
            markovchain text update text.db input3.txt input4.txt
            markovchain text generate text.db
            markovchain text generate --sentences 16 --start 'sentence start' text.db
        
        Image
        ^^^^^
        
        .. code:: bash
        
            markovchain image create --progress --output img.db img1.png img2.png
            markovchain image update --progress img.db img3.png img4.png
            markovchain image generate --progress --size 64 64 --count 4 img.db img%02d.png
            markovchain image filter --progress img.png output.png
        
        Settings
        ^^^^^^^^
        
        -  `Text <https://github.com/dead-beef/markovchain/tree/master/settings/text>`__
        -  `Image <https://github.com/dead-beef/markovchain/tree/master/settings/image>`__
        
        Text
        ~~~~
        
        ::
        
            > markovchain text -h
            usage: markovchain text [-h] {create,update,settings,generate} ...
        
            positional arguments:
              {create,update,settings,generate}
        
            optional arguments:
              -h, --help            show this help message and exit
        
        create
        ^^^^^^
        
        ::
        
            > markovchain text create -h
            usage: markovchain text create [-h] [-P] [-s SETTINGS] [-o OUTPUT]
                                           [input [input ...]]
        
            positional arguments:
              input                 input file (default: stdin)
        
            optional arguments:
              -h, --help            show this help message and exit
              -P, --progress        show progress bar
              -s SETTINGS, --settings SETTINGS
                                    settings json file
              -o OUTPUT, --output OUTPUT
                                    output file (default: stdout)
        
        update
        ^^^^^^
        
        ::
        
            > markovchain text update -h
            usage: markovchain text update [-h] [-P] [-s SETTINGS] [-o OUTPUT]
                                           state [input [input ...]]
        
            positional arguments:
              state                 state file
              input                 input file (default: stdin)
        
            optional arguments:
              -h, --help            show this help message and exit
              -P, --progress        show progress bar
              -s SETTINGS, --settings SETTINGS
                                    settings json file
              -o OUTPUT, --output OUTPUT
                                    output file (default: rewrite state file)
        
        generate
        ^^^^^^^^
        
        ::
        
            > markovchain text generate -h
            usage: markovchain text generate [-h] [-P] [-s SETTINGS] [-ss STATE_SIZE]
                                             [-st START] [-w WORDS] [-ws WORD_SEPARATOR]
                                             [-S SENTENCES] [-o OUTPUT]
                                             state
        
            positional arguments:
              state                 state file
        
            optional arguments:
              -h, --help            show this help message and exit
              -P, --progress        show progress bar
              -s SETTINGS, --settings SETTINGS
                                    settings json file
              -ss STATE_SIZE, --state-size STATE_SIZE
                                    generator state size
              -st START, --start START
                                    sentence start
              -w WORDS, --words WORDS
                                    max sentence size (default: 256)
              -ws WORD_SEPARATOR, --word-separator WORD_SEPARATOR
                                    output word separator (default: ' ')
              -S SENTENCES, --sentences SENTENCES
                                    number of generated sentences (default: 1)
              -o OUTPUT, --output OUTPUT
                                    output file (default: stdout)
        
        settings
        ^^^^^^^^
        
        ::
        
            > markovchain text settings -h
            usage: markovchain text settings [-h] state
        
            positional arguments:
              state       state file
        
            optional arguments:
              -h, --help  show this help message and exit
        
        Image
        ~~~~~
        
        ::
        
            > markovchain image -h
            usage: markovchain image [-h]
                                     {convert,create,update,settings,generate,filter} ...
        
            positional arguments:
              {convert,create,update,settings,generate,filter}
        
            optional arguments:
              -h, --help            show this help message and exit
        
        convert
        ^^^^^^^
        
        ::
        
            > markovchain image convert -h
            usage: markovchain image convert [-h] [-p HUES SATURATIONS VALUES] [-c {0,1}]
                                             [-d] [-r WIDTH HEIGHT]
                                             input [input ...]
        
            positional arguments:
              input                 input file
        
            optional arguments:
              -h, --help            show this help message and exit
              -p HUES SATURATIONS VALUES, --palette HUES SATURATIONS VALUES
                                    palette color division (default: [8, 4, 8])
              -c {0,1}, --convert-type {0,1}
                                    conversion type (default: 1)
              -d, --dither          enable dithering
              -r WIDTH HEIGHT, --resize WIDTH HEIGHT
                                    resize images (default: None)
        
        create
        ^^^^^^
        
        ::
        
            > markovchain image create -h
            usage: markovchain image create [-h] [-P] [-s SETTINGS] [-o OUTPUT]
                                            [input [input ...]]
        
            positional arguments:
              input                 input file
        
            optional arguments:
              -h, --help            show this help message and exit
              -P, --progress        show progress bar
              -s SETTINGS, --settings SETTINGS
                                    settings json file
              -o OUTPUT, --output OUTPUT
                                    output file (default: stdout)
        
        update
        ^^^^^^
        
        ::
        
            > markovchain image update -h
            usage: markovchain image update [-h] [-P] [-s SETTINGS] [-o OUTPUT]
                                            state [input [input ...]]
        
            positional arguments:
              state                 state file
              input                 input file
        
            optional arguments:
              -h, --help            show this help message and exit
              -P, --progress        show progress bar
              -s SETTINGS, --settings SETTINGS
                                    settings json file
              -o OUTPUT, --output OUTPUT
                                    output file (default: rewrite state file)
        
        generate
        ^^^^^^^^
        
        ::
        
            > markovchain image generate -h
            usage: markovchain image generate [-h] [-P] [-s SETTINGS]
                                              [-ss STATE_SIZE [STATE_SIZE ...]]
                                              [-S WIDTH HEIGHT] [-l LEVEL] [-c COUNT]
                                              state output
        
            positional arguments:
              state                 state file
              output                output file name format string
        
            optional arguments:
              -h, --help            show this help message and exit
              -P, --progress        show progress bar
              -s SETTINGS, --settings SETTINGS
                                    settings json file
              -ss STATE_SIZE [STATE_SIZE ...], --state-size STATE_SIZE [STATE_SIZE ...]
                                    generator state sizes
              -S WIDTH HEIGHT, --size WIDTH HEIGHT
                                    image size (default: <scanner.resize>)
              -l LEVEL, --level LEVEL
                                    image levels (default: <scanner.levels>)
              -c COUNT, --count COUNT
                                    generated image count (default: 1)
        
        filter
        ^^^^^^
        
        ::
        
            > markovchain image filter -h
            usage: markovchain image filter [-h] [-P] [-t {json,sqlite}] [-s SETTINGS]
                                            [-S STATE] [-ss STATE_SIZE [STATE_SIZE ...]]
                                            [-l LEVEL] [-c COUNT]
                                            input output
        
            positional arguments:
              input                 input image
              output                output file name format string
        
            optional arguments:
              -h, --help            show this help message and exit
              -P, --progress        show progress bar
              -t {json,sqlite}, --type {json,sqlite}
                                    generator type (default: json)
              -s SETTINGS, --settings SETTINGS
                                    settings json file
              -S STATE, --state STATE
                                    state file
              -ss STATE_SIZE [STATE_SIZE ...], --state-size STATE_SIZE [STATE_SIZE ...]
                                    generator state sizes
              -l LEVEL, --level LEVEL
                                    filter start level (default: 1)
              -c COUNT, --count COUNT
                                    generated image count (default: 1)
        
        settings
        ^^^^^^^^
        
        ::
        
            > markovchain image settings -h
            usage: markovchain image settings [-h] state
        
            positional arguments:
              state       state file
        
            optional arguments:
              -h, --help  show this help message and exit
        
        Licenses
        --------
        
        -  `markovchain <https://github.com/dead-beef/markovchain/blob/master/LICENSE>`__
        
        
Keywords: markov chain generator
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
