Jinja2 Prompt Template for Swarmauri.
Project description
Swarmauri Prompt J2PromptTemplate
J2PromptTemplate is the Swarmauri Jinja2 prompt template implementation. It
accepts literal template strings or template files, renders them with the
variables you provide, and registers itself as the J2PromptTemplate
swarmauri.prompts entry point.
Highlights
- Load template content from inline strings or filesystem paths.
- Configure one or more search directories via
templates_dirfor reusable Jinja2 templates with fallback lookup. - Ship with helpful filters (
split,make_singular,make_plural) for prompt engineering tasks. - Call the instance directly (
template({...})) or usegenerate_prompt()to render with the stored variables.
Installation
Choose the tool that matches your workflow:
# pip
pip install swarmauri_prompt_j2prompttemplate
# Poetry
poetry add swarmauri_prompt_j2prompttemplate
# uv
uv add swarmauri_prompt_j2prompttemplate
Usage
Render a template string
from swarmauri_prompt_j2prompttemplate import J2PromptTemplate
template = J2PromptTemplate(template="Hello, {{ name }}!")
result = template({"name": "World"})
print(result) # Hello, World!
Load templates from disk (with filters and search paths)
from pathlib import Path
from swarmauri_prompt_j2prompttemplate import J2PromptTemplate
templates_dir = Path("templates")
templates_dir.mkdir(parents=True, exist_ok=True)
template_path = templates_dir / "greeting.j2"
template_path.write_text("Hello, {{ animal|make_plural }}!", encoding="utf-8")
prompt = J2PromptTemplate(templates_dir=str(templates_dir))
prompt.set_template(template_path)
print(prompt({"animal": "fox"})) # Hello, foxes!
set_template() loads the file with the configured environment. The template
file is located relative to the provided templates_dir. If the loader cannot
find it immediately, the class searches recursively before falling back to the
template's own directory.
Want to help?
If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swarmauri_prompt_j2prompttemplate-0.9.0.dev33.tar.gz.
File metadata
- Download URL: swarmauri_prompt_j2prompttemplate-0.9.0.dev33.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a7bc2b41e494276bbf259b0d62421f693dc571331f3f32bd256c33d401c30ba
|
|
| MD5 |
d81a927c70b625d38c6d9bf10b9936b3
|
|
| BLAKE2b-256 |
2bc455c8a8523a2743bf0c03bea3231aaf9b5ea1fa176bd65f4955d6d5693bd3
|
File details
Details for the file swarmauri_prompt_j2prompttemplate-0.9.0.dev33-py3-none-any.whl.
File metadata
- Download URL: swarmauri_prompt_j2prompttemplate-0.9.0.dev33-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95f8ea882b093aa17a63debe97f78e97a06f7610b5de24c1923db14bceec5ab1
|
|
| MD5 |
f22abb0b9721f69273fcee08b2ad764f
|
|
| BLAKE2b-256 |
8d3be6629fbafd9f69ff0ce253714182ec97e5ed73d6303a3639739bcff95f75
|