Skip to main content

This library largely implements the JSON-to-JSON Adaptive Cards Template language for Python. Most features are supported, except for the Adaptive expressions prebuilt functions.

Project description

Adaptive Cards Templating for Python

This library largely implements the JSON-to-JSON Adaptive Cards Template language for Python. It allows you to dynamically expand Adaptive Card templates using data and host-specific information.

Features

  • Supports most standard features of the Adaptive Cards Template language.
  • Inline data expansion with $data.
  • Conditional rendering with $when.
  • Expression evaluation using ${} syntax.
  • Custom functions like if() and json().
  • Supports $root, $host, and $index for advanced templating.

Currently unsupported

  • Adaptive expressions prebuilt functions.

Installation

To install the package, use:

pip install adaptive-cards-templating-py

Usage

Here's a quick example of how to use the library:

import json
from adaptive_cards_templating_py import Template

# Define a template
template_json = {
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "text": "${message}"
        }
    ]
}

# Create a Template instance
template = Template(template_json)

# Expand the template with data
data = {
    "$root": {
        "message": "Hello, Adaptive Cards!"
    }
}
card = template.expand(data)

# Pretty-print the card
print(json.dumps(card, indent=2))

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Write tests for your changes.
  4. Commit your changes and push the branch.
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

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

Source Distribution

adaptive_cards_templating_py-0.1.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

adaptive_cards_templating_py-0.1.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file adaptive_cards_templating_py-0.1.2.tar.gz.

File metadata

File hashes

Hashes for adaptive_cards_templating_py-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b734567de58dc70e417db6455416e4b5310f07d0735743204186b0b64687c0dc
MD5 cd67e27e7194e8ad720528e13bf6c652
BLAKE2b-256 ac4a25cdd97acd2d5b517671afdfc1adaf23d995c0e8caaaaa06a8b4c7de2ee4

See more details on using hashes here.

File details

Details for the file adaptive_cards_templating_py-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for adaptive_cards_templating_py-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e7f14dffcade4acba1945a0660621e60e111883504762b312d6ec155021f1c1a
MD5 4aa43bff52ef1a627fb62bcb2723f6a4
BLAKE2b-256 f7ded2fe42002c1301d6bb37d30618ec7e0a055d9859f6ae7089e64a8931f46f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page