Skip to main content

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.

Release files for Lina 1.0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Lina 1.0.10
File Size Uploaded
Lina-1.0.10.tar.gz 8.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Lina 1.0.10
File Interpreter ABI Platform
Lina-1.0.10-py3-none-any.whl Python 3 none any Details

Total release size: 18.5 kB

Release files / Lina-1.0.10.tar.gz

Download URL Lina-1.0.10.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c298eb5b01243f5f9788f86b72754dd3aa5108a150cd1f3c1ce55dade06710a1
BLAKE2b-256 checksum
How to use checksums
baf5d1214d63d8811eaf27af56145fb4d6b44887c66985e3994c0926c95604e2
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / Lina-1.0.10-py3-none-any.whl

Download URL Lina-1.0.10-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
18d0f24b6d74831c1c8a3f66c7399f8966d44335f02f35cfd5849d8363f1c62a
BLAKE2b-256 checksum
How to use checksums
09c0d1a7010900de3334df5c3fe3ed4416bb7b187246f31e727d46a8dc924b9b
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

1.0.10 This release

2 release files

1.0.8

2 release files

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page