Metadata-Version: 2.1
Name: diffusion
Version: 6.11.6
Summary: Python SDK for Diffusion.
Author-email: DiffusionData Limited <contact@diffusiondata.com>
License: LicenseRef-Proprietary
Project-URL: homepage, https://www.diffusiondata.com/
Keywords: diffusion,cloud,websockets,data
Classifier: Environment :: Other Environment
Classifier: Development Status :: 4 - Beta
Requires-Python: <3.13,>=3.8
Description-Content-Type: text/markdown
Requires-Dist: attrs<24.0,>=21.4.0
Requires-Dist: cbor2==5.*,>=5.1.2
Requires-Dist: stringcase==1.*,>=1.2.0
Requires-Dist: structlog==21.*,>=21.5.0
Requires-Dist: typing-extensions==4.*,>=4.0.1
Requires-Dist: pydantic!=1.10.20,<3.0.0,>=1.9.0
Requires-Dist: diffusion-core==0.*,>=0.0.68
Requires-Dist: aiohttp==3.*,>=3.6.2; python_version < "3.12"
Requires-Dist: aiohttp==3.*,>=3.9.0; python_version >= "3.12"

# Python SDK for Diffusion

**Pre-release version; not ready for production.**

The Diffusion Python library allows Python applications to interact with a Diffusion server.


## Supported Python Versions

The Diffusion Python SDK 6.11.6 officially supports the following interpreters:

Supported Interpreters:

* CPython 3.8.6 or later
* CPython 3.9.0 or later
* CPython 3.10.0 or later
* CPython 3.11.0 or later
* CPython 3.12.0 or later

Supported Platforms:

* MacOS 10.13-11.5
* Windows Intel 64-bit
* Any Linux supported by the [ManyLinux 2010/2014](https://github.com/pypa/manylinux) binary wheel standard.

We recommend using the latest available patch version of the Python interpreter.

## Installing the Diffusion client

The easiest way to install the latest version is:

```shell
$ pip install diffusion
```

It is possible to install a specific version, for example if you need one that works with the previous version of the Diffusion server:

```shell
$ pip install "diffusion==6.11.6"
```

Alternatively, the package is also available in the `clients` directory of the Diffusion installation:

```shell
$ pip install clients/python/diffusion-6.11.6-py3-none-any.whl
```

## Current Capabilities

- Session:
      - Establish a session
      - Send user ping
      - Receive system ping
      - Session factory
      - SSL Context
      - Retry strategies
- Messaging:
      - Register request handler
      - Send request to path
      - Send request to session
      - Send request to filter
      - Register filter message stream
- Control:
      - Session trees
      - Topic metrics
      - Session metrics
- Topics:
      - Topic subscriptions
      - Topic creation
      - Topic creation with initial topic value
      - Topic removal
      - Topic stream handlers
      - Topic update
      - Topic constraints
      - Fetch queries
- Time Series
      - Edit
      - Append
      - Range queries
