Skip to main content

TWS client for Python.

Project description

tws-sdk

Python client for TWS.

Installation

pip install tws-sdk

Usage

The library provides both synchronous and asynchronous clients for interacting with TWS.

The primary API is run_workflow, which executes a workflow configured via the TWS UI, waits for completion, and returns the result.

Synchronous Usage

from tws import Client as TWSClient

# Use the client with a context manager
with TWSClient(
    public_key="your_public_key",
    secret_key="your_secret_key",
    api_url="your_api_url"
) as tws_client:
    # Run a workflow and wait for completion
    result = tws_client.run_workflow(
        workflow_definition_id="your_workflow_id",
        workflow_args={
            "param1": "value1",
            "param2": "value2"
        },
    )

Asynchronous Usage

The signatures are exactly the same for async usage, but the client class is TWSAsyncClient and client methods are awaited.

from tws import AsyncClient as TWSAsyncClient


async def main():
    # Use the async client with a context manager
    async with TWSAsyncClient(
        public_key="your_public_key",
        secret_key="your_secret_key",
        api_url="your_api_url"
    ) as tws_client:
        # Run a workflow and wait for completion
        result = await tws_client.run_workflow(
            workflow_definition_id="your_workflow_id",
            workflow_args={
                "param1": "value1",
                "param2": "value2"
            },
        )

Tags

You can specify tags, which are string key-value pairs, when calling the run_workflow method. These tags can then be used when designing workflows in TWS to lookup and filter the results of workflow runs. This allows you to associate the results of a workflow run with a specific entity or grouping mechanism within your system, such as a user ID or a lesson ID.

Provide tags to the run_workflow method as a dictionary. Keep in mind that both tag keys and values must be strings that are at most 255 characters long.

tws_client.run_workflow(
    workflow_definition_id="your_workflow_id",
    workflow_args={
        "param1": "value1",
        "param2": "value2"
    },
    tags={
        "user_id": "12345",
        "lesson_id": "67890"
    }
)

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

tws_sdk-0.4.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

tws_sdk-0.4.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file tws_sdk-0.4.0.tar.gz.

File metadata

  • Download URL: tws_sdk-0.4.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tws_sdk-0.4.0.tar.gz
Algorithm Hash digest
SHA256 32bc80d9602b88e8b1b06a9493e54bb848d36cea5a3a6f0ea92d4b6e6353ceaa
MD5 18303ac0c727a1a272671e6d98b52751
BLAKE2b-256 84799795863f5b5619c78964b78ebc003260767a96b7171519b8ad1565d1f2f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tws_sdk-0.4.0.tar.gz:

Publisher: publish.yaml on Fireline-Science/tws-py

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

File details

Details for the file tws_sdk-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: tws_sdk-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tws_sdk-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e16b69f569e4593d89de017179d2ea6921baa1513f784b0e377f63abd2f09da
MD5 5d902019772bcf82334770e67f4df5b7
BLAKE2b-256 a9bb43feffbe955497064a1c0dc4eedb97382249f23498ce86fcc631129eb697

See more details on using hashes here.

Provenance

The following attestation bundles were made for tws_sdk-0.4.0-py3-none-any.whl:

Publisher: publish.yaml on Fireline-Science/tws-py

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

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