Skip to main content

Render HTML from Python using plain data structures, inspired by Clojure's Hiccup

Project description

piccup

PyPI PyPI - Python Version

[EXPERIMENTAL]

Render HTML from Python using plain data structures, inspired by Clojure's Hiccup.

Installation

pip install piccup

Usage

piccup allows you to write HTML using plain Python data structures.

>>> p.html(['p', 'hello'])
'<p>hello</p>'

Each HTML node is defined using [element, attributes, contents] triple. element string is required, attributes dict and contents object are optional.

>>> p.html(['a',
            {'href': 'http://example.com'}, 
            'Click Me'])
'<a href="http://example.com">Click Me</a>'

Nested HTML nodes are passed to contents.

>>> p.html(['ul', 
            [['li', 'first'], 
             ['li', 'second'], 
             ['li', 'third']]])
'<ul><li>first</li><li>second</li><li>third</li></ul>'

piccup uses simple data structures, so you can write normal Python code instead of a foreign templating language.

>>> p.html(['ul',
            [['li', {'class': 'link-item'},
              ['a', {'href': 'http://example.com/{}'.format(e)}, e]]
             for e in ['item1', 'item2', 'item3']]])
'<ul><li class="link-item"><a href="http://example.com/item1">item1</a></li><li class="link-item"><a href="http://example.com/item2">item2</a></li><li class="link-item"><a href="http://example.com/item3">item3</a></li></ul>'

Project details


Download files

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

Source Distribution

piccup-0.1.1.tar.gz (2.2 kB view details)

Uploaded Source

Built Distribution

piccup-0.1.1-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file piccup-0.1.1.tar.gz.

File metadata

  • Download URL: piccup-0.1.1.tar.gz
  • Upload date:
  • Size: 2.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.3

File hashes

Hashes for piccup-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a0f194a73de8edc0aba235891bde726c954886f8439a6c33f1969ceac3c01e88
MD5 9c95af55ce229dfab17831083af4a0c7
BLAKE2b-256 890e065b96c3c2dfda5d804be23d122cffc36884e947c7324880f10f1e215c5d

See more details on using hashes here.

File details

Details for the file piccup-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: piccup-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.3

File hashes

Hashes for piccup-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64ab6126ac8e16a504b7f20d5f728ef8b253484109ac069570c8cdafe92a698e
MD5 044d6b711c49d433a298df107220c607
BLAKE2b-256 38c22a41b64a47920aa3e228063eb4f69c6922724237696c98a7a4777d560264

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page