Skip to main content

Parse Markdown form and generate useful templates and data.

Project description

Latest Version License Python Versions CI Coverage


An extension for python-markdown to generate parse a form in Markdown based document. The syntax is strongly based on this wmd fork.

This document:

Please fill this form:

name* = ___
email = @

And also this important question:

Do you like this = () YES () NO

will generate the following jinja template:

Please fill this form:

{{ }}
{{ }}

And also this important question:

{{ form.do_you_like_this }}

and this dict:

that you can consume to generate a form.


pip install mdform



Text fields

name = ___


name = ___[50]

Exactly 3 underscores will be matched. Any more will be handled as standard underline directives.

Radio buttons

sex = (x) male () female

The option with an x will be the default.

Check boxes

phones = [] Android [x] iPhone [x] Blackberry

The option with an x will be the default.

Required fields

To flag a field as required, just add an asterisk after the name.

zip code* = ___


In certain cases is useful to create a named section.


name = ___


name = ___

will render as:

{{ form.university_name }} {{ form.school_name }}


{'university_name': {'type': 'StringField',
                     'required': True,
                     'length': None
 'school_name': {'type': 'StringField',
                 'required': True,
                 'length': None

See AUTHORS for a list of the maintainers.

To review an ordered list of notable changes for each version of a project, see CHANGES

Project details

Release history Release notifications

This version


Download files

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

Files for mdform, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size mdform-0.1-py2.py3-none-any.whl (6.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size mdform-0.1.tar.gz (8.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page