Metadata-Version: 1.1
Name: tracery
Version: 0.1.1
Summary: Python port of Kate Compton's tracery text generation library
Home-page: https://github.com/aparrish/pytracery
Author: Allison Parrish
Author-email: allison@decontextualize.com
License: Apache License 2.0
Description: Tracery for Python
        ==================
        
        .. image:: https://img.shields.io/travis/aparrish/pytracery.svg
                :target: https://travis-ci.org/aparrish/pytracery
        
        This is a (rough) port of `Kate Compton <http://www.galaxykate.com/>`_'s
        wonderful `Tracery <http://tracery.io/>`_ to Python. The port
        is by `Allison Parrish <http://www.decontextualize.com/>`_.
        
        I'm always writing little one-off recursive template/grammar expansion
        functions in my Python generative text projects. And I *love* working with
        Tracery! So I figured: why not save myself (and potentially others) some time
        and just make it possible to use Tracery from within Python? This port is the
        result!
        
        The port is a fairly literal Python translation of `this version
        <https://github.com/galaxykate/tracery/blob/8baa6ec53271ce7526e14b0ae3069a7469c6f035/js/tracery/tracery.js>`_
        of `tracery.js` in the official repository's `tracery2` branch.
        
        Installation
        ------------
        
        Install with pip like so::
        
            pip install tracery
        
        You can also download the source code and install manually::
        
            python setup.py install
        
        Usage
        -----
        
        See `Kate Compton's Tracery
        tutorial <http://www.crystalcodepalace.com/traceryTut.html>`_ for information
        about how Tracery works. In the Python port, you use Python dictionaries
        instead of JavaScript objects for the rules, but the concept is the same
        otherwise.
        
        ::
        
            import tracery
            from tracery.modifiers import base_english
        
            rules = {
                'origin': '#hello.capitalize#, #location#!',
                'hello': ['hello', 'greetings', 'howdy', 'hey'],
                'location': ['world', 'solar system', 'galaxy', 'universe']
            }
        
            grammar = tracery.Grammar(rules)
            grammar.add_modifiers(base_english)
            print grammar.flatten("#origin#") # prints, e.g., "Hello, world!"
        
        Any valid Tracery grammar should work in this port. The ``base_english``
        modifiers in ``tracery.modifiers`` are a port of the modifiers in the JavaScript
        package. Many aspects of Tracery are not standardized, so in some edge cases
        you may get output that doesn't exactly conform to what you would get if you
        used the same grammar with the JavaScript version. (e.g., "None" in strings
        where in JavaScript you might see "undefined")
        
        Command line
        ------------
        
        You can run the module on a JSON Tracery grammar file on the command line to output example lines::
        
            positional arguments:
                json        Input JSON file
                number      Number of lines to generate (default: 1)
        
        For example::
        
            $ python -m tracery potterpapers.json 
            Harry Potter and the Tchebyshev transforms of the first and second kind
            
            $ python -m tracery potterpapers.json 3
            Harry Potter and the Impact of Extremes in Outdoor Temperature and Sunshine Exposure on Birth Weight.
            Harry Potter and the Chromatin Remodelling Enzymes SNF2H and SNF2L Position Nucleosomes adjacent to CTCF and Other Transcription Factors.
            Harry Potter and the Model Organism Hermissenda crassicornis (Gastropoda: Heterobranchia) Is a Species Complex.
        
        License
        -------
        
        This port inherits Tracery's original Apache License 2.0.
        
        ::
        
            Copyright 2016 Allison Parrish
            Based on code by Kate Compton
        
            Licensed under the Apache License, Version 2.0 (the "License");
            you may not use this file except in compliance with the License.
            You may obtain a copy of the License at
        
                http://www.apache.org/licenses/LICENSE-2.0
        
            Unless required by applicable law or agreed to in writing, software
            distributed under the License is distributed on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
            See the License for the specific language governing permissions and
            limitations under the License.
        
        
        
        
        
        History
        =======
        
        0.1.1 (2017-03-27)
        ------------------
        
        * Obligatory "foreseeable mistake in setup.py" release. (thx <https://github.com/j-e-d>`_).
        
        0.1.0 (2017-03-27)
        ------------------
        
        * Initial release on PyPI, incorporating many contributions from `hugovk
          <https://github.com/hugovk>`_.
        
        0.0.1 (2016-03-09)
        ------------------
        
        * First release on Github.
        
Keywords: tracery
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Topic :: Artistic Software
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
