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.5.tar.gz (6.6 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.5-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for adaptive_cards_templating_py-0.1.5.tar.gz
Algorithm Hash digest
SHA256 1367cbf0f74db0043278aac9c06bcf6ac092ad577869b5eef68ad03d68e57b39
MD5 9becf378bf6ea3e2662d208abaae30ed
BLAKE2b-256 fdfa6b1ebaa8670cf36f8e4bb783f85335624ba088d3dc4a74c53f7c6d4bd2e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for adaptive_cards_templating_py-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6a4ed9ef0e48c7dc66b9addadaf018b4063e08a74f8f6268b83d651ec2b8ec76
MD5 e1f850b766fa4335abf15cab9793ae93
BLAKE2b-256 661103d7caf374e125921a45e2364d2cd27c63f57731d221604d29a317f5176f

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