Skip to main content

Text template library

Project description

Lina

Lina is a template engine in the spirit of Google's CTemplate written in Python 3. It can be used to generate any kind of text-based documents. Lina has been used since several years in a large C/C++ project to generate code.

Until late August 2014, this library was known as Miranda.

Requirements

Python 3.4 or later. Previous versions of Python will not work due to the lack of enumerations.

Installation

Lina is available from PyPi, so you can install directly using pip:

pip install lina

Getting started

The most trivial template is:

Hello {{name}}!

It can be evaluated using

import lina
template = lina.Template ('Hello {{name}}!')
print (template.RenderSimple (name = "Bob"))

This will print:

Hello Bob!

The real power comes from blocks which can be repeated and nested. For instance:

{{#Users}}Hello {{name}}!{{/Users}

rendered with

Users = [{'name':'Alice'}, {'name':'Bob'}]

will print:

Hello Alice!Hello Bob!

This can be further improved by using formatters. A formatter modifies a value just before it is written to the output stream. Lina comes with a set of predefined formatters like upper-case transformation. Formatters can be defined for values or blocks. A good example for a block-level formatter is the list-separator formatter. If we change the template of the previous example to:

{{#Users:list-separator=NEWLINE}}Hello {{name}}!{{/Users}

the result will be:

Hello Alice!
Hello Bob!

Value-level formatters are for example the upper-case formatter. {{value:upper-case}} with value set to Test will result in TEST.

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

Lina-1.0.10.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

Lina-1.0.10-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file Lina-1.0.10.tar.gz.

File metadata

  • Download URL: Lina-1.0.10.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

File hashes

Hashes for Lina-1.0.10.tar.gz
Algorithm Hash digest
SHA256 c298eb5b01243f5f9788f86b72754dd3aa5108a150cd1f3c1ce55dade06710a1
MD5 4cfe0cf1248f093bc97cae6b7730dfce
BLAKE2b-256 baf5d1214d63d8811eaf27af56145fb4d6b44887c66985e3994c0926c95604e2

See more details on using hashes here.

File details

Details for the file Lina-1.0.10-py3-none-any.whl.

File metadata

  • Download URL: Lina-1.0.10-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

File hashes

Hashes for Lina-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 18d0f24b6d74831c1c8a3f66c7399f8966d44335f02f35cfd5849d8363f1c62a
MD5 8b4e20308371bd19e4c22118c41b6212
BLAKE2b-256 09c0d1a7010900de3334df5c3fe3ed4416bb7b187246f31e727d46a8dc924b9b

See more details on using hashes here.

Supported by

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