Skip to main content

Triplate (Python)

A templating engine for RDF query & data languages (SPARQL, Turtle, …) with a typed --- frontmatter header, injection-safe values, loops and conditionals. Python reference implementation of the Triplate language.

from triplate import compile

template = """\
---
params {
  classes: iri[] min 1
  limit:   int optional
}
---
SELECT ?s WHERE {
{% for c in classes join "UNION" %}
  { ?s a ${c} }
{% endfor %}
}
{% if limit %}LIMIT ${limit}{% endif %}
"""

tmpl = compile(template)
sparql = tmpl.render(classes=["http://example.org/Person"], limit=10)

Every input is declared in the mandatory --- frontmatter header with its RDF type; the context is validated and each value escaped accordingly, so rendered output is injection-safe and an unprocessed template fails fast.

See triplate.dev for the full guide and specification.

Download files

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

Source Distribution

triplate-0.7.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

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

triplate-0.7.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file triplate-0.7.0.tar.gz.

File metadata

  • Download URL: triplate-0.7.0.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for triplate-0.7.0.tar.gz
Algorithm Hash digest
SHA256 08502821cb66146103fc8a473be575a14d5c4706f0ce843ae326337db09087c4
MD5 36be77279ac592e7f67bb29dcead13cf
BLAKE2b-256 a5be3a2bdd058c0d3ef8968a8e054f0351d437ef609a87fd8a3caa839291bf20

See more details on using hashes here.

Provenance

The following attestation bundles were made for triplate-0.7.0.tar.gz:

Publisher: release-please.yml on triplate/triplate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file triplate-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: triplate-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for triplate-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a756be60fd774b981e07bf3f8af2b3c6fca94bbd758fb829c09d47937cfcfee7
MD5 1f3107a7bbf42b8e6e8bd53ccb03aae7
BLAKE2b-256 3c1fe0e340ea1cea8e38dc707699ba15fbc562548638d64b1b69fac4ccab2992

See more details on using hashes here.

Provenance

The following attestation bundles were made for triplate-0.7.0-py3-none-any.whl:

Publisher: release-please.yml on triplate/triplate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.7.1

2 files

This release

0.7.0 This release

2 files

0.6.0

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

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