Current collected state Current
Observed since 20 Oct, 22:39 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agentmark-templatedx
Python implementation of the AgentMark templatedx transformer
Python implementation of the AgentMark templatedx transformer.
pip install agentmark-templatedx
This package transforms pre-parsed MDX AST trees. The AST is typically obtained by:
@agentmark-ai/templatedx packageimport asyncio
import json
from templatedx import TemplateDX
async def main():
engine = TemplateDX()
# Load a pre-parsed MDX AST (from TypeScript parser or JSON file)
with open("template.ast.json") as f:
ast = json.load(f)
# Transform the AST with props
result = await engine.transform(
ast,
props={"name": "Alice", "items": [1, 2, 3]}
)
print(result)
asyncio.run(main())
from templatedx import TagPlugin, PluginContext
class MyPlugin(TagPlugin):
async def transform(self, props, children, context):
# Transform children and return result
transformer = context.create_node_transformer(context.scope)
return await transformer.transform_children(children)
engine = TemplateDX()
engine.register_tag_plugin(MyPlugin(), ["MyTag"])
engine = TemplateDX()
engine.register_filter("double", lambda x: x * 2)
capitalize(str) - Capitalize first characterupper(str) - Uppercase stringlower(str) - Lowercase stringtruncate(str, length) - Truncate with ellipsisabs(num) - Absolute valuejoin(arr, separator) - Join array elementsround(num, decimals) - Round numberreplace(str, search, replacement) - Replace occurrencesurlencode(str) - URL encode stringdump(any) - JSON stringify<If condition={...}> / <ElseIf condition={...}> / <Else> - Conditional rendering<ForEach arr={...}>{(item, index) => ...}</ForEach> - Array iteration<Raw>...</Raw> - Raw content passthroughDownload counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
mypyEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | mypy>=1.0; extra == "dev" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio>=0.21; extra == "dev" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | pytest>=7.0; extra == "dev" | runtime |
ruffEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | ruff>=0.1.0; extra == "dev" | runtime |
bdist_wheel · 25.45 KB · Python py3
sdist · 45.96 KB · Python source
Observed since 20 Oct, 22:39 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:697d49fe62f9595d8d03e8fd4e12bc73ffaed2ef2b5bcc4e2f81aadfc9f5efa9