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.8.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Lina-1.0.8-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: Lina-1.0.8.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Lina-1.0.8.tar.gz
Algorithm Hash digest
SHA256 9d8668ca89178601ff4eeb25f07156de41c486dd1fe0b21ef48b44d0630cb7db
MD5 5781291ea8702914bed1e92b3b6c3393
BLAKE2b-256 f6042fb8c0f6ba78851ed4fc282eca3835ed7f7307ef22727af3a6c38534cfdc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: Lina-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Lina-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 3bb36fbb63f55dc855201a3a63852a63d8d6a7a15de46983ebe380dbebdf7133
MD5 0d9117c43e0344a8c057a6af27fdb5ed
BLAKE2b-256 3921fbc469dfff7599abc52772d2301309a114a0ffe7d36d9d4ff28ee8cc1ca2

See more details on using hashes here.

Supported by

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