Metadata-Version: 2.1
Name: formaldict
Version: 1.0.3
Summary: Formal structured dictionaries parsed from a schema
Home-page: https://github.com/Opus10/formaldict
License: BSD-3-Clause
Author: Wes Kendall
Requires-Python: >=3.7.0,<4
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: kmatch (>=0.3.0)
Requires-Dist: prompt-toolkit (>=3.0.2)
Requires-Dist: python-dateutil (>=2.8.1)
Project-URL: Documentation, https://formaldict.readthedocs.io
Project-URL: Repository, https://github.com/Opus10/formaldict
Description-Content-Type: text/x-rst

formaldict
###########

``formaldict`` provides the constructs for parsing structured dictionaries
that adhere to a schema. Along with a simple and flexible schema definition
to parse and validate dictionaries, ``formaldict`` is integrated with
`python-prompt-toolkit <https://github.com/prompt-toolkit/python-prompt-toolkit>`__.
This integration allows users to easily construct flows for command line
interfaces (CLIs) when parsing structured user input.

Below is an example user input flow constructed with a ``formaldict``
schema used by `git-tidy <https://github.com/jyveapp/git-tidy>`__:

.. image:: https://raw.githubusercontent.com/jyveapp/formaldict/master/docs/_static/prompt.gif
   :width: 600

Check out the `docs <https://formaldict.readthedocs.io/>`__ for a
tutorial on how to use ``formaldict`` as the backbone for parsing
structured input in your library.

Documentation
=============

`View the formaldict docs here
<https://formaldict.readthedocs.io/>`_.

Installation
============

Install formaldict with::

    pip3 install formaldict


Contributing Guide
==================

For information on setting up formaldict for development and
contributing changes, view `CONTRIBUTING.rst <CONTRIBUTING.rst>`_.


Primary Authors
===============

- @wesleykendall (Wes Kendall)

