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.
Metadata
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| Lina-1.0.10.tar.gz | 8.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|
Security for Lina 1.0.10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.