diff --git a/docs/api-reference/csharp/App.GetStateManager().md b/docs/api-reference/csharp/App.GetStateManager().md
new file mode 100644
index 000000000..f5f83ca12
--- /dev/null
+++ b/docs/api-reference/csharp/App.GetStateManager().md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[App](App.md 'QuixStreams.Streaming.App')
+
+## App.GetStateManager() Method
+
+Retrieves the state manager for the application
+
+```csharp
+public static QuixStreams.Streaming.States.AppStateManager GetStateManager();
+```
+
+#### Returns
+[AppStateManager](AppStateManager.md 'QuixStreams.Streaming.States.AppStateManager')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/App.SetStateStorage(IStateStorage).md b/docs/api-reference/csharp/App.SetStateStorage(IStateStorage).md
new file mode 100644
index 000000000..0d1ecbcc9
--- /dev/null
+++ b/docs/api-reference/csharp/App.SetStateStorage(IStateStorage).md
@@ -0,0 +1,17 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[App](App.md 'QuixStreams.Streaming.App')
+
+## App.SetStateStorage(IStateStorage) Method
+
+Sets the state storage for the app
+
+```csharp
+public static void SetStateStorage(QuixStreams.State.Storage.IStateStorage stateStorage);
+```
+#### Parameters
+
+
+
+`stateStorage` [QuixStreams.State.Storage.IStateStorage](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.State.Storage.IStateStorage 'QuixStreams.State.Storage.IStateStorage')
+
+The state storage to use for app's state manager
\ No newline at end of file
diff --git a/docs/api-reference/csharp/App.md b/docs/api-reference/csharp/App.md
index 9af39bde3..f403e2a51 100644
--- a/docs/api-reference/csharp/App.md
+++ b/docs/api-reference/csharp/App.md
@@ -13,4 +13,6 @@ Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.O
| Methods | |
| :--- | :--- |
+| [GetStateManager()](App.GetStateManager().md 'QuixStreams.Streaming.App.GetStateManager()') | Retrieves the state manager for the application |
| [Run(CancellationToken, Action)](App.Run(CancellationToken,Action).md 'QuixStreams.Streaming.App.Run(System.Threading.CancellationToken, System.Action)') | Helper method to handle default streaming behaviors and handle automatic resource cleanup on shutdown
It also ensures topic consumers defined at the time of invocation are subscribed to receive messages. |
+| [SetStateStorage(IStateStorage)](App.SetStateStorage(IStateStorage).md 'QuixStreams.Streaming.App.SetStateStorage(QuixStreams.State.Storage.IStateStorage)') | Sets the state storage for the app |
diff --git a/docs/api-reference/csharp/AppStateManager.AppStateManager(IStateStorage,ILoggerFactory).md b/docs/api-reference/csharp/AppStateManager.AppStateManager(IStateStorage,ILoggerFactory).md
new file mode 100644
index 000000000..9627b75b7
--- /dev/null
+++ b/docs/api-reference/csharp/AppStateManager.AppStateManager(IStateStorage,ILoggerFactory).md
@@ -0,0 +1,23 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[AppStateManager](AppStateManager.md 'QuixStreams.Streaming.States.AppStateManager')
+
+## AppStateManager(IStateStorage, ILoggerFactory) Constructor
+
+Initializes a new instance of the AppStateManager class.
+
+```csharp
+public AppStateManager(QuixStreams.State.Storage.IStateStorage storage, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory=null);
+```
+#### Parameters
+
+
+
+`storage` [QuixStreams.State.Storage.IStateStorage](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.State.Storage.IStateStorage 'QuixStreams.State.Storage.IStateStorage')
+
+The state storage the use for the application state
+
+
+
+`loggerFactory` [Microsoft.Extensions.Logging.ILoggerFactory](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.Logging.ILoggerFactory 'Microsoft.Extensions.Logging.ILoggerFactory')
+
+The logger factory to use
\ No newline at end of file
diff --git a/docs/api-reference/csharp/AppStateManager.DeleteTopicState(string).md b/docs/api-reference/csharp/AppStateManager.DeleteTopicState(string).md
new file mode 100644
index 000000000..a48637ea6
--- /dev/null
+++ b/docs/api-reference/csharp/AppStateManager.DeleteTopicState(string).md
@@ -0,0 +1,19 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[AppStateManager](AppStateManager.md 'QuixStreams.Streaming.States.AppStateManager')
+
+## AppStateManager.DeleteTopicState(string) Method
+
+Deletes the topic state with the specified name
+
+```csharp
+public bool DeleteTopicState(string topicName);
+```
+#### Parameters
+
+
+
+`topicName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+#### Returns
+[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')
+Whether the topic state was deleted
\ No newline at end of file
diff --git a/docs/api-reference/csharp/AppStateManager.DeleteTopicStates().md b/docs/api-reference/csharp/AppStateManager.DeleteTopicStates().md
new file mode 100644
index 000000000..92ed138d6
--- /dev/null
+++ b/docs/api-reference/csharp/AppStateManager.DeleteTopicStates().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[AppStateManager](AppStateManager.md 'QuixStreams.Streaming.States.AppStateManager')
+
+## AppStateManager.DeleteTopicStates() Method
+
+Deletes all topic states for the current app.
+
+```csharp
+public int DeleteTopicStates();
+```
+
+#### Returns
+[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The number of topic states that were deleted.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/AppStateManager.GetTopicStateManager(string).md b/docs/api-reference/csharp/AppStateManager.GetTopicStateManager(string).md
new file mode 100644
index 000000000..ff759b7d0
--- /dev/null
+++ b/docs/api-reference/csharp/AppStateManager.GetTopicStateManager(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[AppStateManager](AppStateManager.md 'QuixStreams.Streaming.States.AppStateManager')
+
+## AppStateManager.GetTopicStateManager(string) Method
+
+Gets an instance of the [TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager') class for the specified [topicName](AppStateManager.GetTopicStateManager(string).md#QuixStreams.Streaming.States.AppStateManager.GetTopicStateManager(string).topicName 'QuixStreams.Streaming.States.AppStateManager.GetTopicStateManager(string).topicName').
+
+```csharp
+public QuixStreams.Streaming.States.TopicStateManager GetTopicStateManager(string topicName);
+```
+#### Parameters
+
+
+
+`topicName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The topic name
+
+#### Returns
+[TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager')
+The newly created [TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager') instance.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/AppStateManager.GetTopicStates().md b/docs/api-reference/csharp/AppStateManager.GetTopicStates().md
new file mode 100644
index 000000000..5d1de7fec
--- /dev/null
+++ b/docs/api-reference/csharp/AppStateManager.GetTopicStates().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[AppStateManager](AppStateManager.md 'QuixStreams.Streaming.States.AppStateManager')
+
+## AppStateManager.GetTopicStates() Method
+
+Returns an enumerable collection of all available topic states for the current app.
+
+```csharp
+public System.Collections.Generic.IEnumerable GetTopicStates();
+```
+
+#### Returns
+[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')
+An enumerable collection of string values representing the topic state names.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/AppStateManager.md b/docs/api-reference/csharp/AppStateManager.md
new file mode 100644
index 000000000..474fca7fc
--- /dev/null
+++ b/docs/api-reference/csharp/AppStateManager.md
@@ -0,0 +1,23 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States')
+
+## AppStateManager Class
+
+Manages the states of a app.
+
+```csharp
+public class AppStateManager
+```
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 AppStateManager
+
+| Constructors | |
+| :--- | :--- |
+| [AppStateManager(IStateStorage, ILoggerFactory)](AppStateManager.AppStateManager(IStateStorage,ILoggerFactory).md 'QuixStreams.Streaming.States.AppStateManager.AppStateManager(QuixStreams.State.Storage.IStateStorage, Microsoft.Extensions.Logging.ILoggerFactory)') | Initializes a new instance of the AppStateManager class. |
+
+| Methods | |
+| :--- | :--- |
+| [DeleteTopicState(string)](AppStateManager.DeleteTopicState(string).md 'QuixStreams.Streaming.States.AppStateManager.DeleteTopicState(string)') | Deletes the topic state with the specified name |
+| [DeleteTopicStates()](AppStateManager.DeleteTopicStates().md 'QuixStreams.Streaming.States.AppStateManager.DeleteTopicStates()') | Deletes all topic states for the current app. |
+| [GetTopicStateManager(string)](AppStateManager.GetTopicStateManager(string).md 'QuixStreams.Streaming.States.AppStateManager.GetTopicStateManager(string)') | Gets an instance of the [TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager') class for the specified [topicName](AppStateManager.GetTopicStateManager(string).md#QuixStreams.Streaming.States.AppStateManager.GetTopicStateManager(string).topicName 'QuixStreams.Streaming.States.AppStateManager.GetTopicStateManager(string).topicName'). |
+| [GetTopicStates()](AppStateManager.GetTopicStates().md 'QuixStreams.Streaming.States.AppStateManager.GetTopicStates()') | Returns an enumerable collection of all available topic states for the current app. |
diff --git a/docs/api-reference/csharp/IKafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md b/docs/api-reference/csharp/IKafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
new file mode 100644
index 000000000..d2a4bb9d1
--- /dev/null
+++ b/docs/api-reference/csharp/IKafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
@@ -0,0 +1,33 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IKafkaStreamingClient](IKafkaStreamingClient.md 'QuixStreams.Streaming.IKafkaStreamingClient')
+
+## IKafkaStreamingClient.GetRawTopicConsumer(string, string, Nullable) Method
+
+Gets a topic consumer capable of subscribing to receive non-quixstreams incoming messages.
+
+```csharp
+QuixStreams.Streaming.Raw.IRawTopicConsumer GetRawTopicConsumer(string topic, string consumerGroup=null, System.Nullable autoOffset=null);
+```
+#### Parameters
+
+
+
+`topic` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Name of the topic.
+
+
+
+`consumerGroup` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The consumer group id to use for consuming messages. If null, consumer group is not used and only consuming new messages.
+
+
+
+`autoOffset` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[QuixStreams.Telemetry.Kafka.AutoOffsetReset](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Kafka.AutoOffsetReset 'QuixStreams.Telemetry.Kafka.AutoOffsetReset')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')
+
+The offset to use when there is no saved offset for the consumer group.
+
+#### Returns
+[IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
+Instance of [IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IKafkaStreamingClient.GetRawTopicProducer(string).md b/docs/api-reference/csharp/IKafkaStreamingClient.GetRawTopicProducer(string).md
new file mode 100644
index 000000000..8ddee82af
--- /dev/null
+++ b/docs/api-reference/csharp/IKafkaStreamingClient.GetRawTopicProducer(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IKafkaStreamingClient](IKafkaStreamingClient.md 'QuixStreams.Streaming.IKafkaStreamingClient')
+
+## IKafkaStreamingClient.GetRawTopicProducer(string) Method
+
+Gets a topic producer capable of publishing non-quixstreams messages.
+
+```csharp
+QuixStreams.Streaming.Raw.IRawTopicProducer GetRawTopicProducer(string topic);
+```
+#### Parameters
+
+
+
+`topic` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Name of the topic.
+
+#### Returns
+[IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
+Instance of [IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IKafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md b/docs/api-reference/csharp/IKafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
new file mode 100644
index 000000000..c7c89c6fb
--- /dev/null
+++ b/docs/api-reference/csharp/IKafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
@@ -0,0 +1,39 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IKafkaStreamingClient](IKafkaStreamingClient.md 'QuixStreams.Streaming.IKafkaStreamingClient')
+
+## IKafkaStreamingClient.GetTopicConsumer(string, string, CommitOptions, AutoOffsetReset) Method
+
+Gets a topic consumer capable of subscribing to receive incoming streams.
+
+```csharp
+QuixStreams.Streaming.ITopicConsumer GetTopicConsumer(string topic, string consumerGroup=null, QuixStreams.Transport.Fw.CommitOptions options=null, QuixStreams.Telemetry.Kafka.AutoOffsetReset autoOffset=QuixStreams.Telemetry.Kafka.AutoOffsetReset.Latest);
+```
+#### Parameters
+
+
+
+`topic` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Name of the topic.
+
+
+
+`consumerGroup` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The consumer group id to use for consuming messages. If null, consumer group is not used and only consuming new messages.
+
+
+
+`options` [QuixStreams.Transport.Fw.CommitOptions](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Transport.Fw.CommitOptions 'QuixStreams.Transport.Fw.CommitOptions')
+
+The settings to use for committing
+
+
+
+`autoOffset` [QuixStreams.Telemetry.Kafka.AutoOffsetReset](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Kafka.AutoOffsetReset 'QuixStreams.Telemetry.Kafka.AutoOffsetReset')
+
+The offset to use when there is no saved offset for the consumer group.
+
+#### Returns
+[ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
+Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IKafkaStreamingClient.GetTopicProducer(string).md b/docs/api-reference/csharp/IKafkaStreamingClient.GetTopicProducer(string).md
new file mode 100644
index 000000000..344ba52fc
--- /dev/null
+++ b/docs/api-reference/csharp/IKafkaStreamingClient.GetTopicProducer(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IKafkaStreamingClient](IKafkaStreamingClient.md 'QuixStreams.Streaming.IKafkaStreamingClient')
+
+## IKafkaStreamingClient.GetTopicProducer(string) Method
+
+Gets a topic producer capable of publishing stream messages.
+
+```csharp
+QuixStreams.Streaming.ITopicProducer GetTopicProducer(string topic);
+```
+#### Parameters
+
+
+
+`topic` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Name of the topic.
+
+#### Returns
+[ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
+Instance of [ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IKafkaStreamingClient.md b/docs/api-reference/csharp/IKafkaStreamingClient.md
new file mode 100644
index 000000000..b227c1a8c
--- /dev/null
+++ b/docs/api-reference/csharp/IKafkaStreamingClient.md
@@ -0,0 +1,18 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming')
+
+## IKafkaStreamingClient Interface
+
+```csharp
+public interface IKafkaStreamingClient
+```
+
+Derived
+↳ [KafkaStreamingClient](KafkaStreamingClient.md 'QuixStreams.Streaming.KafkaStreamingClient')
+
+| Methods | |
+| :--- | :--- |
+| [GetRawTopicConsumer(string, string, Nullable<AutoOffsetReset>)](IKafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetRawTopicConsumer(string, string, System.Nullable)') | Gets a topic consumer capable of subscribing to receive non-quixstreams incoming messages. |
+| [GetRawTopicProducer(string)](IKafkaStreamingClient.GetRawTopicProducer(string).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetRawTopicProducer(string)') | Gets a topic producer capable of publishing non-quixstreams messages. |
+| [GetTopicConsumer(string, string, CommitOptions, AutoOffsetReset)](IKafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetTopicConsumer(string, string, QuixStreams.Transport.Fw.CommitOptions, QuixStreams.Telemetry.Kafka.AutoOffsetReset)') | Gets a topic consumer capable of subscribing to receive incoming streams. |
+| [GetTopicProducer(string)](IKafkaStreamingClient.GetTopicProducer(string).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetTopicProducer(string)') | Gets a topic producer capable of publishing stream messages. |
diff --git a/docs/api-reference/csharp/IQuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md b/docs/api-reference/csharp/IQuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
new file mode 100644
index 000000000..d57a44e7c
--- /dev/null
+++ b/docs/api-reference/csharp/IQuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
@@ -0,0 +1,33 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IQuixStreamingClient](IQuixStreamingClient.md 'QuixStreams.Streaming.IQuixStreamingClient')
+
+## IQuixStreamingClient.GetRawTopicConsumer(string, string, Nullable) Method
+
+Gets a topic consumer capable of subscribing to receive non-quixstreams incoming messages.
+
+```csharp
+QuixStreams.Streaming.Raw.IRawTopicConsumer GetRawTopicConsumer(string topicIdOrName, string consumerGroup=null, System.Nullable autoOffset=null);
+```
+#### Parameters
+
+
+
+`topicIdOrName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Id or name of the topic. If name is provided, workspace will be derived from environment variable or token, in that order
+
+
+
+`consumerGroup` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The consumer group id to use for consuming messages. If null, consumer group is not used and only consuming new messages.
+
+
+
+`autoOffset` [System.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')[QuixStreams.Telemetry.Kafka.AutoOffsetReset](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Kafka.AutoOffsetReset 'QuixStreams.Telemetry.Kafka.AutoOffsetReset')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System.Nullable`1')
+
+The offset to use when there is no saved offset for the consumer group.
+
+#### Returns
+[IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
+Instance of [IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IQuixStreamingClient.GetRawTopicProducer(string).md b/docs/api-reference/csharp/IQuixStreamingClient.GetRawTopicProducer(string).md
new file mode 100644
index 000000000..0ffdbeecc
--- /dev/null
+++ b/docs/api-reference/csharp/IQuixStreamingClient.GetRawTopicProducer(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IQuixStreamingClient](IQuixStreamingClient.md 'QuixStreams.Streaming.IQuixStreamingClient')
+
+## IQuixStreamingClient.GetRawTopicProducer(string) Method
+
+Gets a topic producer capable of publishing non-quixstreams messages.
+
+```csharp
+QuixStreams.Streaming.Raw.IRawTopicProducer GetRawTopicProducer(string topicIdOrName);
+```
+#### Parameters
+
+
+
+`topicIdOrName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Id or name of the topic. If name is provided, workspace will be derived from environment variable or token, in that order
+
+#### Returns
+[IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
+Instance of [IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IQuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md b/docs/api-reference/csharp/IQuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
new file mode 100644
index 000000000..b2311287a
--- /dev/null
+++ b/docs/api-reference/csharp/IQuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
@@ -0,0 +1,39 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IQuixStreamingClient](IQuixStreamingClient.md 'QuixStreams.Streaming.IQuixStreamingClient')
+
+## IQuixStreamingClient.GetTopicConsumer(string, string, CommitOptions, AutoOffsetReset) Method
+
+Gets a topic consumer capable of subscribing to receive incoming streams.
+
+```csharp
+QuixStreams.Streaming.ITopicConsumer GetTopicConsumer(string topicIdOrName, string consumerGroup=null, QuixStreams.Transport.Fw.CommitOptions options=null, QuixStreams.Telemetry.Kafka.AutoOffsetReset autoOffset=QuixStreams.Telemetry.Kafka.AutoOffsetReset.Latest);
+```
+#### Parameters
+
+
+
+`topicIdOrName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Id or name of the topic. If name is provided, workspace will be derived from environment variable or token, in that order
+
+
+
+`consumerGroup` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The consumer group id to use for consuming messages. If null, consumer group is not used and only consuming new messages.
+
+
+
+`options` [QuixStreams.Transport.Fw.CommitOptions](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Transport.Fw.CommitOptions 'QuixStreams.Transport.Fw.CommitOptions')
+
+The settings to use for committing
+
+
+
+`autoOffset` [QuixStreams.Telemetry.Kafka.AutoOffsetReset](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Kafka.AutoOffsetReset 'QuixStreams.Telemetry.Kafka.AutoOffsetReset')
+
+The offset to use when there is no saved offset for the consumer group.
+
+#### Returns
+[ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
+Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IQuixStreamingClient.GetTopicProducer(string).md b/docs/api-reference/csharp/IQuixStreamingClient.GetTopicProducer(string).md
new file mode 100644
index 000000000..dda590162
--- /dev/null
+++ b/docs/api-reference/csharp/IQuixStreamingClient.GetTopicProducer(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IQuixStreamingClient](IQuixStreamingClient.md 'QuixStreams.Streaming.IQuixStreamingClient')
+
+## IQuixStreamingClient.GetTopicProducer(string) Method
+
+Gets a topic producer capable of publishing stream messages.
+
+```csharp
+QuixStreams.Streaming.ITopicProducer GetTopicProducer(string topicIdOrName);
+```
+#### Parameters
+
+
+
+`topicIdOrName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+Id or name of the topic. If name is provided, workspace will be derived from environment variable or token, in that order
+
+#### Returns
+[ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
+Instance of [ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IQuixStreamingClient.md b/docs/api-reference/csharp/IQuixStreamingClient.md
new file mode 100644
index 000000000..f2d5a46b7
--- /dev/null
+++ b/docs/api-reference/csharp/IQuixStreamingClient.md
@@ -0,0 +1,18 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming')
+
+## IQuixStreamingClient Interface
+
+```csharp
+public interface IQuixStreamingClient
+```
+
+Derived
+↳ [QuixStreamingClient](QuixStreamingClient.md 'QuixStreams.Streaming.QuixStreamingClient')
+
+| Methods | |
+| :--- | :--- |
+| [GetRawTopicConsumer(string, string, Nullable<AutoOffsetReset>)](IQuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md 'QuixStreams.Streaming.IQuixStreamingClient.GetRawTopicConsumer(string, string, System.Nullable)') | Gets a topic consumer capable of subscribing to receive non-quixstreams incoming messages. |
+| [GetRawTopicProducer(string)](IQuixStreamingClient.GetRawTopicProducer(string).md 'QuixStreams.Streaming.IQuixStreamingClient.GetRawTopicProducer(string)') | Gets a topic producer capable of publishing non-quixstreams messages. |
+| [GetTopicConsumer(string, string, CommitOptions, AutoOffsetReset)](IQuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md 'QuixStreams.Streaming.IQuixStreamingClient.GetTopicConsumer(string, string, QuixStreams.Transport.Fw.CommitOptions, QuixStreams.Telemetry.Kafka.AutoOffsetReset)') | Gets a topic consumer capable of subscribing to receive incoming streams. |
+| [GetTopicProducer(string)](IQuixStreamingClient.GetTopicProducer(string).md 'QuixStreams.Streaming.IQuixStreamingClient.GetTopicProducer(string)') | Gets a topic producer capable of publishing stream messages. |
diff --git a/docs/api-reference/csharp/IStreamConsumer.GetStateManager().md b/docs/api-reference/csharp/IStreamConsumer.GetStateManager().md
new file mode 100644
index 000000000..f6e22de82
--- /dev/null
+++ b/docs/api-reference/csharp/IStreamConsumer.GetStateManager().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IStreamConsumer](IStreamConsumer.md 'QuixStreams.Streaming.IStreamConsumer')
+
+## IStreamConsumer.GetStateManager() Method
+
+Gets the manager for the stream states
+
+```csharp
+QuixStreams.Streaming.States.StreamStateManager GetStateManager();
+```
+
+#### Returns
+[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+Stream state manager
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IStreamConsumer.OnPackageReceived.md b/docs/api-reference/csharp/IStreamConsumer.OnPackageReceived.md
index 8f73cda62..d0e063e56 100644
--- a/docs/api-reference/csharp/IStreamConsumer.OnPackageReceived.md
+++ b/docs/api-reference/csharp/IStreamConsumer.OnPackageReceived.md
@@ -10,4 +10,4 @@ event EventHandler OnPackageReceived;
```
#### Event Type
-[System.EventHandler<](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')[QuixStreams.Streaming.PackageReceivedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Streaming.PackageReceivedEventArgs 'QuixStreams.Streaming.PackageReceivedEventArgs')[>](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')
\ No newline at end of file
+[System.EventHandler<](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')[PackageReceivedEventArgs](PackageReceivedEventArgs.md 'QuixStreams.Streaming.PackageReceivedEventArgs')[>](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IStreamConsumer.OnStreamClosed.md b/docs/api-reference/csharp/IStreamConsumer.OnStreamClosed.md
index 0b6c5327e..39d51cddc 100644
--- a/docs/api-reference/csharp/IStreamConsumer.OnStreamClosed.md
+++ b/docs/api-reference/csharp/IStreamConsumer.OnStreamClosed.md
@@ -10,4 +10,4 @@ event EventHandler OnStreamClosed;
```
#### Event Type
-[System.EventHandler<](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')[QuixStreams.Streaming.StreamClosedEventArgs](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Streaming.StreamClosedEventArgs 'QuixStreams.Streaming.StreamClosedEventArgs')[>](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')
\ No newline at end of file
+[System.EventHandler<](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')[StreamClosedEventArgs](StreamClosedEventArgs.md 'QuixStreams.Streaming.StreamClosedEventArgs')[>](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler-1 'System.EventHandler`1')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IStreamConsumer.md b/docs/api-reference/csharp/IStreamConsumer.md
index 3c70d2631..3dc2dffcc 100644
--- a/docs/api-reference/csharp/IStreamConsumer.md
+++ b/docs/api-reference/csharp/IStreamConsumer.md
@@ -17,6 +17,10 @@ public interface IStreamConsumer
| [StreamId](IStreamConsumer.StreamId.md 'QuixStreams.Streaming.IStreamConsumer.StreamId') | Gets the stream Id of the stream. |
| [Timeseries](IStreamConsumer.Timeseries.md 'QuixStreams.Streaming.IStreamConsumer.Timeseries') | Gets the consumer for accessing timeseries related information of the stream such as parameter definitions and values. |
+| Methods | |
+| :--- | :--- |
+| [GetStateManager()](IStreamConsumer.GetStateManager().md 'QuixStreams.Streaming.IStreamConsumer.GetStateManager()') | Gets the manager for the stream states |
+
| Events | |
| :--- | :--- |
| [OnPackageReceived](IStreamConsumer.OnPackageReceived.md 'QuixStreams.Streaming.IStreamConsumer.OnPackageReceived') | Event raised when a stream package has been received. |
diff --git a/docs/api-reference/csharp/IStreamConsumerExtensions.GetDictionaryState_T_(thisIStreamConsumer,string,StreamStateDefaultValueDelegate_T_).md b/docs/api-reference/csharp/IStreamConsumerExtensions.GetDictionaryState_T_(thisIStreamConsumer,string,StreamStateDefaultValueDelegate_T_).md
new file mode 100644
index 000000000..35d936b6f
--- /dev/null
+++ b/docs/api-reference/csharp/IStreamConsumerExtensions.GetDictionaryState_T_(thisIStreamConsumer,string,StreamStateDefaultValueDelegate_T_).md
@@ -0,0 +1,40 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[IStreamConsumerExtensions](IStreamConsumerExtensions.md 'QuixStreams.Streaming.IStreamConsumerExtensions')
+
+## IStreamConsumerExtensions.GetDictionaryState(this IStreamConsumer, string, StreamStateDefaultValueDelegate) Method
+
+Gets the dictionary type stream state for the specified storage name using the provided default value factory.
+
+```csharp
+public static QuixStreams.Streaming.States.StreamState GetDictionaryState(this QuixStreams.Streaming.IStreamConsumer streamConsumer, string storageName, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate defaultValueFactory=null);
+```
+#### Type parameters
+
+
+
+`T`
+
+The type of the stream state value.
+#### Parameters
+
+
+
+`streamConsumer` [IStreamConsumer](IStreamConsumer.md 'QuixStreams.Streaming.IStreamConsumer')
+
+The stream consumer to get the state for
+
+
+
+`storageName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The name of the storage.
+
+
+
+`defaultValueFactory` [QuixStreams.Streaming.States.StreamStateDefaultValueDelegate<](StreamStateDefaultValueDelegate_T_(string).md 'QuixStreams.Streaming.States.StreamStateDefaultValueDelegate(string)')[T](IStreamConsumerExtensions.GetDictionaryState_T_(thisIStreamConsumer,string,StreamStateDefaultValueDelegate_T_).md#QuixStreams.Streaming.IStreamConsumerExtensions.GetDictionaryState_T_(thisQuixStreams.Streaming.IStreamConsumer,string,QuixStreams.Streaming.States.StreamStateDefaultValueDelegate_T_).T 'QuixStreams.Streaming.IStreamConsumerExtensions.GetDictionaryState(this QuixStreams.Streaming.IStreamConsumer, string, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate).T')[>](StreamStateDefaultValueDelegate_T_(string).md 'QuixStreams.Streaming.States.StreamStateDefaultValueDelegate(string)')
+
+A delegate that creates the default value for the stream state when a previously not set key is accessed.
+
+#### Returns
+[QuixStreams.Streaming.States.StreamState<](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')[T](IStreamConsumerExtensions.GetDictionaryState_T_(thisIStreamConsumer,string,StreamStateDefaultValueDelegate_T_).md#QuixStreams.Streaming.IStreamConsumerExtensions.GetDictionaryState_T_(thisQuixStreams.Streaming.IStreamConsumer,string,QuixStreams.Streaming.States.StreamStateDefaultValueDelegate_T_).T 'QuixStreams.Streaming.IStreamConsumerExtensions.GetDictionaryState(this QuixStreams.Streaming.IStreamConsumer, string, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate).T')[>](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')
+The dictionary stream state for the specified storage name using the provided default value factory.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/IStreamConsumerExtensions.md b/docs/api-reference/csharp/IStreamConsumerExtensions.md
new file mode 100644
index 000000000..ee4a0caa2
--- /dev/null
+++ b/docs/api-reference/csharp/IStreamConsumerExtensions.md
@@ -0,0 +1,16 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming')
+
+## IStreamConsumerExtensions Class
+
+Extensions for IStreamConsumer
+
+```csharp
+public static class IStreamConsumerExtensions
+```
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 IStreamConsumerExtensions
+
+| Methods | |
+| :--- | :--- |
+| [GetDictionaryState<T>(this IStreamConsumer, string, StreamStateDefaultValueDelegate<T>)](IStreamConsumerExtensions.GetDictionaryState_T_(thisIStreamConsumer,string,StreamStateDefaultValueDelegate_T_).md 'QuixStreams.Streaming.IStreamConsumerExtensions.GetDictionaryState(this QuixStreams.Streaming.IStreamConsumer, string, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate)') | Gets the dictionary type stream state for the specified storage name using the provided default value factory. |
diff --git a/docs/api-reference/csharp/ITopicConsumer.GetStateManager().md b/docs/api-reference/csharp/ITopicConsumer.GetStateManager().md
new file mode 100644
index 000000000..0fc0effb6
--- /dev/null
+++ b/docs/api-reference/csharp/ITopicConsumer.GetStateManager().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
+
+## ITopicConsumer.GetStateManager() Method
+
+Gets the manager for the topic states
+
+```csharp
+QuixStreams.Streaming.States.TopicStateManager GetStateManager();
+```
+
+#### Returns
+[TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager')
+Topic state manager
\ No newline at end of file
diff --git a/docs/api-reference/csharp/ITopicConsumer.md b/docs/api-reference/csharp/ITopicConsumer.md
index 77518ca73..e3bafd8dc 100644
--- a/docs/api-reference/csharp/ITopicConsumer.md
+++ b/docs/api-reference/csharp/ITopicConsumer.md
@@ -18,6 +18,7 @@ Implements [System.IDisposable](https://docs.microsoft.com/en-us/dotnet/api/Syst
| Methods | |
| :--- | :--- |
| [Commit()](ITopicConsumer.Commit().md 'QuixStreams.Streaming.ITopicConsumer.Commit()') | Commit packages read up until now |
+| [GetStateManager()](ITopicConsumer.GetStateManager().md 'QuixStreams.Streaming.ITopicConsumer.GetStateManager()') | Gets the manager for the topic states |
| [Subscribe()](ITopicConsumer.Subscribe().md 'QuixStreams.Streaming.ITopicConsumer.Subscribe()') | Start subscribing to streams.
Use 'OnStreamReceived' event to read stream after executing this method |
| Events | |
diff --git a/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md b/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
index 6d97ca0d2..403b6104a 100644
--- a/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
+++ b/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
@@ -28,6 +28,8 @@ The consumer group id to use for consuming messages. If null, consumer group is
The offset to use when there is no saved offset for the consumer group.
+Implements [GetRawTopicConsumer(string, string, Nullable<AutoOffsetReset>)](IKafkaStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetRawTopicConsumer(string, string, System.Nullable)')
+
#### Returns
[IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
-Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
+Instance of [IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicProducer(string).md b/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicProducer(string).md
index 1110fe664..c37ac5891 100644
--- a/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicProducer(string).md
+++ b/docs/api-reference/csharp/KafkaStreamingClient.GetRawTopicProducer(string).md
@@ -16,6 +16,8 @@ public QuixStreams.Streaming.Raw.IRawTopicProducer GetRawTopicProducer(string to
Name of the topic.
+Implements [GetRawTopicProducer(string)](IKafkaStreamingClient.GetRawTopicProducer(string).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetRawTopicProducer(string)')
+
#### Returns
[IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
-Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
+Instance of [IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/KafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md b/docs/api-reference/csharp/KafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
index bbdc6734e..0053e492e 100644
--- a/docs/api-reference/csharp/KafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
+++ b/docs/api-reference/csharp/KafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
@@ -34,6 +34,8 @@ The settings to use for committing
The offset to use when there is no saved offset for the consumer group.
+Implements [GetTopicConsumer(string, string, CommitOptions, AutoOffsetReset)](IKafkaStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetTopicConsumer(string, string, QuixStreams.Transport.Fw.CommitOptions, QuixStreams.Telemetry.Kafka.AutoOffsetReset)')
+
#### Returns
[ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/KafkaStreamingClient.GetTopicProducer(string).md b/docs/api-reference/csharp/KafkaStreamingClient.GetTopicProducer(string).md
index 92ed98a3f..0d0299dfe 100644
--- a/docs/api-reference/csharp/KafkaStreamingClient.GetTopicProducer(string).md
+++ b/docs/api-reference/csharp/KafkaStreamingClient.GetTopicProducer(string).md
@@ -16,6 +16,8 @@ public QuixStreams.Streaming.ITopicProducer GetTopicProducer(string topic);
Name of the topic.
+Implements [GetTopicProducer(string)](IKafkaStreamingClient.GetTopicProducer(string).md 'QuixStreams.Streaming.IKafkaStreamingClient.GetTopicProducer(string)')
+
#### Returns
[ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
-Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
+Instance of [ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/KafkaStreamingClient.md b/docs/api-reference/csharp/KafkaStreamingClient.md
index f691671e6..0db855fe9 100644
--- a/docs/api-reference/csharp/KafkaStreamingClient.md
+++ b/docs/api-reference/csharp/KafkaStreamingClient.md
@@ -6,11 +6,14 @@
A Kafka streaming client capable of creating topic consumer and producers.
```csharp
-public class KafkaStreamingClient
+public class KafkaStreamingClient :
+QuixStreams.Streaming.IKafkaStreamingClient
```
Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 KafkaStreamingClient
+Implements [IKafkaStreamingClient](IKafkaStreamingClient.md 'QuixStreams.Streaming.IKafkaStreamingClient')
+
| Constructors | |
| :--- | :--- |
| [KafkaStreamingClient(string, SecurityOptions, IDictionary<string,string>, bool)](KafkaStreamingClient.KafkaStreamingClient(string,SecurityOptions,IDictionary_string,string_,bool).md 'QuixStreams.Streaming.KafkaStreamingClient.KafkaStreamingClient(string, QuixStreams.Streaming.Configuration.SecurityOptions, System.Collections.Generic.IDictionary, bool)') | Initializes a new instance of [KafkaStreamingClient](KafkaStreamingClient.md 'QuixStreams.Streaming.KafkaStreamingClient') |
diff --git a/docs/api-reference/csharp/KafkaStreamingClientExtensions.GetTopicConsumer(thisKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md b/docs/api-reference/csharp/KafkaStreamingClientExtensions.GetTopicConsumer(thisIKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md
similarity index 54%
rename from docs/api-reference/csharp/KafkaStreamingClientExtensions.GetTopicConsumer(thisKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md
rename to docs/api-reference/csharp/KafkaStreamingClientExtensions.GetTopicConsumer(thisIKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md
index 15368001c..bd53e51af 100644
--- a/docs/api-reference/csharp/KafkaStreamingClientExtensions.GetTopicConsumer(thisKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md
+++ b/docs/api-reference/csharp/KafkaStreamingClientExtensions.GetTopicConsumer(thisIKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md
@@ -1,40 +1,40 @@
#### [QuixStreams.Streaming](index.md 'index')
### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[KafkaStreamingClientExtensions](KafkaStreamingClientExtensions.md 'QuixStreams.Streaming.KafkaStreamingClientExtensions')
-## KafkaStreamingClientExtensions.GetTopicConsumer(this KafkaStreamingClient, string, string, CommitMode, AutoOffsetReset) Method
+## KafkaStreamingClientExtensions.GetTopicConsumer(this IKafkaStreamingClient, string, string, CommitMode, AutoOffsetReset) Method
Open an topic consumer capable of subscribing to receive incoming streams
```csharp
-public static QuixStreams.Streaming.ITopicConsumer GetTopicConsumer(this QuixStreams.Streaming.KafkaStreamingClient client, string topic, string consumerGroup=null, QuixStreams.Streaming.Models.CommitMode commitMode=QuixStreams.Streaming.Models.CommitMode.Automatic, QuixStreams.Telemetry.Kafka.AutoOffsetReset autoOffset=QuixStreams.Telemetry.Kafka.AutoOffsetReset.Latest);
+public static QuixStreams.Streaming.ITopicConsumer GetTopicConsumer(this QuixStreams.Streaming.IKafkaStreamingClient client, string topic, string consumerGroup=null, QuixStreams.Streaming.Models.CommitMode commitMode=QuixStreams.Streaming.Models.CommitMode.Automatic, QuixStreams.Telemetry.Kafka.AutoOffsetReset autoOffset=QuixStreams.Telemetry.Kafka.AutoOffsetReset.Latest);
```
#### Parameters
-
+
-`client` [KafkaStreamingClient](KafkaStreamingClient.md 'QuixStreams.Streaming.KafkaStreamingClient')
+`client` [IKafkaStreamingClient](IKafkaStreamingClient.md 'QuixStreams.Streaming.IKafkaStreamingClient')
Streaming Client instance
-
+
`topic` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
Name of the topic.
-
+
`consumerGroup` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
The consumer group id to use for consuming messages. If null, consumer group is not used and only consuming new messages.
-
+
`commitMode` [CommitMode](CommitMode.md 'QuixStreams.Streaming.Models.CommitMode')
The commit strategy to use for this topic
-
+
`autoOffset` [QuixStreams.Telemetry.Kafka.AutoOffsetReset](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Kafka.AutoOffsetReset 'QuixStreams.Telemetry.Kafka.AutoOffsetReset')
diff --git a/docs/api-reference/csharp/KafkaStreamingClientExtensions.md b/docs/api-reference/csharp/KafkaStreamingClientExtensions.md
index 2acc11e62..e2aa4a67b 100644
--- a/docs/api-reference/csharp/KafkaStreamingClientExtensions.md
+++ b/docs/api-reference/csharp/KafkaStreamingClientExtensions.md
@@ -13,4 +13,4 @@ Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.O
| Methods | |
| :--- | :--- |
-| [GetTopicConsumer(this KafkaStreamingClient, string, string, CommitMode, AutoOffsetReset)](KafkaStreamingClientExtensions.GetTopicConsumer(thisKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md 'QuixStreams.Streaming.KafkaStreamingClientExtensions.GetTopicConsumer(this QuixStreams.Streaming.KafkaStreamingClient, string, string, QuixStreams.Streaming.Models.CommitMode, QuixStreams.Telemetry.Kafka.AutoOffsetReset)') | Open an topic consumer capable of subscribing to receive incoming streams |
+| [GetTopicConsumer(this IKafkaStreamingClient, string, string, CommitMode, AutoOffsetReset)](KafkaStreamingClientExtensions.GetTopicConsumer(thisIKafkaStreamingClient,string,string,CommitMode,AutoOffsetReset).md 'QuixStreams.Streaming.KafkaStreamingClientExtensions.GetTopicConsumer(this QuixStreams.Streaming.IKafkaStreamingClient, string, string, QuixStreams.Streaming.Models.CommitMode, QuixStreams.Telemetry.Kafka.AutoOffsetReset)') | Open an topic consumer capable of subscribing to receive incoming streams |
diff --git a/docs/api-reference/csharp/PackageReceivedEventArgs.Package.md b/docs/api-reference/csharp/PackageReceivedEventArgs.Package.md
new file mode 100644
index 000000000..91c2a8f67
--- /dev/null
+++ b/docs/api-reference/csharp/PackageReceivedEventArgs.Package.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[PackageReceivedEventArgs](PackageReceivedEventArgs.md 'QuixStreams.Streaming.PackageReceivedEventArgs')
+
+## PackageReceivedEventArgs.Package Property
+
+Gets the stream package that was received.
+
+```csharp
+public QuixStreams.Telemetry.Models.StreamPackage Package { get; }
+```
+
+#### Property Value
+[QuixStreams.Telemetry.Models.StreamPackage](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Models.StreamPackage 'QuixStreams.Telemetry.Models.StreamPackage')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/PackageReceivedEventArgs.PackageReceivedEventArgs(ITopicConsumer,IStreamConsumer,StreamPackage).md b/docs/api-reference/csharp/PackageReceivedEventArgs.PackageReceivedEventArgs(ITopicConsumer,IStreamConsumer,StreamPackage).md
new file mode 100644
index 000000000..3d7187868
--- /dev/null
+++ b/docs/api-reference/csharp/PackageReceivedEventArgs.PackageReceivedEventArgs(ITopicConsumer,IStreamConsumer,StreamPackage).md
@@ -0,0 +1,29 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[PackageReceivedEventArgs](PackageReceivedEventArgs.md 'QuixStreams.Streaming.PackageReceivedEventArgs')
+
+## PackageReceivedEventArgs(ITopicConsumer, IStreamConsumer, StreamPackage) Constructor
+
+Initializes a new instance of the PackageReceivedEventArgs class.
+
+```csharp
+public PackageReceivedEventArgs(QuixStreams.Streaming.ITopicConsumer topicConsumer, QuixStreams.Streaming.IStreamConsumer consumer, QuixStreams.Telemetry.Models.StreamPackage package);
+```
+#### Parameters
+
+
+
+`topicConsumer` [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
+
+The topic consumer associated with the event.
+
+
+
+`consumer` [IStreamConsumer](IStreamConsumer.md 'QuixStreams.Streaming.IStreamConsumer')
+
+The stream consumer associated with the event.
+
+
+
+`package` [QuixStreams.Telemetry.Models.StreamPackage](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Models.StreamPackage 'QuixStreams.Telemetry.Models.StreamPackage')
+
+The stream package that was received.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/PackageReceivedEventArgs.Stream.md b/docs/api-reference/csharp/PackageReceivedEventArgs.Stream.md
new file mode 100644
index 000000000..738f21f28
--- /dev/null
+++ b/docs/api-reference/csharp/PackageReceivedEventArgs.Stream.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[PackageReceivedEventArgs](PackageReceivedEventArgs.md 'QuixStreams.Streaming.PackageReceivedEventArgs')
+
+## PackageReceivedEventArgs.Stream Property
+
+Gets the stream consumer associated with the event.
+
+```csharp
+public QuixStreams.Streaming.IStreamConsumer Stream { get; }
+```
+
+#### Property Value
+[IStreamConsumer](IStreamConsumer.md 'QuixStreams.Streaming.IStreamConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/PackageReceivedEventArgs.TopicConsumer.md b/docs/api-reference/csharp/PackageReceivedEventArgs.TopicConsumer.md
new file mode 100644
index 000000000..b40654997
--- /dev/null
+++ b/docs/api-reference/csharp/PackageReceivedEventArgs.TopicConsumer.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[PackageReceivedEventArgs](PackageReceivedEventArgs.md 'QuixStreams.Streaming.PackageReceivedEventArgs')
+
+## PackageReceivedEventArgs.TopicConsumer Property
+
+Gets the topic consumer associated with the event.
+
+```csharp
+public QuixStreams.Streaming.ITopicConsumer TopicConsumer { get; }
+```
+
+#### Property Value
+[ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/PackageReceivedEventArgs.md b/docs/api-reference/csharp/PackageReceivedEventArgs.md
new file mode 100644
index 000000000..1c1ff847d
--- /dev/null
+++ b/docs/api-reference/csharp/PackageReceivedEventArgs.md
@@ -0,0 +1,22 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming')
+
+## PackageReceivedEventArgs Class
+
+Provides data for the PackageReceived event.
+
+```csharp
+public class PackageReceivedEventArgs
+```
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 PackageReceivedEventArgs
+
+| Constructors | |
+| :--- | :--- |
+| [PackageReceivedEventArgs(ITopicConsumer, IStreamConsumer, StreamPackage)](PackageReceivedEventArgs.PackageReceivedEventArgs(ITopicConsumer,IStreamConsumer,StreamPackage).md 'QuixStreams.Streaming.PackageReceivedEventArgs.PackageReceivedEventArgs(QuixStreams.Streaming.ITopicConsumer, QuixStreams.Streaming.IStreamConsumer, QuixStreams.Telemetry.Models.StreamPackage)') | Initializes a new instance of the PackageReceivedEventArgs class. |
+
+| Properties | |
+| :--- | :--- |
+| [Package](PackageReceivedEventArgs.Package.md 'QuixStreams.Streaming.PackageReceivedEventArgs.Package') | Gets the stream package that was received. |
+| [Stream](PackageReceivedEventArgs.Stream.md 'QuixStreams.Streaming.PackageReceivedEventArgs.Stream') | Gets the stream consumer associated with the event. |
+| [TopicConsumer](PackageReceivedEventArgs.TopicConsumer.md 'QuixStreams.Streaming.PackageReceivedEventArgs.TopicConsumer') | Gets the topic consumer associated with the event. |
diff --git a/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md b/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
index a09449ef0..c5c086d19 100644
--- a/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
+++ b/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md
@@ -28,6 +28,8 @@ The consumer group id to use for consuming messages. If null, consumer group is
The offset to use when there is no saved offset for the consumer group.
+Implements [GetRawTopicConsumer(string, string, Nullable<AutoOffsetReset>)](IQuixStreamingClient.GetRawTopicConsumer(string,string,Nullable_AutoOffsetReset_).md 'QuixStreams.Streaming.IQuixStreamingClient.GetRawTopicConsumer(string, string, System.Nullable)')
+
#### Returns
[IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
-Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
+Instance of [IRawTopicConsumer](IRawTopicConsumer.md 'QuixStreams.Streaming.Raw.IRawTopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicProducer(string).md b/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicProducer(string).md
index 6761d5de2..b75ca487c 100644
--- a/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicProducer(string).md
+++ b/docs/api-reference/csharp/QuixStreamingClient.GetRawTopicProducer(string).md
@@ -16,6 +16,8 @@ public QuixStreams.Streaming.Raw.IRawTopicProducer GetRawTopicProducer(string to
Id or name of the topic. If name is provided, workspace will be derived from environment variable or token, in that order
+Implements [GetRawTopicProducer(string)](IQuixStreamingClient.GetRawTopicProducer(string).md 'QuixStreams.Streaming.IQuixStreamingClient.GetRawTopicProducer(string)')
+
#### Returns
[IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
-Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
+Instance of [IRawTopicProducer](IRawTopicProducer.md 'QuixStreams.Streaming.Raw.IRawTopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/QuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md b/docs/api-reference/csharp/QuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
index e0e8232d7..c772d672c 100644
--- a/docs/api-reference/csharp/QuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
+++ b/docs/api-reference/csharp/QuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md
@@ -34,6 +34,8 @@ The settings to use for committing
The offset to use when there is no saved offset for the consumer group.
+Implements [GetTopicConsumer(string, string, CommitOptions, AutoOffsetReset)](IQuixStreamingClient.GetTopicConsumer(string,string,CommitOptions,AutoOffsetReset).md 'QuixStreams.Streaming.IQuixStreamingClient.GetTopicConsumer(string, string, QuixStreams.Transport.Fw.CommitOptions, QuixStreams.Telemetry.Kafka.AutoOffsetReset)')
+
#### Returns
[ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/QuixStreamingClient.GetTopicProducer(string).md b/docs/api-reference/csharp/QuixStreamingClient.GetTopicProducer(string).md
index 3b78e76ff..e5d8d3182 100644
--- a/docs/api-reference/csharp/QuixStreamingClient.GetTopicProducer(string).md
+++ b/docs/api-reference/csharp/QuixStreamingClient.GetTopicProducer(string).md
@@ -16,6 +16,8 @@ public QuixStreams.Streaming.ITopicProducer GetTopicProducer(string topicIdOrNam
Id or name of the topic. If name is provided, workspace will be derived from environment variable or token, in that order
+Implements [GetTopicProducer(string)](IQuixStreamingClient.GetTopicProducer(string).md 'QuixStreams.Streaming.IQuixStreamingClient.GetTopicProducer(string)')
+
#### Returns
[ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
-Instance of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
+Instance of [ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/QuixStreamingClient.md b/docs/api-reference/csharp/QuixStreamingClient.md
index 219954feb..595fe5ee1 100644
--- a/docs/api-reference/csharp/QuixStreamingClient.md
+++ b/docs/api-reference/csharp/QuixStreamingClient.md
@@ -7,11 +7,14 @@ Streaming client for Kafka configured automatically using Environment Variables
Use this Client when you use this library together with Quix platform.
```csharp
-public class QuixStreamingClient
+public class QuixStreamingClient :
+QuixStreams.Streaming.IQuixStreamingClient
```
Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 QuixStreamingClient
+Implements [IQuixStreamingClient](IQuixStreamingClient.md 'QuixStreams.Streaming.IQuixStreamingClient')
+
| Constructors | |
| :--- | :--- |
| [QuixStreamingClient(string, bool, IDictionary<string,string>, bool, HttpClient)](QuixStreamingClient.QuixStreamingClient(string,bool,IDictionary_string,string_,bool,HttpClient).md 'QuixStreams.Streaming.QuixStreamingClient.QuixStreamingClient(string, bool, System.Collections.Generic.IDictionary, bool, System.Net.Http.HttpClient)') | Initializes a new instance of [KafkaStreamingClient](KafkaStreamingClient.md 'QuixStreams.Streaming.KafkaStreamingClient') that is capable of creating topic consumer and producers |
diff --git a/docs/api-reference/csharp/QuixStreamingClientExtensions.GetTopicConsumer(thisQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md b/docs/api-reference/csharp/QuixStreamingClientExtensions.GetTopicConsumer(thisIQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md
similarity index 55%
rename from docs/api-reference/csharp/QuixStreamingClientExtensions.GetTopicConsumer(thisQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md
rename to docs/api-reference/csharp/QuixStreamingClientExtensions.GetTopicConsumer(thisIQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md
index 6a5e1beb8..c8cf2a447 100644
--- a/docs/api-reference/csharp/QuixStreamingClientExtensions.GetTopicConsumer(thisQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md
+++ b/docs/api-reference/csharp/QuixStreamingClientExtensions.GetTopicConsumer(thisIQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md
@@ -1,40 +1,40 @@
#### [QuixStreams.Streaming](index.md 'index')
### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[QuixStreamingClientExtensions](QuixStreamingClientExtensions.md 'QuixStreams.Streaming.QuixStreamingClientExtensions')
-## QuixStreamingClientExtensions.GetTopicConsumer(this QuixStreamingClient, string, string, CommitMode, AutoOffsetReset) Method
+## QuixStreamingClientExtensions.GetTopicConsumer(this IQuixStreamingClient, string, string, CommitMode, AutoOffsetReset) Method
Gets a topic consumer capable of subscribing to receive streams in the specified topic
```csharp
-public static QuixStreams.Streaming.ITopicConsumer GetTopicConsumer(this QuixStreams.Streaming.QuixStreamingClient client, string topicId, string consumerGroup=null, QuixStreams.Streaming.Models.CommitMode commitMode=QuixStreams.Streaming.Models.CommitMode.Automatic, QuixStreams.Telemetry.Kafka.AutoOffsetReset autoOffset=QuixStreams.Telemetry.Kafka.AutoOffsetReset.Latest);
+public static QuixStreams.Streaming.ITopicConsumer GetTopicConsumer(this QuixStreams.Streaming.IQuixStreamingClient client, string topicId, string consumerGroup=null, QuixStreams.Streaming.Models.CommitMode commitMode=QuixStreams.Streaming.Models.CommitMode.Automatic, QuixStreams.Telemetry.Kafka.AutoOffsetReset autoOffset=QuixStreams.Telemetry.Kafka.AutoOffsetReset.Latest);
```
#### Parameters
-
+
-`client` [QuixStreamingClient](QuixStreamingClient.md 'QuixStreams.Streaming.QuixStreamingClient')
+`client` [IQuixStreamingClient](IQuixStreamingClient.md 'QuixStreams.Streaming.IQuixStreamingClient')
Quix Streaming client instance
-
+
`topicId` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
Id of the topic. Should look like: myvery-myworkspace-mytopic
-
+
`consumerGroup` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
The consumer group id to use for consuming messages. If null, consumer group is not used and only consuming new messages.
-
+
`commitMode` [CommitMode](CommitMode.md 'QuixStreams.Streaming.Models.CommitMode')
The commit strategy to use for this topic
-
+
`autoOffset` [QuixStreams.Telemetry.Kafka.AutoOffsetReset](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Kafka.AutoOffsetReset 'QuixStreams.Telemetry.Kafka.AutoOffsetReset')
diff --git a/docs/api-reference/csharp/QuixStreamingClientExtensions.md b/docs/api-reference/csharp/QuixStreamingClientExtensions.md
index 600a7fbad..b9c450fe9 100644
--- a/docs/api-reference/csharp/QuixStreamingClientExtensions.md
+++ b/docs/api-reference/csharp/QuixStreamingClientExtensions.md
@@ -13,4 +13,4 @@ Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.O
| Methods | |
| :--- | :--- |
-| [GetTopicConsumer(this QuixStreamingClient, string, string, CommitMode, AutoOffsetReset)](QuixStreamingClientExtensions.GetTopicConsumer(thisQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md 'QuixStreams.Streaming.QuixStreamingClientExtensions.GetTopicConsumer(this QuixStreams.Streaming.QuixStreamingClient, string, string, QuixStreams.Streaming.Models.CommitMode, QuixStreams.Telemetry.Kafka.AutoOffsetReset)') | Gets a topic consumer capable of subscribing to receive streams in the specified topic |
+| [GetTopicConsumer(this IQuixStreamingClient, string, string, CommitMode, AutoOffsetReset)](QuixStreamingClientExtensions.GetTopicConsumer(thisIQuixStreamingClient,string,string,CommitMode,AutoOffsetReset).md 'QuixStreams.Streaming.QuixStreamingClientExtensions.GetTopicConsumer(this QuixStreams.Streaming.IQuixStreamingClient, string, string, QuixStreams.Streaming.Models.CommitMode, QuixStreams.Telemetry.Kafka.AutoOffsetReset)') | Gets a topic consumer capable of subscribing to receive streams in the specified topic |
diff --git a/docs/api-reference/csharp/QuixStreams.Streaming.States.md b/docs/api-reference/csharp/QuixStreams.Streaming.States.md
new file mode 100644
index 000000000..1e29eadc1
--- /dev/null
+++ b/docs/api-reference/csharp/QuixStreams.Streaming.States.md
@@ -0,0 +1,15 @@
+#### [QuixStreams.Streaming](index.md 'index')
+
+## QuixStreams.Streaming.States Namespace
+
+| Classes | |
+| :--- | :--- |
+| [AppStateManager](AppStateManager.md 'QuixStreams.Streaming.States.AppStateManager') | Manages the states of a app. |
+| [StreamState](StreamState.md 'QuixStreams.Streaming.States.StreamState') | Represents a dictionary-like storage of key-value pairs with a specific topic and storage name. |
+| [StreamState<T>](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState') | Represents a dictionary-like storage of key-value pairs with a specific topic and storage name. |
+| [StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager') | Manages the states of a stream. |
+| [TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager') | Manages the states of a topic. |
+
+| Delegates | |
+| :--- | :--- |
+| [StreamStateDefaultValueDelegate<T>(string)](StreamStateDefaultValueDelegate_T_(string).md 'QuixStreams.Streaming.States.StreamStateDefaultValueDelegate(string)') | Represents a method that returns the default value for a given key. |
diff --git a/docs/api-reference/csharp/QuixStreams.Streaming.md b/docs/api-reference/csharp/QuixStreams.Streaming.md
index 5fa183b1f..992fb31bd 100644
--- a/docs/api-reference/csharp/QuixStreams.Streaming.md
+++ b/docs/api-reference/csharp/QuixStreams.Streaming.md
@@ -5,11 +5,14 @@
| Classes | |
| :--- | :--- |
| [App](App.md 'QuixStreams.Streaming.App') | Provides utilities to handle default streaming behaviors and automatic resource cleanup on shutdown. |
+| [IStreamConsumerExtensions](IStreamConsumerExtensions.md 'QuixStreams.Streaming.IStreamConsumerExtensions') | Extensions for IStreamConsumer |
| [KafkaStreamingClient](KafkaStreamingClient.md 'QuixStreams.Streaming.KafkaStreamingClient') | A Kafka streaming client capable of creating topic consumer and producers. |
| [KafkaStreamingClientExtensions](KafkaStreamingClientExtensions.md 'QuixStreams.Streaming.KafkaStreamingClientExtensions') | Extensions for Streaming Client class |
+| [PackageReceivedEventArgs](PackageReceivedEventArgs.md 'QuixStreams.Streaming.PackageReceivedEventArgs') | Provides data for the PackageReceived event. |
| [QuixStreamingClient](QuixStreamingClient.md 'QuixStreams.Streaming.QuixStreamingClient') | Streaming client for Kafka configured automatically using Environment Variables and Quix platform endpoints.
Use this Client when you use this library together with Quix platform. |
| [QuixStreamingClient.TokenValidationConfiguration](QuixStreamingClient.TokenValidationConfiguration.md 'QuixStreams.Streaming.QuixStreamingClient.TokenValidationConfiguration') | Token Validation configuration |
| [QuixStreamingClientExtensions](QuixStreamingClientExtensions.md 'QuixStreams.Streaming.QuixStreamingClientExtensions') | Quix Streaming Client extensions |
+| [StreamClosedEventArgs](StreamClosedEventArgs.md 'QuixStreams.Streaming.StreamClosedEventArgs') | Provides data for the StreamClosed event. |
| [TopicConsumer](TopicConsumer.md 'QuixStreams.Streaming.TopicConsumer') | Implementation of [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer') to consume incoming streams |
| [TopicProducer](TopicProducer.md 'QuixStreams.Streaming.TopicProducer') | Implementation of [ITopicProducer](ITopicProducer.md 'QuixStreams.Streaming.ITopicProducer') to produce outgoing streams |
@@ -19,6 +22,8 @@
| Interfaces | |
| :--- | :--- |
+| [IKafkaStreamingClient](IKafkaStreamingClient.md 'QuixStreams.Streaming.IKafkaStreamingClient') | |
+| [IQuixStreamingClient](IQuixStreamingClient.md 'QuixStreams.Streaming.IQuixStreamingClient') | |
| [IStreamConsumer](IStreamConsumer.md 'QuixStreams.Streaming.IStreamConsumer') | Stream reader interface. Stands for a new stream read from the platform.
Allows to read the stream data received from a topic. |
| [IStreamProducer](IStreamProducer.md 'QuixStreams.Streaming.IStreamProducer') | Stands for a new stream that we want to send to the platform.
It provides you helper properties to stream data the platform like parameter values, events, definitions and all the information you can persist to the platform. |
| [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer') | Interface to subscribe to incoming streams |
diff --git a/docs/api-reference/csharp/StreamClosedEventArgs.EndType.md b/docs/api-reference/csharp/StreamClosedEventArgs.EndType.md
new file mode 100644
index 000000000..33309d3e7
--- /dev/null
+++ b/docs/api-reference/csharp/StreamClosedEventArgs.EndType.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[StreamClosedEventArgs](StreamClosedEventArgs.md 'QuixStreams.Streaming.StreamClosedEventArgs')
+
+## StreamClosedEventArgs.EndType Property
+
+Gets the mode how the stream was closed.
+
+```csharp
+public QuixStreams.Telemetry.Models.StreamEndType EndType { get; }
+```
+
+#### Property Value
+[QuixStreams.Telemetry.Models.StreamEndType](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Models.StreamEndType 'QuixStreams.Telemetry.Models.StreamEndType')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamClosedEventArgs.Stream.md b/docs/api-reference/csharp/StreamClosedEventArgs.Stream.md
new file mode 100644
index 000000000..3bfa24441
--- /dev/null
+++ b/docs/api-reference/csharp/StreamClosedEventArgs.Stream.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[StreamClosedEventArgs](StreamClosedEventArgs.md 'QuixStreams.Streaming.StreamClosedEventArgs')
+
+## StreamClosedEventArgs.Stream Property
+
+Gets the stream consumer associated with the event.
+
+```csharp
+public QuixStreams.Streaming.IStreamConsumer Stream { get; }
+```
+
+#### Property Value
+[IStreamConsumer](IStreamConsumer.md 'QuixStreams.Streaming.IStreamConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamClosedEventArgs.StreamClosedEventArgs(ITopicConsumer,IStreamConsumer,StreamEndType).md b/docs/api-reference/csharp/StreamClosedEventArgs.StreamClosedEventArgs(ITopicConsumer,IStreamConsumer,StreamEndType).md
new file mode 100644
index 000000000..a4c251dca
--- /dev/null
+++ b/docs/api-reference/csharp/StreamClosedEventArgs.StreamClosedEventArgs(ITopicConsumer,IStreamConsumer,StreamEndType).md
@@ -0,0 +1,29 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[StreamClosedEventArgs](StreamClosedEventArgs.md 'QuixStreams.Streaming.StreamClosedEventArgs')
+
+## StreamClosedEventArgs(ITopicConsumer, IStreamConsumer, StreamEndType) Constructor
+
+Initializes a new instance of the StreamClosedEventArgs class.
+
+```csharp
+public StreamClosedEventArgs(QuixStreams.Streaming.ITopicConsumer topicConsumer, QuixStreams.Streaming.IStreamConsumer consumer, QuixStreams.Telemetry.Models.StreamEndType endType);
+```
+#### Parameters
+
+
+
+`topicConsumer` [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
+
+The topic consumer associated with the event.
+
+
+
+`consumer` [IStreamConsumer](IStreamConsumer.md 'QuixStreams.Streaming.IStreamConsumer')
+
+The stream consumer associated with the event.
+
+
+
+`endType` [QuixStreams.Telemetry.Models.StreamEndType](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.Telemetry.Models.StreamEndType 'QuixStreams.Telemetry.Models.StreamEndType')
+
+The mode how the stream was closed.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamClosedEventArgs.TopicConsumer.md b/docs/api-reference/csharp/StreamClosedEventArgs.TopicConsumer.md
new file mode 100644
index 000000000..95b8ad46a
--- /dev/null
+++ b/docs/api-reference/csharp/StreamClosedEventArgs.TopicConsumer.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[StreamClosedEventArgs](StreamClosedEventArgs.md 'QuixStreams.Streaming.StreamClosedEventArgs')
+
+## StreamClosedEventArgs.TopicConsumer Property
+
+Gets the topic consumer associated with the event.
+
+```csharp
+public QuixStreams.Streaming.ITopicConsumer TopicConsumer { get; }
+```
+
+#### Property Value
+[ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsumer')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamClosedEventArgs.md b/docs/api-reference/csharp/StreamClosedEventArgs.md
new file mode 100644
index 000000000..10b1c6b35
--- /dev/null
+++ b/docs/api-reference/csharp/StreamClosedEventArgs.md
@@ -0,0 +1,22 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming')
+
+## StreamClosedEventArgs Class
+
+Provides data for the StreamClosed event.
+
+```csharp
+public class StreamClosedEventArgs
+```
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 StreamClosedEventArgs
+
+| Constructors | |
+| :--- | :--- |
+| [StreamClosedEventArgs(ITopicConsumer, IStreamConsumer, StreamEndType)](StreamClosedEventArgs.StreamClosedEventArgs(ITopicConsumer,IStreamConsumer,StreamEndType).md 'QuixStreams.Streaming.StreamClosedEventArgs.StreamClosedEventArgs(QuixStreams.Streaming.ITopicConsumer, QuixStreams.Streaming.IStreamConsumer, QuixStreams.Telemetry.Models.StreamEndType)') | Initializes a new instance of the StreamClosedEventArgs class. |
+
+| Properties | |
+| :--- | :--- |
+| [EndType](StreamClosedEventArgs.EndType.md 'QuixStreams.Streaming.StreamClosedEventArgs.EndType') | Gets the mode how the stream was closed. |
+| [Stream](StreamClosedEventArgs.Stream.md 'QuixStreams.Streaming.StreamClosedEventArgs.Stream') | Gets the stream consumer associated with the event. |
+| [TopicConsumer](StreamClosedEventArgs.TopicConsumer.md 'QuixStreams.Streaming.StreamClosedEventArgs.TopicConsumer') | Gets the topic consumer associated with the event. |
diff --git a/docs/api-reference/csharp/StreamState.Flush().md b/docs/api-reference/csharp/StreamState.Flush().md
new file mode 100644
index 000000000..65bf4c1e1
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState.Flush().md
@@ -0,0 +1,10 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState](StreamState.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.Flush() Method
+
+Flushes the changes made to the in-memory state to the specified storage.
+
+```csharp
+public void Flush();
+```
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState.OnFlushed.md b/docs/api-reference/csharp/StreamState.OnFlushed.md
new file mode 100644
index 000000000..b25b06d88
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState.OnFlushed.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState](StreamState.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.OnFlushed Event
+
+Raised immediately after a flush operation is completed.
+
+```csharp
+public event EventHandler OnFlushed;
+```
+
+#### Event Type
+[System.EventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler 'System.EventHandler')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState.OnFlushing.md b/docs/api-reference/csharp/StreamState.OnFlushing.md
new file mode 100644
index 000000000..210233e1f
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState.OnFlushing.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState](StreamState.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.OnFlushing Event
+
+Raised immediately before a flush operation is performed.
+
+```csharp
+public event EventHandler OnFlushing;
+```
+
+#### Event Type
+[System.EventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler 'System.EventHandler')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState.Reset().md b/docs/api-reference/csharp/StreamState.Reset().md
new file mode 100644
index 000000000..df39d63b1
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState.Reset().md
@@ -0,0 +1,10 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState](StreamState.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.Reset() Method
+
+Reset the state to before in-memory modifications
+
+```csharp
+public void Reset();
+```
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState.md b/docs/api-reference/csharp/StreamState.md
new file mode 100644
index 000000000..35488491b
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState.md
@@ -0,0 +1,30 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States')
+
+## StreamState Class
+
+Represents a dictionary-like storage of key-value pairs with a specific topic and storage name.
+
+```csharp
+public class StreamState :
+System.Collections.Generic.IDictionary,
+System.Collections.Generic.ICollection>,
+System.Collections.Generic.IEnumerable>,
+System.Collections.IEnumerable,
+System.Collections.IDictionary,
+System.Collections.ICollection
+```
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 StreamState
+
+Implements [System.Collections.Generic.IDictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[QuixStreams.State.StateValue](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.State.StateValue 'QuixStreams.State.StateValue')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2'), [System.Collections.Generic.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System.Collections.Generic.ICollection`1')[System.Collections.Generic.KeyValuePair<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[QuixStreams.State.StateValue](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.State.StateValue 'QuixStreams.State.StateValue')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System.Collections.Generic.ICollection`1'), [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.Collections.Generic.KeyValuePair<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[QuixStreams.State.StateValue](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.State.StateValue 'QuixStreams.State.StateValue')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1'), [System.Collections.IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable 'System.Collections.IEnumerable'), [System.Collections.IDictionary](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IDictionary 'System.Collections.IDictionary'), [System.Collections.ICollection](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.ICollection 'System.Collections.ICollection')
+
+| Methods | |
+| :--- | :--- |
+| [Flush()](StreamState.Flush().md 'QuixStreams.Streaming.States.StreamState.Flush()') | Flushes the changes made to the in-memory state to the specified storage. |
+| [Reset()](StreamState.Reset().md 'QuixStreams.Streaming.States.StreamState.Reset()') | Reset the state to before in-memory modifications |
+
+| Events | |
+| :--- | :--- |
+| [OnFlushed](StreamState.OnFlushed.md 'QuixStreams.Streaming.States.StreamState.OnFlushed') | Raised immediately after a flush operation is completed. |
+| [OnFlushing](StreamState.OnFlushing.md 'QuixStreams.Streaming.States.StreamState.OnFlushing') | Raised immediately before a flush operation is performed. |
diff --git a/docs/api-reference/csharp/StreamStateDefaultValueDelegate_T_(string).md b/docs/api-reference/csharp/StreamStateDefaultValueDelegate_T_(string).md
new file mode 100644
index 000000000..c9dc6dc7e
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateDefaultValueDelegate_T_(string).md
@@ -0,0 +1,28 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States')
+
+## StreamStateDefaultValueDelegate(string) Delegate
+
+Represents a method that returns the default value for a given key.
+
+```csharp
+public delegate T StreamStateDefaultValueDelegate(string missingStateKey);
+```
+#### Type parameters
+
+
+
+`T`
+
+The type of the default value.
+#### Parameters
+
+
+
+`missingStateKey` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The name of the key being accessed.
+
+#### Returns
+[T](StreamStateDefaultValueDelegate_T_(string).md#QuixStreams.Streaming.States.StreamStateDefaultValueDelegate_T_(string).T 'QuixStreams.Streaming.States.StreamStateDefaultValueDelegate(string).T')
+The default value for the specified key.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamStateManager.DeleteState(string).md b/docs/api-reference/csharp/StreamStateManager.DeleteState(string).md
new file mode 100644
index 000000000..223707a22
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateManager.DeleteState(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+
+## StreamStateManager.DeleteState(string) Method
+
+Deletes the state with the specified name
+
+```csharp
+public bool DeleteState(string stateName);
+```
+#### Parameters
+
+
+
+`stateName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The state to delete
+
+#### Returns
+[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')
+Whether the state was deleted
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamStateManager.DeleteStates().md b/docs/api-reference/csharp/StreamStateManager.DeleteStates().md
new file mode 100644
index 000000000..6716f2767
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateManager.DeleteStates().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+
+## StreamStateManager.DeleteStates() Method
+
+Deletes all states for the current stream.
+
+```csharp
+public int DeleteStates();
+```
+
+#### Returns
+[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The number of states that were deleted.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamStateManager.GetDictionaryState(string).md b/docs/api-reference/csharp/StreamStateManager.GetDictionaryState(string).md
new file mode 100644
index 000000000..5c58fc546
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateManager.GetDictionaryState(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+
+## StreamStateManager.GetDictionaryState(string) Method
+
+Creates a new application state of dictionary type with automatically managed lifecycle for the stream
+
+```csharp
+public QuixStreams.Streaming.States.StreamState GetDictionaryState(string stateName);
+```
+#### Parameters
+
+
+
+`stateName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The name of the state
+
+#### Returns
+[StreamState](StreamState.md 'QuixStreams.Streaming.States.StreamState')
+Dictionary stream state
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamStateManager.GetDictionaryState_T_(string,StreamStateDefaultValueDelegate_T_).md b/docs/api-reference/csharp/StreamStateManager.GetDictionaryState_T_(string,StreamStateDefaultValueDelegate_T_).md
new file mode 100644
index 000000000..ea753d750
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateManager.GetDictionaryState_T_(string,StreamStateDefaultValueDelegate_T_).md
@@ -0,0 +1,32 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+
+## StreamStateManager.GetDictionaryState(string, StreamStateDefaultValueDelegate) Method
+
+Creates a new application state of dictionary type with automatically managed lifecycle for the stream
+
+```csharp
+public QuixStreams.Streaming.States.StreamState GetDictionaryState(string stateName, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate defaultValueFactory=null);
+```
+#### Type parameters
+
+
+
+`T`
+#### Parameters
+
+
+
+`stateName` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The name of the state
+
+
+
+`defaultValueFactory` [QuixStreams.Streaming.States.StreamStateDefaultValueDelegate<](StreamStateDefaultValueDelegate_T_(string).md 'QuixStreams.Streaming.States.StreamStateDefaultValueDelegate(string)')[T](StreamStateManager.GetDictionaryState_T_(string,StreamStateDefaultValueDelegate_T_).md#QuixStreams.Streaming.States.StreamStateManager.GetDictionaryState_T_(string,QuixStreams.Streaming.States.StreamStateDefaultValueDelegate_T_).T 'QuixStreams.Streaming.States.StreamStateManager.GetDictionaryState(string, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate).T')[>](StreamStateDefaultValueDelegate_T_(string).md 'QuixStreams.Streaming.States.StreamStateDefaultValueDelegate(string)')
+
+The value factory for the state when the state has no value for the key
+
+#### Returns
+[QuixStreams.Streaming.States.StreamState<](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')[T](StreamStateManager.GetDictionaryState_T_(string,StreamStateDefaultValueDelegate_T_).md#QuixStreams.Streaming.States.StreamStateManager.GetDictionaryState_T_(string,QuixStreams.Streaming.States.StreamStateDefaultValueDelegate_T_).T 'QuixStreams.Streaming.States.StreamStateManager.GetDictionaryState(string, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate).T')[>](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')
+Dictionary stream state
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamStateManager.GetStates().md b/docs/api-reference/csharp/StreamStateManager.GetStates().md
new file mode 100644
index 000000000..750e15729
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateManager.GetStates().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+
+## StreamStateManager.GetStates() Method
+
+Returns an enumerable collection of all available state names for the current stream.
+
+```csharp
+public System.Collections.Generic.IEnumerable GetStates();
+```
+
+#### Returns
+[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')
+An enumerable collection of string values representing the names of the stream states.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamStateManager.StreamStateManager(string,IStateStorage,ILoggerFactory,string).md b/docs/api-reference/csharp/StreamStateManager.StreamStateManager(string,IStateStorage,ILoggerFactory,string).md
new file mode 100644
index 000000000..3f9e99373
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateManager.StreamStateManager(string,IStateStorage,ILoggerFactory,string).md
@@ -0,0 +1,35 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+
+## StreamStateManager(string, IStateStorage, ILoggerFactory, string) Constructor
+
+Initializes a new instance of the [StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager') class with the specified parameters.
+
+```csharp
+public StreamStateManager(string streamId, QuixStreams.State.Storage.IStateStorage stateStorage, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, string logPrefix);
+```
+#### Parameters
+
+
+
+`streamId` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The ID of the stream.
+
+
+
+`stateStorage` [QuixStreams.State.Storage.IStateStorage](https://docs.microsoft.com/en-us/dotnet/api/QuixStreams.State.Storage.IStateStorage 'QuixStreams.State.Storage.IStateStorage')
+
+The state storage to use.
+
+
+
+`loggerFactory` [Microsoft.Extensions.Logging.ILoggerFactory](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.Extensions.Logging.ILoggerFactory 'Microsoft.Extensions.Logging.ILoggerFactory')
+
+The logger factory used for creating loggers.
+
+
+
+`logPrefix` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The prefix to be used in log messages.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamStateManager.md b/docs/api-reference/csharp/StreamStateManager.md
new file mode 100644
index 000000000..307c952e2
--- /dev/null
+++ b/docs/api-reference/csharp/StreamStateManager.md
@@ -0,0 +1,24 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States')
+
+## StreamStateManager Class
+
+Manages the states of a stream.
+
+```csharp
+public class StreamStateManager
+```
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 StreamStateManager
+
+| Constructors | |
+| :--- | :--- |
+| [StreamStateManager(string, IStateStorage, ILoggerFactory, string)](StreamStateManager.StreamStateManager(string,IStateStorage,ILoggerFactory,string).md 'QuixStreams.Streaming.States.StreamStateManager.StreamStateManager(string, QuixStreams.State.Storage.IStateStorage, Microsoft.Extensions.Logging.ILoggerFactory, string)') | Initializes a new instance of the [StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager') class with the specified parameters. |
+
+| Methods | |
+| :--- | :--- |
+| [DeleteState(string)](StreamStateManager.DeleteState(string).md 'QuixStreams.Streaming.States.StreamStateManager.DeleteState(string)') | Deletes the state with the specified name |
+| [DeleteStates()](StreamStateManager.DeleteStates().md 'QuixStreams.Streaming.States.StreamStateManager.DeleteStates()') | Deletes all states for the current stream. |
+| [GetDictionaryState(string)](StreamStateManager.GetDictionaryState(string).md 'QuixStreams.Streaming.States.StreamStateManager.GetDictionaryState(string)') | Creates a new application state of dictionary type with automatically managed lifecycle for the stream |
+| [GetDictionaryState<T>(string, StreamStateDefaultValueDelegate<T>)](StreamStateManager.GetDictionaryState_T_(string,StreamStateDefaultValueDelegate_T_).md 'QuixStreams.Streaming.States.StreamStateManager.GetDictionaryState(string, QuixStreams.Streaming.States.StreamStateDefaultValueDelegate)') | Creates a new application state of dictionary type with automatically managed lifecycle for the stream |
+| [GetStates()](StreamStateManager.GetStates().md 'QuixStreams.Streaming.States.StreamStateManager.GetStates()') | Returns an enumerable collection of all available state names for the current stream. |
diff --git a/docs/api-reference/csharp/StreamState_T_.Flush().md b/docs/api-reference/csharp/StreamState_T_.Flush().md
new file mode 100644
index 000000000..6681e1716
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState_T_.Flush().md
@@ -0,0 +1,10 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState<T>](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.Flush() Method
+
+Flushes the changes made to the in-memory state to the specified storage.
+
+```csharp
+public void Flush();
+```
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState_T_.OnFlushed.md b/docs/api-reference/csharp/StreamState_T_.OnFlushed.md
new file mode 100644
index 000000000..e8cd6772c
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState_T_.OnFlushed.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState<T>](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.OnFlushed Event
+
+Raised immediately after a flush operation is completed.
+
+```csharp
+public event EventHandler OnFlushed;
+```
+
+#### Event Type
+[System.EventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler 'System.EventHandler')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState_T_.OnFlushing.md b/docs/api-reference/csharp/StreamState_T_.OnFlushing.md
new file mode 100644
index 000000000..0c679b2b8
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState_T_.OnFlushing.md
@@ -0,0 +1,13 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState<T>](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.OnFlushing Event
+
+Raised immediately before a flush operation is performed.
+
+```csharp
+public event EventHandler OnFlushing;
+```
+
+#### Event Type
+[System.EventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler 'System.EventHandler')
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState_T_.Reset().md b/docs/api-reference/csharp/StreamState_T_.Reset().md
new file mode 100644
index 000000000..e1b15d1f0
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState_T_.Reset().md
@@ -0,0 +1,10 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[StreamState<T>](StreamState_T_.md 'QuixStreams.Streaming.States.StreamState')
+
+## StreamState.Reset() Method
+
+Reset the state to before in-memory modifications
+
+```csharp
+public void Reset();
+```
\ No newline at end of file
diff --git a/docs/api-reference/csharp/StreamState_T_.md b/docs/api-reference/csharp/StreamState_T_.md
new file mode 100644
index 000000000..bdbe9ce69
--- /dev/null
+++ b/docs/api-reference/csharp/StreamState_T_.md
@@ -0,0 +1,35 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States')
+
+## StreamState Class
+
+Represents a dictionary-like storage of key-value pairs with a specific topic and storage name.
+
+```csharp
+public class StreamState :
+System.Collections.Generic.IDictionary,
+System.Collections.Generic.ICollection>,
+System.Collections.Generic.IEnumerable>,
+System.Collections.IEnumerable
+```
+#### Type parameters
+
+
+
+`T`
+
+The type of values stored in the StreamState.
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 StreamState
+
+Implements [System.Collections.Generic.IDictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[T](StreamState_T_.md#QuixStreams.Streaming.States.StreamState_T_.T 'QuixStreams.Streaming.States.StreamState.T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2'), [System.Collections.Generic.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System.Collections.Generic.ICollection`1')[System.Collections.Generic.KeyValuePair<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[T](StreamState_T_.md#QuixStreams.Streaming.States.StreamState_T_.T 'QuixStreams.Streaming.States.StreamState.T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System.Collections.Generic.ICollection`1'), [System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.Collections.Generic.KeyValuePair<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[T](StreamState_T_.md#QuixStreams.Streaming.States.StreamState_T_.T 'QuixStreams.Streaming.States.StreamState.T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System.Collections.Generic.KeyValuePair`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1'), [System.Collections.IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable 'System.Collections.IEnumerable')
+
+| Methods | |
+| :--- | :--- |
+| [Flush()](StreamState_T_.Flush().md 'QuixStreams.Streaming.States.StreamState.Flush()') | Flushes the changes made to the in-memory state to the specified storage. |
+| [Reset()](StreamState_T_.Reset().md 'QuixStreams.Streaming.States.StreamState.Reset()') | Reset the state to before in-memory modifications |
+
+| Events | |
+| :--- | :--- |
+| [OnFlushed](StreamState_T_.OnFlushed.md 'QuixStreams.Streaming.States.StreamState.OnFlushed') | Raised immediately after a flush operation is completed. |
+| [OnFlushing](StreamState_T_.OnFlushing.md 'QuixStreams.Streaming.States.StreamState.OnFlushing') | Raised immediately before a flush operation is performed. |
diff --git a/docs/api-reference/csharp/TopicConsumer.GetStateManager().md b/docs/api-reference/csharp/TopicConsumer.GetStateManager().md
new file mode 100644
index 000000000..a7831ef1b
--- /dev/null
+++ b/docs/api-reference/csharp/TopicConsumer.GetStateManager().md
@@ -0,0 +1,16 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming](QuixStreams.Streaming.md 'QuixStreams.Streaming').[TopicConsumer](TopicConsumer.md 'QuixStreams.Streaming.TopicConsumer')
+
+## TopicConsumer.GetStateManager() Method
+
+Gets the manager for the topic states
+
+```csharp
+public QuixStreams.Streaming.States.TopicStateManager GetStateManager();
+```
+
+Implements [GetStateManager()](ITopicConsumer.GetStateManager().md 'QuixStreams.Streaming.ITopicConsumer.GetStateManager()')
+
+#### Returns
+[TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager')
+Topic state manager
\ No newline at end of file
diff --git a/docs/api-reference/csharp/TopicConsumer.md b/docs/api-reference/csharp/TopicConsumer.md
index 85228e1b2..31ebefadc 100644
--- a/docs/api-reference/csharp/TopicConsumer.md
+++ b/docs/api-reference/csharp/TopicConsumer.md
@@ -22,6 +22,7 @@ Implements [ITopicConsumer](ITopicConsumer.md 'QuixStreams.Streaming.ITopicConsu
| Methods | |
| :--- | :--- |
| [Commit()](TopicConsumer.Commit().md 'QuixStreams.Streaming.TopicConsumer.Commit()') | Commit packages read up until now |
+| [GetStateManager()](TopicConsumer.GetStateManager().md 'QuixStreams.Streaming.TopicConsumer.GetStateManager()') | Gets the manager for the topic states |
| [Subscribe()](TopicConsumer.Subscribe().md 'QuixStreams.Streaming.TopicConsumer.Subscribe()') | Start subscribing to streams.
Use 'OnStreamReceived' event to read stream after executing this method |
| Events | |
diff --git a/docs/api-reference/csharp/TopicStateManager.DeleteStreamState(string).md b/docs/api-reference/csharp/TopicStateManager.DeleteStreamState(string).md
new file mode 100644
index 000000000..86fd08f50
--- /dev/null
+++ b/docs/api-reference/csharp/TopicStateManager.DeleteStreamState(string).md
@@ -0,0 +1,19 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager')
+
+## TopicStateManager.DeleteStreamState(string) Method
+
+Deletes the stream state with the specified stream id
+
+```csharp
+public bool DeleteStreamState(string streamId);
+```
+#### Parameters
+
+
+
+`streamId` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+#### Returns
+[System.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System.Boolean')
+Whether the stream state was deleted
\ No newline at end of file
diff --git a/docs/api-reference/csharp/TopicStateManager.DeleteStreamStates().md b/docs/api-reference/csharp/TopicStateManager.DeleteStreamStates().md
new file mode 100644
index 000000000..dbab07efd
--- /dev/null
+++ b/docs/api-reference/csharp/TopicStateManager.DeleteStreamStates().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager')
+
+## TopicStateManager.DeleteStreamStates() Method
+
+Deletes all stream states for the current topic.
+
+```csharp
+public int DeleteStreamStates();
+```
+
+#### Returns
+[System.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System.Int32')
+The number of stream states that were deleted.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/TopicStateManager.GetStreamStateManager(string).md b/docs/api-reference/csharp/TopicStateManager.GetStreamStateManager(string).md
new file mode 100644
index 000000000..1f24b767b
--- /dev/null
+++ b/docs/api-reference/csharp/TopicStateManager.GetStreamStateManager(string).md
@@ -0,0 +1,21 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager')
+
+## TopicStateManager.GetStreamStateManager(string) Method
+
+Gets an instance of the [StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager') class for the specified [streamId](TopicStateManager.GetStreamStateManager(string).md#QuixStreams.Streaming.States.TopicStateManager.GetStreamStateManager(string).streamId 'QuixStreams.Streaming.States.TopicStateManager.GetStreamStateManager(string).streamId').
+
+```csharp
+public QuixStreams.Streaming.States.StreamStateManager GetStreamStateManager(string streamId);
+```
+#### Parameters
+
+
+
+`streamId` [System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')
+
+The ID of the stream.
+
+#### Returns
+[StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager')
+The newly created [StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager') instance.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/TopicStateManager.GetStreamStates().md b/docs/api-reference/csharp/TopicStateManager.GetStreamStates().md
new file mode 100644
index 000000000..6bad7938d
--- /dev/null
+++ b/docs/api-reference/csharp/TopicStateManager.GetStreamStates().md
@@ -0,0 +1,14 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States').[TopicStateManager](TopicStateManager.md 'QuixStreams.Streaming.States.TopicStateManager')
+
+## TopicStateManager.GetStreamStates() Method
+
+Returns an enumerable collection of all available stream states for the current topic.
+
+```csharp
+public System.Collections.Generic.IEnumerable GetStreamStates();
+```
+
+#### Returns
+[System.Collections.Generic.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[System.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')
+An enumerable collection of string values representing the stream state names.
\ No newline at end of file
diff --git a/docs/api-reference/csharp/TopicStateManager.md b/docs/api-reference/csharp/TopicStateManager.md
new file mode 100644
index 000000000..014460adf
--- /dev/null
+++ b/docs/api-reference/csharp/TopicStateManager.md
@@ -0,0 +1,19 @@
+#### [QuixStreams.Streaming](index.md 'index')
+### [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States')
+
+## TopicStateManager Class
+
+Manages the states of a topic.
+
+```csharp
+public class TopicStateManager
+```
+
+Inheritance [System.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System.Object') 🡒 TopicStateManager
+
+| Methods | |
+| :--- | :--- |
+| [DeleteStreamState(string)](TopicStateManager.DeleteStreamState(string).md 'QuixStreams.Streaming.States.TopicStateManager.DeleteStreamState(string)') | Deletes the stream state with the specified stream id |
+| [DeleteStreamStates()](TopicStateManager.DeleteStreamStates().md 'QuixStreams.Streaming.States.TopicStateManager.DeleteStreamStates()') | Deletes all stream states for the current topic. |
+| [GetStreamStateManager(string)](TopicStateManager.GetStreamStateManager(string).md 'QuixStreams.Streaming.States.TopicStateManager.GetStreamStateManager(string)') | Gets an instance of the [StreamStateManager](StreamStateManager.md 'QuixStreams.Streaming.States.StreamStateManager') class for the specified [streamId](TopicStateManager.GetStreamStateManager(string).md#QuixStreams.Streaming.States.TopicStateManager.GetStreamStateManager(string).streamId 'QuixStreams.Streaming.States.TopicStateManager.GetStreamStateManager(string).streamId'). |
+| [GetStreamStates()](TopicStateManager.GetStreamStates().md 'QuixStreams.Streaming.States.TopicStateManager.GetStreamStates()') | Returns an enumerable collection of all available stream states for the current topic. |
diff --git a/docs/api-reference/csharp/index.md b/docs/api-reference/csharp/index.md
index 35c30b6c3..c2f602db8 100644
--- a/docs/api-reference/csharp/index.md
+++ b/docs/api-reference/csharp/index.md
@@ -12,4 +12,5 @@
| [QuixStreams.Streaming.Models.StreamProducer](QuixStreams.Streaming.Models.StreamProducer.md 'QuixStreams.Streaming.Models.StreamProducer') | |
| [QuixStreams.Streaming.QuixApi](QuixStreams.Streaming.QuixApi.md 'QuixStreams.Streaming.QuixApi') | |
| [QuixStreams.Streaming.Raw](QuixStreams.Streaming.Raw.md 'QuixStreams.Streaming.Raw') | |
+| [QuixStreams.Streaming.States](QuixStreams.Streaming.States.md 'QuixStreams.Streaming.States') | |
| [QuixStreams.Streaming.Utils](QuixStreams.Streaming.Utils.md 'QuixStreams.Streaming.Utils') | |
diff --git a/docs/api-reference/python/quixstreams.md b/docs/api-reference/python/quixstreams.md
index 1659efbd5..73e06a667 100644
--- a/docs/api-reference/python/quixstreams.md
+++ b/docs/api-reference/python/quixstreams.md
@@ -1,61 +1,12 @@
# Table of Contents
* [quixstreams](#quixstreams)
-* [quixstreams.app](#quixstreams.app)
- * [CancellationTokenSource](#quixstreams.app.CancellationTokenSource)
- * [\_\_init\_\_](#quixstreams.app.CancellationTokenSource.__init__)
- * [is\_cancellation\_requested](#quixstreams.app.CancellationTokenSource.is_cancellation_requested)
- * [cancel](#quixstreams.app.CancellationTokenSource.cancel)
- * [token](#quixstreams.app.CancellationTokenSource.token)
- * [get\_net\_pointer](#quixstreams.app.CancellationTokenSource.get_net_pointer)
- * [App](#quixstreams.app.App)
- * [run](#quixstreams.app.App.run)
-* [quixstreams.builders](#quixstreams.builders)
-* [quixstreams.builders.eventdatabuilder](#quixstreams.builders.eventdatabuilder)
- * [EventDataBuilder](#quixstreams.builders.eventdatabuilder.EventDataBuilder)
- * [\_\_init\_\_](#quixstreams.builders.eventdatabuilder.EventDataBuilder.__init__)
- * [add\_value](#quixstreams.builders.eventdatabuilder.EventDataBuilder.add_value)
- * [add\_tag](#quixstreams.builders.eventdatabuilder.EventDataBuilder.add_tag)
- * [add\_tags](#quixstreams.builders.eventdatabuilder.EventDataBuilder.add_tags)
- * [publish](#quixstreams.builders.eventdatabuilder.EventDataBuilder.publish)
-* [quixstreams.builders.eventdefinitionbuilder](#quixstreams.builders.eventdefinitionbuilder)
- * [EventDefinitionBuilder](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder)
- * [\_\_init\_\_](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.__init__)
- * [set\_level](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.set_level)
- * [set\_custom\_properties](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.set_custom_properties)
- * [add\_definition](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.add_definition)
-* [quixstreams.builders.parameterdefinitionbuilder](#quixstreams.builders.parameterdefinitionbuilder)
- * [ParameterDefinitionBuilder](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder)
- * [\_\_init\_\_](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.__init__)
- * [set\_range](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_range)
- * [set\_unit](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_unit)
- * [set\_format](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_format)
- * [set\_custom\_properties](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_custom_properties)
- * [add\_definition](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.add_definition)
-* [quixstreams.builders.timeseriesdatabuilder](#quixstreams.builders.timeseriesdatabuilder)
- * [TimeseriesDataBuilder](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder)
- * [\_\_init\_\_](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.__init__)
- * [add\_value](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.add_value)
- * [add\_tag](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.add_tag)
- * [add\_tags](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.add_tags)
- * [publish](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.publish)
-* [quixstreams.configuration](#quixstreams.configuration)
-* [quixstreams.configuration.saslmechanism](#quixstreams.configuration.saslmechanism)
-* [quixstreams.configuration.securityoptions](#quixstreams.configuration.securityoptions)
- * [SecurityOptions](#quixstreams.configuration.securityoptions.SecurityOptions)
- * [\_\_init\_\_](#quixstreams.configuration.securityoptions.SecurityOptions.__init__)
- * [get\_net\_pointer](#quixstreams.configuration.securityoptions.SecurityOptions.get_net_pointer)
-* [quixstreams.exceptions.quixapiexception](#quixstreams.exceptions.quixapiexception)
-* [quixstreams.helpers](#quixstreams.helpers)
* [quixstreams.helpers.dotnet.datetimeconverter](#quixstreams.helpers.dotnet.datetimeconverter)
* [DateTimeConverter](#quixstreams.helpers.dotnet.datetimeconverter.DateTimeConverter)
* [datetime\_to\_python](#quixstreams.helpers.dotnet.datetimeconverter.DateTimeConverter.datetime_to_python)
* [datetime\_to\_dotnet](#quixstreams.helpers.dotnet.datetimeconverter.DateTimeConverter.datetime_to_dotnet)
* [timespan\_to\_python](#quixstreams.helpers.dotnet.datetimeconverter.DateTimeConverter.timespan_to_python)
* [timedelta\_to\_dotnet](#quixstreams.helpers.dotnet.datetimeconverter.DateTimeConverter.timedelta_to_dotnet)
-* [quixstreams.helpers.enumconverter](#quixstreams.helpers.enumconverter)
-* [quixstreams.helpers.exceptionconverter](#quixstreams.helpers.exceptionconverter)
-* [quixstreams.helpers.nativedecorator](#quixstreams.helpers.nativedecorator)
* [quixstreams.helpers.timeconverter](#quixstreams.helpers.timeconverter)
* [TimeConverter](#quixstreams.helpers.timeconverter.TimeConverter)
* [offset\_from\_utc](#quixstreams.helpers.timeconverter.TimeConverter.offset_from_utc)
@@ -64,26 +15,69 @@
* [from\_nanoseconds](#quixstreams.helpers.timeconverter.TimeConverter.from_nanoseconds)
* [from\_unix\_nanoseconds](#quixstreams.helpers.timeconverter.TimeConverter.from_unix_nanoseconds)
* [from\_string](#quixstreams.helpers.timeconverter.TimeConverter.from_string)
-* [quixstreams.kafkastreamingclient](#quixstreams.kafkastreamingclient)
- * [KafkaStreamingClient](#quixstreams.kafkastreamingclient.KafkaStreamingClient)
- * [\_\_init\_\_](#quixstreams.kafkastreamingclient.KafkaStreamingClient.__init__)
- * [get\_topic\_consumer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_topic_consumer)
- * [get\_topic\_producer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_topic_producer)
- * [get\_raw\_topic\_consumer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_raw_topic_consumer)
- * [get\_raw\_topic\_producer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_raw_topic_producer)
-* [quixstreams.logging](#quixstreams.logging)
-* [quixstreams.models](#quixstreams.models)
-* [quixstreams.models.autooffsetreset](#quixstreams.models.autooffsetreset)
- * [AutoOffsetReset](#quixstreams.models.autooffsetreset.AutoOffsetReset)
- * [Latest](#quixstreams.models.autooffsetreset.AutoOffsetReset.Latest)
- * [Earliest](#quixstreams.models.autooffsetreset.AutoOffsetReset.Earliest)
- * [Error](#quixstreams.models.autooffsetreset.AutoOffsetReset.Error)
-* [quixstreams.models.codecsettings](#quixstreams.models.codecsettings)
- * [CodecSettings](#quixstreams.models.codecsettings.CodecSettings)
- * [set\_global\_codec\_type](#quixstreams.models.codecsettings.CodecSettings.set_global_codec_type)
-* [quixstreams.models.codectype](#quixstreams.models.codectype)
- * [CodecType](#quixstreams.models.codectype.CodecType)
-* [quixstreams.models.commitmode](#quixstreams.models.commitmode)
+* [quixstreams.helpers.exceptionconverter](#quixstreams.helpers.exceptionconverter)
+* [quixstreams.helpers.nativedecorator](#quixstreams.helpers.nativedecorator)
+* [quixstreams.helpers](#quixstreams.helpers)
+* [quixstreams.helpers.enumconverter](#quixstreams.helpers.enumconverter)
+* [quixstreams.raw.rawtopicproducer](#quixstreams.raw.rawtopicproducer)
+ * [RawTopicProducer](#quixstreams.raw.rawtopicproducer.RawTopicProducer)
+ * [\_\_init\_\_](#quixstreams.raw.rawtopicproducer.RawTopicProducer.__init__)
+ * [publish](#quixstreams.raw.rawtopicproducer.RawTopicProducer.publish)
+* [quixstreams.raw.rawtopicconsumer](#quixstreams.raw.rawtopicconsumer)
+ * [RawTopicConsumer](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer)
+ * [\_\_init\_\_](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.__init__)
+ * [on\_message\_received](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_message_received)
+ * [on\_message\_received](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_message_received)
+ * [on\_error\_occurred](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_error_occurred)
+ * [on\_error\_occurred](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_error_occurred)
+ * [subscribe](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.subscribe)
+* [quixstreams.raw.rawmessage](#quixstreams.raw.rawmessage)
+ * [RawMessage](#quixstreams.raw.rawmessage.RawMessage)
+ * [\_\_init\_\_](#quixstreams.raw.rawmessage.RawMessage.__init__)
+ * [get\_net\_pointer](#quixstreams.raw.rawmessage.RawMessage.get_net_pointer)
+ * [key](#quixstreams.raw.rawmessage.RawMessage.key)
+ * [key](#quixstreams.raw.rawmessage.RawMessage.key)
+ * [value](#quixstreams.raw.rawmessage.RawMessage.value)
+ * [value](#quixstreams.raw.rawmessage.RawMessage.value)
+ * [metadata](#quixstreams.raw.rawmessage.RawMessage.metadata)
+* [quixstreams.raw](#quixstreams.raw)
+* [quixstreams.configuration.securityoptions](#quixstreams.configuration.securityoptions)
+ * [SecurityOptions](#quixstreams.configuration.securityoptions.SecurityOptions)
+ * [\_\_init\_\_](#quixstreams.configuration.securityoptions.SecurityOptions.__init__)
+ * [get\_net\_pointer](#quixstreams.configuration.securityoptions.SecurityOptions.get_net_pointer)
+* [quixstreams.configuration.saslmechanism](#quixstreams.configuration.saslmechanism)
+* [quixstreams.configuration](#quixstreams.configuration)
+* [quixstreams.quixstreamingclient](#quixstreams.quixstreamingclient)
+ * [TokenValidationConfiguration](#quixstreams.quixstreamingclient.TokenValidationConfiguration)
+ * [\_\_init\_\_](#quixstreams.quixstreamingclient.TokenValidationConfiguration.__init__)
+ * [enabled](#quixstreams.quixstreamingclient.TokenValidationConfiguration.enabled)
+ * [enabled](#quixstreams.quixstreamingclient.TokenValidationConfiguration.enabled)
+ * [warning\_before\_expiry](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warning_before_expiry)
+ * [warning\_before\_expiry](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warning_before_expiry)
+ * [warn\_about\_pat\_token](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warn_about_pat_token)
+ * [warn\_about\_pat\_token](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warn_about_pat_token)
+ * [get\_net\_pointer](#quixstreams.quixstreamingclient.TokenValidationConfiguration.get_net_pointer)
+ * [QuixStreamingClient](#quixstreams.quixstreamingclient.QuixStreamingClient)
+ * [\_\_init\_\_](#quixstreams.quixstreamingclient.QuixStreamingClient.__init__)
+ * [get\_topic\_consumer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_topic_consumer)
+ * [get\_topic\_producer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_topic_producer)
+ * [get\_raw\_topic\_consumer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_raw_topic_consumer)
+ * [get\_raw\_topic\_producer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_raw_topic_producer)
+ * [token\_validation\_config](#quixstreams.quixstreamingclient.QuixStreamingClient.token_validation_config)
+ * [token\_validation\_config](#quixstreams.quixstreamingclient.QuixStreamingClient.token_validation_config)
+ * [api\_url](#quixstreams.quixstreamingclient.QuixStreamingClient.api_url)
+ * [api\_url](#quixstreams.quixstreamingclient.QuixStreamingClient.api_url)
+ * [cache\_period](#quixstreams.quixstreamingclient.QuixStreamingClient.cache_period)
+ * [cache\_period](#quixstreams.quixstreamingclient.QuixStreamingClient.cache_period)
+ * [get\_net\_pointer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_net_pointer)
+* [quixstreams.topicproducer](#quixstreams.topicproducer)
+ * [TopicProducer](#quixstreams.topicproducer.TopicProducer)
+ * [\_\_init\_\_](#quixstreams.topicproducer.TopicProducer.__init__)
+ * [on\_disposed](#quixstreams.topicproducer.TopicProducer.on_disposed)
+ * [on\_disposed](#quixstreams.topicproducer.TopicProducer.on_disposed)
+ * [create\_stream](#quixstreams.topicproducer.TopicProducer.create_stream)
+ * [get\_stream](#quixstreams.topicproducer.TopicProducer.get_stream)
+ * [get\_or\_create\_stream](#quixstreams.topicproducer.TopicProducer.get_or_create_stream)
* [quixstreams.models.commitoptions](#quixstreams.models.commitoptions)
* [CommitOptions](#quixstreams.models.commitoptions.CommitOptions)
* [\_\_init\_\_](#quixstreams.models.commitoptions.CommitOptions.__init__)
@@ -93,96 +87,22 @@
* [commit\_interval](#quixstreams.models.commitoptions.CommitOptions.commit_interval)
* [commit\_every](#quixstreams.models.commitoptions.CommitOptions.commit_every)
* [commit\_every](#quixstreams.models.commitoptions.CommitOptions.commit_every)
-* [quixstreams.models.eventdata](#quixstreams.models.eventdata)
- * [EventData](#quixstreams.models.eventdata.EventData)
- * [\_\_init\_\_](#quixstreams.models.eventdata.EventData.__init__)
- * [id](#quixstreams.models.eventdata.EventData.id)
- * [id](#quixstreams.models.eventdata.EventData.id)
- * [value](#quixstreams.models.eventdata.EventData.value)
- * [value](#quixstreams.models.eventdata.EventData.value)
- * [tags](#quixstreams.models.eventdata.EventData.tags)
- * [timestamp\_nanoseconds](#quixstreams.models.eventdata.EventData.timestamp_nanoseconds)
- * [timestamp\_milliseconds](#quixstreams.models.eventdata.EventData.timestamp_milliseconds)
- * [timestamp](#quixstreams.models.eventdata.EventData.timestamp)
- * [timestamp\_as\_time\_span](#quixstreams.models.eventdata.EventData.timestamp_as_time_span)
- * [clone](#quixstreams.models.eventdata.EventData.clone)
- * [add\_tag](#quixstreams.models.eventdata.EventData.add_tag)
- * [add\_tags](#quixstreams.models.eventdata.EventData.add_tags)
- * [remove\_tag](#quixstreams.models.eventdata.EventData.remove_tag)
- * [get\_net\_pointer](#quixstreams.models.eventdata.EventData.get_net_pointer)
+* [quixstreams.models.eventlevel](#quixstreams.models.eventlevel)
+* [quixstreams.models.timeseriesdata](#quixstreams.models.timeseriesdata)
+ * [TimeseriesData](#quixstreams.models.timeseriesdata.TimeseriesData)
+ * [\_\_init\_\_](#quixstreams.models.timeseriesdata.TimeseriesData.__init__)
+ * [clone](#quixstreams.models.timeseriesdata.TimeseriesData.clone)
+ * [add\_timestamp](#quixstreams.models.timeseriesdata.TimeseriesData.add_timestamp)
+ * [add\_timestamp\_milliseconds](#quixstreams.models.timeseriesdata.TimeseriesData.add_timestamp_milliseconds)
+ * [add\_timestamp\_nanoseconds](#quixstreams.models.timeseriesdata.TimeseriesData.add_timestamp_nanoseconds)
+ * [timestamps](#quixstreams.models.timeseriesdata.TimeseriesData.timestamps)
+ * [timestamps](#quixstreams.models.timeseriesdata.TimeseriesData.timestamps)
+ * [to\_dataframe](#quixstreams.models.timeseriesdata.TimeseriesData.to_dataframe)
+ * [from\_panda\_dataframe](#quixstreams.models.timeseriesdata.TimeseriesData.from_panda_dataframe)
+ * [get\_net\_pointer](#quixstreams.models.timeseriesdata.TimeseriesData.get_net_pointer)
* [quixstreams.models.eventdefinition](#quixstreams.models.eventdefinition)
* [EventDefinition](#quixstreams.models.eventdefinition.EventDefinition)
* [\_\_init\_\_](#quixstreams.models.eventdefinition.EventDefinition.__init__)
-* [quixstreams.models.eventlevel](#quixstreams.models.eventlevel)
-* [quixstreams.models.netdict](#quixstreams.models.netdict)
- * [ReadOnlyNetDict](#quixstreams.models.netdict.ReadOnlyNetDict)
- * [NetDict](#quixstreams.models.netdict.NetDict)
- * [constructor\_for\_string\_string](#quixstreams.models.netdict.NetDict.constructor_for_string_string)
-* [quixstreams.models.netlist](#quixstreams.models.netlist)
- * [NetReadOnlyList](#quixstreams.models.netlist.NetReadOnlyList)
- * [NetList](#quixstreams.models.netlist.NetList)
- * [constructor\_for\_string](#quixstreams.models.netlist.NetList.constructor_for_string)
-* [quixstreams.models.parameterdefinition](#quixstreams.models.parameterdefinition)
- * [ParameterDefinition](#quixstreams.models.parameterdefinition.ParameterDefinition)
- * [\_\_init\_\_](#quixstreams.models.parameterdefinition.ParameterDefinition.__init__)
-* [quixstreams.models.parametervalue](#quixstreams.models.parametervalue)
- * [ParameterValue](#quixstreams.models.parametervalue.ParameterValue)
- * [\_\_init\_\_](#quixstreams.models.parametervalue.ParameterValue.__init__)
- * [numeric\_value](#quixstreams.models.parametervalue.ParameterValue.numeric_value)
- * [numeric\_value](#quixstreams.models.parametervalue.ParameterValue.numeric_value)
- * [string\_value](#quixstreams.models.parametervalue.ParameterValue.string_value)
- * [string\_value](#quixstreams.models.parametervalue.ParameterValue.string_value)
- * [binary\_value](#quixstreams.models.parametervalue.ParameterValue.binary_value)
- * [binary\_value](#quixstreams.models.parametervalue.ParameterValue.binary_value)
- * [type](#quixstreams.models.parametervalue.ParameterValue.type)
- * [value](#quixstreams.models.parametervalue.ParameterValue.value)
- * [get\_net\_pointer](#quixstreams.models.parametervalue.ParameterValue.get_net_pointer)
-* [quixstreams.models.streamconsumer](#quixstreams.models.streamconsumer)
-* [quixstreams.models.streamconsumer.streameventsconsumer](#quixstreams.models.streamconsumer.streameventsconsumer)
- * [StreamEventsConsumer](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer)
- * [\_\_init\_\_](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.__init__)
- * [on\_data\_received](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_data_received)
- * [on\_data\_received](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_data_received)
- * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_definitions_changed)
- * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_definitions_changed)
- * [definitions](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.definitions)
-* [quixstreams.models.streamconsumer.streampropertiesconsumer](#quixstreams.models.streamconsumer.streampropertiesconsumer)
- * [StreamPropertiesConsumer](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer)
- * [\_\_init\_\_](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.__init__)
- * [on\_changed](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.on_changed)
- * [on\_changed](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.on_changed)
- * [name](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.name)
- * [location](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.location)
- * [time\_of\_recording](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.time_of_recording)
- * [metadata](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.metadata)
- * [parents](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.parents)
- * [get\_net\_pointer](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.get_net_pointer)
-* [quixstreams.models.streamconsumer.streamtimeseriesconsumer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer)
- * [StreamTimeseriesConsumer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer)
- * [\_\_init\_\_](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.__init__)
- * [on\_data\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_data_received)
- * [on\_data\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_data_received)
- * [on\_raw\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_raw_received)
- * [on\_raw\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_raw_received)
- * [on\_dataframe\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_dataframe_received)
- * [on\_dataframe\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_dataframe_received)
- * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_definitions_changed)
- * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_definitions_changed)
- * [definitions](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.definitions)
- * [create\_buffer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.create_buffer)
- * [get\_net\_pointer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.get_net_pointer)
-* [quixstreams.models.streamconsumer.timeseriesbufferconsumer](#quixstreams.models.streamconsumer.timeseriesbufferconsumer)
- * [TimeseriesBufferConsumer](#quixstreams.models.streamconsumer.timeseriesbufferconsumer.TimeseriesBufferConsumer)
- * [\_\_init\_\_](#quixstreams.models.streamconsumer.timeseriesbufferconsumer.TimeseriesBufferConsumer.__init__)
- * [get\_net\_pointer](#quixstreams.models.streamconsumer.timeseriesbufferconsumer.TimeseriesBufferConsumer.get_net_pointer)
-* [quixstreams.models.streamendtype](#quixstreams.models.streamendtype)
-* [quixstreams.models.streampackage](#quixstreams.models.streampackage)
- * [StreamPackage](#quixstreams.models.streampackage.StreamPackage)
- * [\_\_init\_\_](#quixstreams.models.streampackage.StreamPackage.__init__)
- * [transport\_context](#quixstreams.models.streampackage.StreamPackage.transport_context)
- * [to\_json](#quixstreams.models.streampackage.StreamPackage.to_json)
- * [get\_net\_pointer](#quixstreams.models.streampackage.StreamPackage.get_net_pointer)
-* [quixstreams.models.streamproducer](#quixstreams.models.streamproducer)
* [quixstreams.models.streamproducer.streameventsproducer](#quixstreams.models.streamproducer.streameventsproducer)
* [StreamEventsProducer](#quixstreams.models.streamproducer.streameventsproducer.StreamEventsProducer)
* [\_\_init\_\_](#quixstreams.models.streamproducer.streameventsproducer.StreamEventsProducer.__init__)
@@ -198,6 +118,16 @@
* [add\_timestamp\_nanoseconds](#quixstreams.models.streamproducer.streameventsproducer.StreamEventsProducer.add_timestamp_nanoseconds)
* [add\_definition](#quixstreams.models.streamproducer.streameventsproducer.StreamEventsProducer.add_definition)
* [add\_location](#quixstreams.models.streamproducer.streameventsproducer.StreamEventsProducer.add_location)
+* [quixstreams.models.streamproducer.streamtimeseriesproducer](#quixstreams.models.streamproducer.streamtimeseriesproducer)
+ * [StreamTimeseriesProducer](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer)
+ * [\_\_init\_\_](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.__init__)
+ * [flush](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.flush)
+ * [add\_definition](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.add_definition)
+ * [add\_location](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.add_location)
+ * [default\_location](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.default_location)
+ * [default\_location](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.default_location)
+ * [buffer](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.buffer)
+ * [publish](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.publish)
* [quixstreams.models.streamproducer.streampropertiesproducer](#quixstreams.models.streamproducer.streampropertiesproducer)
* [StreamPropertiesProducer](#quixstreams.models.streamproducer.streampropertiesproducer.StreamPropertiesProducer)
* [\_\_init\_\_](#quixstreams.models.streamproducer.streampropertiesproducer.StreamPropertiesProducer.__init__)
@@ -212,16 +142,6 @@
* [flush\_interval](#quixstreams.models.streamproducer.streampropertiesproducer.StreamPropertiesProducer.flush_interval)
* [flush\_interval](#quixstreams.models.streamproducer.streampropertiesproducer.StreamPropertiesProducer.flush_interval)
* [flush](#quixstreams.models.streamproducer.streampropertiesproducer.StreamPropertiesProducer.flush)
-* [quixstreams.models.streamproducer.streamtimeseriesproducer](#quixstreams.models.streamproducer.streamtimeseriesproducer)
- * [StreamTimeseriesProducer](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer)
- * [\_\_init\_\_](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.__init__)
- * [flush](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.flush)
- * [add\_definition](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.add_definition)
- * [add\_location](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.add_location)
- * [default\_location](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.default_location)
- * [default\_location](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.default_location)
- * [buffer](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.buffer)
- * [publish](#quixstreams.models.streamproducer.streamtimeseriesproducer.StreamTimeseriesProducer.publish)
* [quixstreams.models.streamproducer.timeseriesbufferproducer](#quixstreams.models.streamproducer.timeseriesbufferproducer)
* [TimeseriesBufferProducer](#quixstreams.models.streamproducer.timeseriesbufferproducer.TimeseriesBufferProducer)
* [\_\_init\_\_](#quixstreams.models.streamproducer.timeseriesbufferproducer.TimeseriesBufferProducer.__init__)
@@ -232,10 +152,39 @@
* [add\_timestamp\_nanoseconds](#quixstreams.models.streamproducer.timeseriesbufferproducer.TimeseriesBufferProducer.add_timestamp_nanoseconds)
* [flush](#quixstreams.models.streamproducer.timeseriesbufferproducer.TimeseriesBufferProducer.flush)
* [publish](#quixstreams.models.streamproducer.timeseriesbufferproducer.TimeseriesBufferProducer.publish)
-* [quixstreams.models.timeseriesbuffer](#quixstreams.models.timeseriesbuffer)
- * [TimeseriesBuffer](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer)
- * [\_\_init\_\_](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.__init__)
- * [on\_data\_released](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.on_data_released)
+* [quixstreams.models.streamproducer](#quixstreams.models.streamproducer)
+* [quixstreams.models.parameterdefinition](#quixstreams.models.parameterdefinition)
+ * [ParameterDefinition](#quixstreams.models.parameterdefinition.ParameterDefinition)
+ * [\_\_init\_\_](#quixstreams.models.parameterdefinition.ParameterDefinition.__init__)
+* [quixstreams.models.parametervalue](#quixstreams.models.parametervalue)
+ * [ParameterValue](#quixstreams.models.parametervalue.ParameterValue)
+ * [\_\_init\_\_](#quixstreams.models.parametervalue.ParameterValue.__init__)
+ * [numeric\_value](#quixstreams.models.parametervalue.ParameterValue.numeric_value)
+ * [numeric\_value](#quixstreams.models.parametervalue.ParameterValue.numeric_value)
+ * [string\_value](#quixstreams.models.parametervalue.ParameterValue.string_value)
+ * [string\_value](#quixstreams.models.parametervalue.ParameterValue.string_value)
+ * [binary\_value](#quixstreams.models.parametervalue.ParameterValue.binary_value)
+ * [binary\_value](#quixstreams.models.parametervalue.ParameterValue.binary_value)
+ * [type](#quixstreams.models.parametervalue.ParameterValue.type)
+ * [value](#quixstreams.models.parametervalue.ParameterValue.value)
+ * [get\_net\_pointer](#quixstreams.models.parametervalue.ParameterValue.get_net_pointer)
+* [quixstreams.models.timeseriesdataraw](#quixstreams.models.timeseriesdataraw)
+ * [TimeseriesDataRaw](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw)
+ * [\_\_init\_\_](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.__init__)
+ * [to\_dataframe](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.to_dataframe)
+ * [from\_dataframe](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.from_dataframe)
+ * [set\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.set_values)
+ * [epoch](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.epoch)
+ * [timestamps](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.timestamps)
+ * [numeric\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.numeric_values)
+ * [string\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.string_values)
+ * [binary\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.binary_values)
+ * [tag\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.tag_values)
+ * [convert\_to\_timeseriesdata](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.convert_to_timeseriesdata)
+* [quixstreams.models.timeseriesbuffer](#quixstreams.models.timeseriesbuffer)
+ * [TimeseriesBuffer](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer)
+ * [\_\_init\_\_](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.__init__)
+ * [on\_data\_released](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.on_data_released)
* [on\_data\_released](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.on_data_released)
* [on\_raw\_released](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.on_raw_released)
* [on\_raw\_released](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.on_raw_released)
@@ -254,6 +203,60 @@
* [buffer\_timeout](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.buffer_timeout)
* [buffer\_timeout](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.buffer_timeout)
* [get\_net\_pointer](#quixstreams.models.timeseriesbuffer.TimeseriesBuffer.get_net_pointer)
+* [quixstreams.models.streampackage](#quixstreams.models.streampackage)
+ * [StreamPackage](#quixstreams.models.streampackage.StreamPackage)
+ * [\_\_init\_\_](#quixstreams.models.streampackage.StreamPackage.__init__)
+ * [transport\_context](#quixstreams.models.streampackage.StreamPackage.transport_context)
+ * [to\_json](#quixstreams.models.streampackage.StreamPackage.to_json)
+ * [get\_net\_pointer](#quixstreams.models.streampackage.StreamPackage.get_net_pointer)
+* [quixstreams.models.codecsettings](#quixstreams.models.codecsettings)
+ * [CodecSettings](#quixstreams.models.codecsettings.CodecSettings)
+ * [set\_global\_codec\_type](#quixstreams.models.codecsettings.CodecSettings.set_global_codec_type)
+* [quixstreams.models.streamconsumer.streamtimeseriesconsumer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer)
+ * [StreamTimeseriesConsumer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer)
+ * [\_\_init\_\_](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.__init__)
+ * [on\_data\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_data_received)
+ * [on\_data\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_data_received)
+ * [on\_raw\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_raw_received)
+ * [on\_raw\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_raw_received)
+ * [on\_dataframe\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_dataframe_received)
+ * [on\_dataframe\_received](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_dataframe_received)
+ * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_definitions_changed)
+ * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.on_definitions_changed)
+ * [definitions](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.definitions)
+ * [create\_buffer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.create_buffer)
+ * [get\_net\_pointer](#quixstreams.models.streamconsumer.streamtimeseriesconsumer.StreamTimeseriesConsumer.get_net_pointer)
+* [quixstreams.models.streamconsumer.streampropertiesconsumer](#quixstreams.models.streamconsumer.streampropertiesconsumer)
+ * [StreamPropertiesConsumer](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer)
+ * [\_\_init\_\_](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.__init__)
+ * [on\_changed](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.on_changed)
+ * [on\_changed](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.on_changed)
+ * [name](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.name)
+ * [location](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.location)
+ * [time\_of\_recording](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.time_of_recording)
+ * [metadata](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.metadata)
+ * [parents](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.parents)
+ * [get\_net\_pointer](#quixstreams.models.streamconsumer.streampropertiesconsumer.StreamPropertiesConsumer.get_net_pointer)
+* [quixstreams.models.streamconsumer.streameventsconsumer](#quixstreams.models.streamconsumer.streameventsconsumer)
+ * [StreamEventsConsumer](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer)
+ * [\_\_init\_\_](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.__init__)
+ * [on\_data\_received](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_data_received)
+ * [on\_data\_received](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_data_received)
+ * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_definitions_changed)
+ * [on\_definitions\_changed](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.on_definitions_changed)
+ * [definitions](#quixstreams.models.streamconsumer.streameventsconsumer.StreamEventsConsumer.definitions)
+* [quixstreams.models.streamconsumer.timeseriesbufferconsumer](#quixstreams.models.streamconsumer.timeseriesbufferconsumer)
+ * [TimeseriesBufferConsumer](#quixstreams.models.streamconsumer.timeseriesbufferconsumer.TimeseriesBufferConsumer)
+ * [\_\_init\_\_](#quixstreams.models.streamconsumer.timeseriesbufferconsumer.TimeseriesBufferConsumer.__init__)
+ * [get\_net\_pointer](#quixstreams.models.streamconsumer.timeseriesbufferconsumer.TimeseriesBufferConsumer.get_net_pointer)
+* [quixstreams.models.streamconsumer](#quixstreams.models.streamconsumer)
+* [quixstreams.models.commitmode](#quixstreams.models.commitmode)
+* [quixstreams.models.codectype](#quixstreams.models.codectype)
+ * [CodecType](#quixstreams.models.codectype.CodecType)
+* [quixstreams.models.netlist](#quixstreams.models.netlist)
+ * [NetReadOnlyList](#quixstreams.models.netlist.NetReadOnlyList)
+ * [NetList](#quixstreams.models.netlist.NetList)
+ * [constructor\_for\_string](#quixstreams.models.netlist.NetList.constructor_for_string)
* [quixstreams.models.timeseriesbufferconfiguration](#quixstreams.models.timeseriesbufferconfiguration)
* [TimeseriesBufferConfiguration](#quixstreams.models.timeseriesbufferconfiguration.TimeseriesBufferConfiguration)
* [\_\_init\_\_](#quixstreams.models.timeseriesbufferconfiguration.TimeseriesBufferConfiguration.__init__)
@@ -272,28315 +275,5062 @@
* [custom\_trigger](#quixstreams.models.timeseriesbufferconfiguration.TimeseriesBufferConfiguration.custom_trigger)
* [custom\_trigger](#quixstreams.models.timeseriesbufferconfiguration.TimeseriesBufferConfiguration.custom_trigger)
* [get\_net\_pointer](#quixstreams.models.timeseriesbufferconfiguration.TimeseriesBufferConfiguration.get_net_pointer)
-* [quixstreams.models.timeseriesdata](#quixstreams.models.timeseriesdata)
- * [TimeseriesData](#quixstreams.models.timeseriesdata.TimeseriesData)
- * [\_\_init\_\_](#quixstreams.models.timeseriesdata.TimeseriesData.__init__)
- * [clone](#quixstreams.models.timeseriesdata.TimeseriesData.clone)
- * [add\_timestamp](#quixstreams.models.timeseriesdata.TimeseriesData.add_timestamp)
- * [add\_timestamp\_milliseconds](#quixstreams.models.timeseriesdata.TimeseriesData.add_timestamp_milliseconds)
- * [add\_timestamp\_nanoseconds](#quixstreams.models.timeseriesdata.TimeseriesData.add_timestamp_nanoseconds)
- * [timestamps](#quixstreams.models.timeseriesdata.TimeseriesData.timestamps)
- * [timestamps](#quixstreams.models.timeseriesdata.TimeseriesData.timestamps)
- * [to\_dataframe](#quixstreams.models.timeseriesdata.TimeseriesData.to_dataframe)
- * [from\_panda\_dataframe](#quixstreams.models.timeseriesdata.TimeseriesData.from_panda_dataframe)
- * [get\_net\_pointer](#quixstreams.models.timeseriesdata.TimeseriesData.get_net_pointer)
-* [quixstreams.models.timeseriesdataraw](#quixstreams.models.timeseriesdataraw)
- * [TimeseriesDataRaw](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw)
- * [\_\_init\_\_](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.__init__)
- * [to\_dataframe](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.to_dataframe)
- * [from\_dataframe](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.from_dataframe)
- * [set\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.set_values)
- * [epoch](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.epoch)
- * [timestamps](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.timestamps)
- * [numeric\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.numeric_values)
- * [string\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.string_values)
- * [binary\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.binary_values)
- * [tag\_values](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.tag_values)
- * [convert\_to\_timeseriesdata](#quixstreams.models.timeseriesdataraw.TimeseriesDataRaw.convert_to_timeseriesdata)
+* [quixstreams.models.netdict](#quixstreams.models.netdict)
+ * [ReadOnlyNetDict](#quixstreams.models.netdict.ReadOnlyNetDict)
+ * [NetDict](#quixstreams.models.netdict.NetDict)
+ * [constructor\_for\_string\_string](#quixstreams.models.netdict.NetDict.constructor_for_string_string)
* [quixstreams.models.timeseriesdatatimestamp](#quixstreams.models.timeseriesdatatimestamp)
* [TimeseriesDataTimestamp](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp)
* [\_\_init\_\_](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.__init__)
- * [parameters](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.parameters)
- * [tags](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.tags)
- * [timestamp\_nanoseconds](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp_nanoseconds)
- * [timestamp\_milliseconds](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp_milliseconds)
- * [timestamp](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp)
- * [timestamp\_as\_time\_span](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp_as_time_span)
- * [add\_value](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.add_value)
- * [remove\_value](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.remove_value)
- * [add\_tag](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.add_tag)
- * [remove\_tag](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.remove_tag)
- * [add\_tags](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.add_tags)
- * [get\_net\_pointer](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.get_net_pointer)
-* [quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array)
- * [Array](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array)
- * [ReadBlittables](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadBlittables)
- * [WriteBlittables](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteBlittables)
- * [ReadArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadArray)
- * [WriteArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteArray)
- * [ReadNullables](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadNullables)
- * [ReadLongs](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadLongs)
- * [ReadLongsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadLongsArray)
- * [WriteLongs](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteLongs)
- * [WriteLongsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteLongsArray)
- * [ReadStrings](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadStrings)
- * [ReadStringsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadStringsArray)
- * [WriteStrings](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteStrings)
- * [WriteStringsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteStringsArray)
- * [ReadDoubles](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadDoubles)
- * [ReadDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadDoublesArray)
- * [WriteDoubles](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteDoubles)
- * [WriteDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteDoublesArray)
- * [ReadPointers](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadPointers)
- * [ReadPointersArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadPointersArray)
- * [WritePointers](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WritePointers)
- * [WritePointersArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WritePointersArray)
- * [ReadBytes](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadBytes)
- * [ReadBytesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadBytesArray)
- * [WriteBytes](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteBytes)
- * [WriteBytesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteBytesArray)
- * [ReadNullableDoubles](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadNullableDoubles)
- * [ReadNullableDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.ReadNullableDoublesArray)
- * [WriteNullableDoubles](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteNullableDoubles)
- * [WriteNullableDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array.Array.WriteNullableDoublesArray)
-* [quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Collection](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Collection)
-* [quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary)
- * [Dictionary](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary)
- * [ReadAnyHPtrToUPtr](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadAnyHPtrToUPtr)
- * [WriteBlittables](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteBlittables)
- * [ReadBlittables](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadBlittables)
- * [WriteStringPointers](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteStringPointers)
- * [ReadStringPointers](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadStringPointers)
- * [WriteStringDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteStringDoublesArray)
- * [ReadStringDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadStringDoublesArray)
- * [WriteStringLongsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteStringLongsArray)
- * [ReadStringLongsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadStringLongsArray)
- * [WriteStringStrings](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteStringStrings)
- * [ReadStringStrings](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadStringStrings)
- * [WriteStringStringsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteStringStringsArray)
- * [ReadStringStringsArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadStringStringsArray)
- * [WriteStringBytesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteStringBytesArray)
- * [ReadStringBytesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadStringBytesArray)
- * [WriteStringNullableDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.WriteStringNullableDoublesArray)
- * [ReadStringNullableDoublesArray](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary.Dictionary.ReadStringNullableDoublesArray)
-* [quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Enumerable](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Enumerable)
- * [Enumerable](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Enumerable.Enumerable)
- * [ReadAny](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Enumerable.Enumerable.ReadAny)
-* [quixstreams.native.Python.InteropHelpers.ExternalTypes.System.List](#quixstreams.native.Python.InteropHelpers.ExternalTypes.System.List)
-* [quixstreams.native.Python.InteropHelpers.InteropUtils](#quixstreams.native.Python.InteropHelpers.InteropUtils)
- * [InteropUtils](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils)
- * [set\_exception\_callback](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.set_exception_callback)
- * [log\_debug](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.log_debug)
- * [enable\_debug](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.enable_debug)
- * [disable\_debug](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.disable_debug)
- * [pin\_hptr\_target](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.pin_hptr_target)
- * [get\_pin\_address](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.get_pin_address)
- * [free\_hptr](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.free_hptr)
- * [free\_uptr](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.free_uptr)
- * [allocate\_uptr](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.allocate_uptr)
- * [invoke\_and\_free](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.invoke_and_free)
- * [dict\_nullables](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.dict_nullables)
- * [create\_nullable](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.create_nullable)
- * [dict\_mem\_nullables](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.dict_mem_nullables)
- * [create\_mem\_nullable](#quixstreams.native.Python.InteropHelpers.InteropUtils.InteropUtils.create_mem_nullable)
-* [quixstreams.native.Python.MicrosoftExtensionsLoggingAbstractions.Microsoft.Extensions.Logging.LogLevel](#quixstreams.native.Python.MicrosoftExtensionsLoggingAbstractions.Microsoft.Extensions.Logging.LogLevel)
-* [quixstreams.native.Python.QuixStreamsState.StateValue](#quixstreams.native.Python.QuixStreamsState.StateValue)
- * [StateValue](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.Constructor2)
- * [Constructor3](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.Constructor3)
- * [Constructor4](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.Constructor4)
- * [Constructor5](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.Constructor5)
- * [Constructor6](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.Constructor6)
- * [get\_Type](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.get_Type)
- * [get\_DoubleValue](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.get_DoubleValue)
- * [get\_LongValue](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.get_LongValue)
- * [get\_StringValue](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.get_StringValue)
- * [get\_BoolValue](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.get_BoolValue)
- * [get\_BinaryValue](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.get_BinaryValue)
- * [Equals](#quixstreams.native.Python.QuixStreamsState.StateValue.StateValue.Equals)
-* [quixstreams.native.Python.QuixStreamsState.StateValue\_StateType](#quixstreams.native.Python.QuixStreamsState.StateValue_StateType)
-* [quixstreams.native.Python.QuixStreamsState.Storage.FileStorage.LocalFileStorage.LocalFileStorage](#quixstreams.native.Python.QuixStreamsState.Storage.FileStorage.LocalFileStorage.LocalFileStorage)
- * [LocalFileStorage](#quixstreams.native.Python.QuixStreamsState.Storage.FileStorage.LocalFileStorage.LocalFileStorage.LocalFileStorage)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsState.Storage.FileStorage.LocalFileStorage.LocalFileStorage.LocalFileStorage.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsState.Storage.FileStorage.LocalFileStorage.LocalFileStorage.LocalFileStorage.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsState.Storage.FileStorage.LocalFileStorage.LocalFileStorage.LocalFileStorage.Constructor)
-* [quixstreams.native.Python.QuixStreamsState.Storage.IStateStorage](#quixstreams.native.Python.QuixStreamsState.Storage.IStateStorage)
- * [IStateStorage](#quixstreams.native.Python.QuixStreamsState.Storage.IStateStorage.IStateStorage)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsState.Storage.IStateStorage.IStateStorage.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsState.Storage.IStateStorage.IStateStorage.__init__)
-* [quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions)
- * [StorageExtensions](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions)
- * [Set](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Set)
- * [Set2](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Set2)
- * [Set3](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Set3)
- * [Set4](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Set4)
- * [Set5](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Set5)
- * [Set6](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Set6)
- * [Get](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Get)
- * [GetDouble](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.GetDouble)
- * [GetString](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.GetString)
- * [GetBool](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.GetBool)
- * [GetLong](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.GetLong)
- * [GetBinary](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.GetBinary)
- * [Remove](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Remove)
- * [ContainsKey](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.ContainsKey)
- * [GetAllKeys](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.GetAllKeys)
- * [Clear](#quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions.StorageExtensions.Clear)
-* [quixstreams.native.Python.QuixStreamsStreaming.App](#quixstreams.native.Python.QuixStreamsStreaming.App)
- * [App](#quixstreams.native.Python.QuixStreamsStreaming.App.App)
- * [Run](#quixstreams.native.Python.QuixStreamsStreaming.App.App.Run)
-* [quixstreams.native.Python.QuixStreamsStreaming.Configuration.SaslMechanism](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SaslMechanism)
-* [quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions)
- * [SecurityOptions](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.Constructor2)
- * [get\_SaslMechanism](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.get_SaslMechanism)
- * [set\_SaslMechanism](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.set_SaslMechanism)
- * [get\_Username](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.get_Username)
- * [set\_Username](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.set_Username)
- * [get\_Password](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.get_Password)
- * [set\_Password](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.set_Password)
- * [get\_SslCertificates](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.get_SslCertificates)
- * [set\_SslCertificates](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.set_SslCertificates)
- * [get\_UseSsl](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.get_UseSsl)
- * [set\_UseSsl](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.set_UseSsl)
- * [get\_UseSasl](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.get_UseSasl)
- * [set\_UseSasl](#quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions.SecurityOptions.set_UseSasl)
-* [quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer)
- * [IStreamConsumer](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.__init__)
- * [get\_StreamId](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.get_StreamId)
- * [get\_Properties](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.get_Properties)
- * [get\_Timeseries](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.get_Timeseries)
- * [get\_Events](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.get_Events)
- * [add\_OnPackageReceived](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.add_OnPackageReceived)
- * [remove\_OnPackageReceived](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.remove_OnPackageReceived)
- * [add\_OnStreamClosed](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.add_OnStreamClosed)
- * [remove\_OnStreamClosed](#quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer.IStreamConsumer.remove_OnStreamClosed)
-* [quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer)
- * [IStreamProducer](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.__init__)
- * [get\_StreamId](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.get_StreamId)
- * [get\_Epoch](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.get_Epoch)
- * [set\_Epoch](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.set_Epoch)
- * [get\_Properties](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.get_Properties)
- * [get\_Timeseries](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.get_Timeseries)
- * [get\_Events](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.get_Events)
- * [Flush](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.Flush)
- * [Close](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.Close)
- * [add\_OnWriteException](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.add_OnWriteException)
- * [remove\_OnWriteException](#quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer.IStreamProducer.remove_OnWriteException)
-* [quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer)
- * [ITopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.__init__)
- * [Subscribe](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.Subscribe)
- * [add\_OnStreamReceived](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.add_OnStreamReceived)
- * [remove\_OnStreamReceived](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.remove_OnStreamReceived)
- * [add\_OnRevoking](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.add_OnRevoking)
- * [remove\_OnRevoking](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.remove_OnRevoking)
- * [add\_OnStreamsRevoked](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.add_OnStreamsRevoked)
- * [remove\_OnStreamsRevoked](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.remove_OnStreamsRevoked)
- * [add\_OnCommitted](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.add_OnCommitted)
- * [remove\_OnCommitted](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.remove_OnCommitted)
- * [add\_OnCommitting](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.add_OnCommitting)
- * [remove\_OnCommitting](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.remove_OnCommitting)
- * [Commit](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.Commit)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer.ITopicConsumer.remove_OnDisposed)
-* [quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer)
- * [ITopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.__init__)
- * [CreateStream](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.CreateStream)
- * [CreateStream2](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.CreateStream2)
- * [GetStream](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.GetStream)
- * [GetOrCreateStream](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.GetOrCreateStream)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer.ITopicProducer.remove_OnDisposed)
-* [quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient)
- * [KafkaStreamingClient](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient.Constructor)
- * [GetTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient.GetTopicConsumer)
- * [GetRawTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient.GetRawTopicConsumer)
- * [GetRawTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient.GetRawTopicProducer)
- * [GetTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient.KafkaStreamingClient.GetTopicProducer)
-* [quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClientExtensions](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClientExtensions)
- * [KafkaStreamingClientExtensions](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClientExtensions.KafkaStreamingClientExtensions)
- * [GetTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClientExtensions.KafkaStreamingClientExtensions.GetTopicConsumer)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.CommitMode](#quixstreams.native.Python.QuixStreamsStreaming.Models.CommitMode)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.EventData](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData)
- * [EventData](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.Constructor2)
- * [Constructor3](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.Constructor3)
- * [Clone](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.Clone)
- * [get\_Id](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.get_Id)
- * [set\_Id](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.set_Id)
- * [get\_Value](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.get_Value)
- * [set\_Value](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.set_Value)
- * [get\_Tags](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.get_Tags)
- * [AddTag](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.AddTag)
- * [AddTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.AddTags)
- * [RemoveTag](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.RemoveTag)
- * [get\_TimestampNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.get_TimestampNanoseconds)
- * [get\_TimestampMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.get_TimestampMilliseconds)
- * [get\_Timestamp](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.get_Timestamp)
- * [get\_TimestampAsTimeSpan](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventData.EventData.get_TimestampAsTimeSpan)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition)
- * [EventDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.Constructor)
- * [get\_Id](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.get_Id)
- * [get\_Name](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.get_Name)
- * [get\_Description](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.get_Description)
- * [get\_Location](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.get_Location)
- * [get\_CustomProperties](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.get_CustomProperties)
- * [get\_Level](#quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition.EventDefinition.get_Level)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition)
- * [ParameterDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.Constructor)
- * [get\_Id](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_Id)
- * [get\_Name](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_Name)
- * [get\_Description](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_Description)
- * [get\_Location](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_Location)
- * [get\_MinimumValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_MinimumValue)
- * [get\_MaximumValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_MaximumValue)
- * [get\_Unit](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_Unit)
- * [get\_Format](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_Format)
- * [get\_CustomProperties](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition.ParameterDefinition.get_CustomProperties)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue)
- * [ParameterValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.__init__)
- * [get\_ParameterId](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.get_ParameterId)
- * [get\_NumericValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.get_NumericValue)
- * [set\_NumericValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.set_NumericValue)
- * [get\_StringValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.get_StringValue)
- * [set\_StringValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.set_StringValue)
- * [get\_BinaryValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.get_BinaryValue)
- * [set\_BinaryValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.set_BinaryValue)
- * [get\_Value](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.get_Value)
- * [op\_Equality](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.op_Equality)
- * [op\_Inequality](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.op_Inequality)
- * [Equals](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.Equals)
- * [GetHashCode](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.GetHashCode)
- * [ToString](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.ToString)
- * [get\_Type](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue.ParameterValue.get_Type)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValueType](#quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValueType)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs)
- * [EventDataReadEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs.EventDataReadEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs.EventDataReadEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs.EventDataReadEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs.EventDataReadEventArgs.Constructor)
- * [get\_TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs.EventDataReadEventArgs.get_TopicConsumer)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs.EventDataReadEventArgs.get_Stream)
- * [get\_Data](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs.EventDataReadEventArgs.get_Data)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs)
- * [EventDefinitionsChangedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs.EventDefinitionsChangedEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs.EventDefinitionsChangedEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs.EventDefinitionsChangedEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs.EventDefinitionsChangedEventArgs.Constructor)
- * [get\_TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs.EventDefinitionsChangedEventArgs.get_TopicConsumer)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs.EventDefinitionsChangedEventArgs.get_Stream)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs)
- * [ParameterDefinitionsChangedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs.ParameterDefinitionsChangedEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs.ParameterDefinitionsChangedEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs.ParameterDefinitionsChangedEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs.ParameterDefinitionsChangedEventArgs.Constructor)
- * [get\_TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs.ParameterDefinitionsChangedEventArgs.get_TopicConsumer)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs.ParameterDefinitionsChangedEventArgs.get_Stream)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer)
- * [StreamEventsConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.__init__)
- * [add\_OnDataReceived](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.add_OnDataReceived)
- * [remove\_OnDataReceived](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.remove_OnDataReceived)
- * [add\_OnDefinitionsChanged](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.add_OnDefinitionsChanged)
- * [remove\_OnDefinitionsChanged](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.remove_OnDefinitionsChanged)
- * [get\_Definitions](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.get_Definitions)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer.StreamEventsConsumer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs)
- * [StreamPropertiesChangedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs.StreamPropertiesChangedEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs.StreamPropertiesChangedEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs.StreamPropertiesChangedEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs.StreamPropertiesChangedEventArgs.Constructor)
- * [get\_TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs.StreamPropertiesChangedEventArgs.get_TopicConsumer)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs.StreamPropertiesChangedEventArgs.get_Stream)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer)
- * [StreamPropertiesConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.__init__)
- * [add\_OnChanged](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.add_OnChanged)
- * [remove\_OnChanged](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.remove_OnChanged)
- * [get\_Name](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.get_Name)
- * [get\_Location](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.get_Location)
- * [get\_TimeOfRecording](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.get_TimeOfRecording)
- * [get\_Metadata](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.get_Metadata)
- * [get\_Parents](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.get_Parents)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer.StreamPropertiesConsumer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer)
- * [StreamTimeseriesConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.__init__)
- * [CreateBuffer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.CreateBuffer)
- * [CreateBuffer2](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.CreateBuffer2)
- * [add\_OnDefinitionsChanged](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.add_OnDefinitionsChanged)
- * [remove\_OnDefinitionsChanged](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.remove_OnDefinitionsChanged)
- * [add\_OnDataReceived](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.add_OnDataReceived)
- * [remove\_OnDataReceived](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.remove_OnDataReceived)
- * [add\_OnRawReceived](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.add_OnRawReceived)
- * [remove\_OnRawReceived](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.remove_OnRawReceived)
- * [get\_Definitions](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.get_Definitions)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer.StreamTimeseriesConsumer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesBufferConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesBufferConsumer)
- * [TimeseriesBufferConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesBufferConsumer.TimeseriesBufferConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesBufferConsumer.TimeseriesBufferConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesBufferConsumer.TimeseriesBufferConsumer.__init__)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesBufferConsumer.TimeseriesBufferConsumer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs)
- * [TimeseriesDataRawReadEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs.TimeseriesDataRawReadEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs.TimeseriesDataRawReadEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs.TimeseriesDataRawReadEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs.TimeseriesDataRawReadEventArgs.Constructor)
- * [get\_Topic](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs.TimeseriesDataRawReadEventArgs.get_Topic)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs.TimeseriesDataRawReadEventArgs.get_Stream)
- * [get\_Data](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs.TimeseriesDataRawReadEventArgs.get_Data)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs)
- * [TimeseriesDataReadEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs.TimeseriesDataReadEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs.TimeseriesDataReadEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs.TimeseriesDataReadEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs.TimeseriesDataReadEventArgs.Constructor)
- * [get\_Topic](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs.TimeseriesDataReadEventArgs.get_Topic)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs.TimeseriesDataReadEventArgs.get_Stream)
- * [get\_Data](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs.TimeseriesDataReadEventArgs.get_Data)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder)
- * [EventDataBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder.Constructor)
- * [AddValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder.AddValue)
- * [AddTag](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder.AddTag)
- * [AddTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder.AddTags)
- * [Publish](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder.EventDataBuilder.Publish)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder)
- * [EventDefinitionBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder.EventDefinitionBuilder)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder.EventDefinitionBuilder.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder.EventDefinitionBuilder.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder.EventDefinitionBuilder.Constructor)
- * [SetLevel](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder.EventDefinitionBuilder.SetLevel)
- * [SetCustomProperties](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder.EventDefinitionBuilder.SetCustomProperties)
- * [AddDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder.EventDefinitionBuilder.AddDefinition)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder)
- * [ParameterDefinitionBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.Constructor)
- * [SetRange](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.SetRange)
- * [SetUnit](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.SetUnit)
- * [SetFormat](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.SetFormat)
- * [SetCustomProperties](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.SetCustomProperties)
- * [AddDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder.ParameterDefinitionBuilder.AddDefinition)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer)
- * [StreamEventsProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.__init__)
- * [get\_DefaultTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.get_DefaultTags)
- * [set\_DefaultTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.set_DefaultTags)
- * [get\_DefaultLocation](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.get_DefaultLocation)
- * [set\_DefaultLocation](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.set_DefaultLocation)
- * [get\_Epoch](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.get_Epoch)
- * [set\_Epoch](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.set_Epoch)
- * [AddTimestamp](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.AddTimestamp)
- * [AddTimestamp2](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.AddTimestamp2)
- * [AddTimestampMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.AddTimestampMilliseconds)
- * [AddTimestampNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.AddTimestampNanoseconds)
- * [AddDefinitions](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.AddDefinitions)
- * [AddDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.AddDefinition)
- * [AddLocation](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.AddLocation)
- * [Flush](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.Flush)
- * [Publish](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.Publish)
- * [Publish2](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.Publish2)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer.StreamEventsProducer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer)
- * [StreamPropertiesProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.__init__)
- * [get\_FlushInterval](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.get_FlushInterval)
- * [set\_FlushInterval](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.set_FlushInterval)
- * [get\_Name](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.get_Name)
- * [set\_Name](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.set_Name)
- * [get\_Location](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.get_Location)
- * [set\_Location](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.set_Location)
- * [get\_TimeOfRecording](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.get_TimeOfRecording)
- * [set\_TimeOfRecording](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.set_TimeOfRecording)
- * [get\_Metadata](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.get_Metadata)
- * [get\_Parents](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.get_Parents)
- * [AddParent](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.AddParent)
- * [RemoveParent](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.RemoveParent)
- * [Flush](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.Flush)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer.StreamPropertiesProducer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer)
- * [StreamTimeseriesProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.__init__)
- * [get\_Buffer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.get_Buffer)
- * [Publish](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.Publish)
- * [Publish2](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.Publish2)
- * [get\_DefaultLocation](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.get_DefaultLocation)
- * [set\_DefaultLocation](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.set_DefaultLocation)
- * [AddDefinitions](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.AddDefinitions)
- * [AddDefinition](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.AddDefinition)
- * [AddLocation](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.AddLocation)
- * [Flush](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.Flush)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer.StreamTimeseriesProducer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer)
- * [TimeseriesBufferProducer](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.__init__)
- * [get\_Epoch](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.get_Epoch)
- * [set\_Epoch](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.set_Epoch)
- * [AddTimestamp](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.AddTimestamp)
- * [AddTimestamp2](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.AddTimestamp2)
- * [AddTimestampMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.AddTimestampMilliseconds)
- * [AddTimestampNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.AddTimestampNanoseconds)
- * [Publish](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.Publish)
- * [get\_DefaultTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.get_DefaultTags)
- * [set\_DefaultTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.set_DefaultTags)
- * [Flush](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.Flush)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer.TimeseriesBufferProducer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder)
- * [TimeseriesDataBuilder](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.Constructor)
- * [AddValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.AddValue)
- * [AddValue2](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.AddValue2)
- * [AddValue3](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.AddValue3)
- * [AddTag](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.AddTag)
- * [AddTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.AddTags)
- * [Publish](#quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder.TimeseriesDataBuilder.Publish)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer)
- * [TimeseriesBuffer](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.__init__)
- * [add\_OnDataReleased](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.add_OnDataReleased)
- * [remove\_OnDataReleased](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.remove_OnDataReleased)
- * [add\_OnRawReleased](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.add_OnRawReleased)
- * [remove\_OnRawReleased](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.remove_OnRawReleased)
- * [get\_PacketSize](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.get_PacketSize)
- * [set\_PacketSize](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.set_PacketSize)
- * [get\_BufferTimeout](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.get_BufferTimeout)
- * [set\_BufferTimeout](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.set_BufferTimeout)
- * [get\_TimeSpanInNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.get_TimeSpanInNanoseconds)
- * [set\_TimeSpanInNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.set_TimeSpanInNanoseconds)
- * [get\_TimeSpanInMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.get_TimeSpanInMilliseconds)
- * [set\_TimeSpanInMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.set_TimeSpanInMilliseconds)
- * [get\_Filter](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.get_Filter)
- * [set\_Filter](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.set_Filter)
- * [get\_CustomTriggerBeforeEnqueue](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.get_CustomTriggerBeforeEnqueue)
- * [set\_CustomTriggerBeforeEnqueue](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.set_CustomTriggerBeforeEnqueue)
- * [get\_CustomTrigger](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.get_CustomTrigger)
- * [set\_CustomTrigger](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.set_CustomTrigger)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer.TimeseriesBuffer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration)
- * [TimeseriesBufferConfiguration](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.Constructor)
- * [get\_PacketSize](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.get_PacketSize)
- * [set\_PacketSize](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.set_PacketSize)
- * [get\_TimeSpanInNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.get_TimeSpanInNanoseconds)
- * [set\_TimeSpanInNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.set_TimeSpanInNanoseconds)
- * [get\_TimeSpanInMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.get_TimeSpanInMilliseconds)
- * [set\_TimeSpanInMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.set_TimeSpanInMilliseconds)
- * [get\_CustomTriggerBeforeEnqueue](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.get_CustomTriggerBeforeEnqueue)
- * [set\_CustomTriggerBeforeEnqueue](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.set_CustomTriggerBeforeEnqueue)
- * [get\_CustomTrigger](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.get_CustomTrigger)
- * [set\_CustomTrigger](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.set_CustomTrigger)
- * [get\_Filter](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.get_Filter)
- * [set\_Filter](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.set_Filter)
- * [get\_BufferTimeout](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.get_BufferTimeout)
- * [set\_BufferTimeout](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration.TimeseriesBufferConfiguration.set_BufferTimeout)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData)
- * [TimeseriesData](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.Constructor2)
- * [Constructor3](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.Constructor3)
- * [Clone](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.Clone)
- * [get\_Timestamps](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.get_Timestamps)
- * [AddTimestamp](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.AddTimestamp)
- * [AddTimestamp2](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.AddTimestamp2)
- * [AddTimestampMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.AddTimestampMilliseconds)
- * [AddTimestampNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.AddTimestampNanoseconds)
- * [Equals](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.Equals)
- * [GetHashCode](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData.TimeseriesData.GetHashCode)
-* [quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp)
- * [TimeseriesDataTimestamp](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.__init__)
- * [get\_Parameters](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.get_Parameters)
- * [get\_Tags](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.get_Tags)
- * [get\_TimestampNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.get_TimestampNanoseconds)
- * [set\_TimestampNanoseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.set_TimestampNanoseconds)
- * [get\_TimestampMilliseconds](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.get_TimestampMilliseconds)
- * [get\_Timestamp](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.get_Timestamp)
- * [get\_TimestampAsTimeSpan](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.get_TimestampAsTimeSpan)
- * [AddValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.AddValue)
- * [AddValue2](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.AddValue2)
- * [AddValue3](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.AddValue3)
- * [AddValue4](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.AddValue4)
- * [RemoveValue](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.RemoveValue)
- * [AddTag](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.AddTag)
- * [AddTags](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.AddTags)
- * [RemoveTag](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.RemoveTag)
- * [Equals](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.Equals)
- * [GetHashCode](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.GetHashCode)
- * [ToString](#quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp.TimeseriesDataTimestamp.ToString)
-* [quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs)
- * [PackageReceivedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs.PackageReceivedEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs.PackageReceivedEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs.PackageReceivedEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs.PackageReceivedEventArgs.Constructor)
- * [get\_TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs.PackageReceivedEventArgs.get_TopicConsumer)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs.PackageReceivedEventArgs.get_Stream)
- * [get\_Package](#quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs.PackageReceivedEventArgs.get_Package)
-* [quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient)
- * [QuixStreamingClient](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.Constructor)
- * [get\_TokenValidationConfig](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.get_TokenValidationConfig)
- * [set\_TokenValidationConfig](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.set_TokenValidationConfig)
- * [GetTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.GetTopicConsumer)
- * [GetRawTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.GetRawTopicConsumer)
- * [GetRawTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.GetRawTopicProducer)
- * [GetTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.GetTopicProducer)
- * [get\_ApiUrl](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.get_ApiUrl)
- * [set\_ApiUrl](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.set_ApiUrl)
- * [get\_CachePeriod](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.get_CachePeriod)
- * [set\_CachePeriod](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient.QuixStreamingClient.set_CachePeriod)
-* [quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClientExtensions](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClientExtensions)
- * [QuixStreamingClientExtensions](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClientExtensions.QuixStreamingClientExtensions)
- * [GetTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClientExtensions.QuixStreamingClientExtensions.GetTopicConsumer)
-* [quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient\_TokenValidationConfiguration](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration)
- * [TokenValidationConfiguration](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.Constructor)
- * [get\_Enabled](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.get_Enabled)
- * [set\_Enabled](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.set_Enabled)
- * [get\_WarningBeforeExpiry](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.get_WarningBeforeExpiry)
- * [set\_WarningBeforeExpiry](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.set_WarningBeforeExpiry)
- * [get\_WarnAboutNonPatToken](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.get_WarnAboutNonPatToken)
- * [set\_WarnAboutNonPatToken](#quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient_TokenValidationConfiguration.TokenValidationConfiguration.set_WarnAboutNonPatToken)
-* [quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer)
- * [IRawTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.__init__)
- * [Subscribe](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.Subscribe)
- * [add\_OnMessageReceived](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.add_OnMessageReceived)
- * [remove\_OnMessageReceived](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.remove_OnMessageReceived)
- * [add\_OnErrorOccurred](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.add_OnErrorOccurred)
- * [remove\_OnErrorOccurred](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.remove_OnErrorOccurred)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer.IRawTopicConsumer.remove_OnDisposed)
-* [quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer)
- * [IRawTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer.IRawTopicProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer.IRawTopicProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer.IRawTopicProducer.__init__)
- * [Publish](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer.IRawTopicProducer.Publish)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer.IRawTopicProducer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer.IRawTopicProducer.remove_OnDisposed)
-* [quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage)
- * [RawMessage](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.Constructor2)
- * [get\_Metadata](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.get_Metadata)
- * [get\_Key](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.get_Key)
- * [set\_Key](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.set_Key)
- * [get\_Value](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.get_Value)
- * [set\_Value](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage.RawMessage.set_Value)
-* [quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer)
- * [RawTopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.Constructor)
- * [add\_OnMessageReceived](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.add_OnMessageReceived)
- * [remove\_OnMessageReceived](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.remove_OnMessageReceived)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.remove_OnDisposed)
- * [add\_OnErrorOccurred](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.add_OnErrorOccurred)
- * [remove\_OnErrorOccurred](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.remove_OnErrorOccurred)
- * [Subscribe](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.Subscribe)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer.RawTopicConsumer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer)
- * [RawTopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer.Constructor)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer.remove_OnDisposed)
- * [Publish](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer.Publish)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer.RawTopicProducer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs)
- * [StreamClosedEventArgs](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs.StreamClosedEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs.StreamClosedEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs.StreamClosedEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs.StreamClosedEventArgs.Constructor)
- * [get\_TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs.StreamClosedEventArgs.get_TopicConsumer)
- * [get\_Stream](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs.StreamClosedEventArgs.get_Stream)
- * [get\_EndType](#quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs.StreamClosedEventArgs.get_EndType)
-* [quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues)
- * [TimeseriesDataTimestampValues](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.__init__)
- * [get\_Values](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.get_Values)
- * [ContainsKey](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.ContainsKey)
- * [TryGetValue](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.TryGetValue)
- * [get\_Count](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.get_Count)
- * [get\_Keys](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.get_Keys)
- * [get\_Item](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.get_Item)
- * [Equals](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.Equals)
- * [GetHashCode](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.GetHashCode)
- * [ToString](#quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues.TimeseriesDataTimestampValues.ToString)
-* [quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer)
- * [TopicConsumer](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.Constructor)
- * [add\_OnStreamReceived](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.add_OnStreamReceived)
- * [remove\_OnStreamReceived](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.remove_OnStreamReceived)
- * [add\_OnRevoking](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.add_OnRevoking)
- * [remove\_OnRevoking](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.remove_OnRevoking)
- * [add\_OnStreamsRevoked](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.add_OnStreamsRevoked)
- * [remove\_OnStreamsRevoked](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.remove_OnStreamsRevoked)
- * [add\_OnCommitted](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.add_OnCommitted)
- * [remove\_OnCommitted](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.remove_OnCommitted)
- * [add\_OnCommitting](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.add_OnCommitting)
- * [remove\_OnCommitting](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.remove_OnCommitting)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.remove_OnDisposed)
- * [Commit](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.Commit)
- * [Subscribe](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.Subscribe)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer.TopicConsumer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.TopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer)
- * [TopicProducer](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.Constructor2)
- * [add\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.add_OnDisposed)
- * [remove\_OnDisposed](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.remove_OnDisposed)
- * [CreateStream](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.CreateStream)
- * [CreateStream2](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.CreateStream2)
- * [GetStream](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.GetStream)
- * [GetOrCreateStream](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.GetOrCreateStream)
- * [RemoveStream](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.RemoveStream)
- * [Dispose](#quixstreams.native.Python.QuixStreamsStreaming.TopicProducer.TopicProducer.Dispose)
-* [quixstreams.native.Python.QuixStreamsStreaming.Utils.CodecSettings](#quixstreams.native.Python.QuixStreamsStreaming.Utils.CodecSettings)
- * [CodecSettings](#quixstreams.native.Python.QuixStreamsStreaming.Utils.CodecSettings.CodecSettings)
- * [SetGlobalCodecType](#quixstreams.native.Python.QuixStreamsStreaming.Utils.CodecSettings.CodecSettings.SetGlobalCodecType)
- * [get\_CurrentCodec](#quixstreams.native.Python.QuixStreamsStreaming.Utils.CodecSettings.CodecSettings.get_CurrentCodec)
- * [set\_CurrentCodec](#quixstreams.native.Python.QuixStreamsStreaming.Utils.CodecSettings.CodecSettings.set_CurrentCodec)
-* [quixstreams.native.Python.QuixStreamsStreaming.Utils.QuixUtils](#quixstreams.native.Python.QuixStreamsStreaming.Utils.QuixUtils)
- * [QuixUtils](#quixstreams.native.Python.QuixStreamsStreaming.Utils.QuixUtils.QuixUtils)
- * [TryGetWorkspaceIdPrefix](#quixstreams.native.Python.QuixStreamsStreaming.Utils.QuixUtils.QuixUtils.TryGetWorkspaceIdPrefix)
-* [quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags)
- * [TimeseriesDataTimestampTags](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.__init__)
- * [GetEnumerator](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.GetEnumerator)
- * [get\_Item](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.get_Item)
- * [get\_Keys](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.get_Keys)
- * [get\_Values](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.get_Values)
- * [get\_Count](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.get_Count)
- * [ContainsKey](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.ContainsKey)
- * [TryGetValue](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.TryGetValue)
- * [Equals](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.Equals)
- * [GetHashCode](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.GetHashCode)
- * [ToString](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags.TimeseriesDataTimestampTags.ToString)
-* [quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps)
- * [TimeseriesDataTimestamps](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.__init__)
- * [GetEnumerator](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.GetEnumerator)
- * [get\_Item](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.get_Item)
- * [get\_Count](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.get_Count)
- * [Equals](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.Equals)
- * [GetHashCode](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.GetHashCode)
- * [ToString](#quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps.TimeseriesDataTimestamps.ToString)
-* [quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline)
- * [IStreamPipeline](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.__init__)
- * [get\_StreamId](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.get_StreamId)
- * [get\_SourceMetadata](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.get_SourceMetadata)
- * [set\_SourceMetadata](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.set_SourceMetadata)
- * [Subscribe3](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.Subscribe3)
- * [Close](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.Close)
- * [add\_OnClosing](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.add_OnClosing)
- * [remove\_OnClosing](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.remove_OnClosing)
- * [add\_OnClosed](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.add_OnClosed)
- * [remove\_OnClosed](#quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline.IStreamPipeline.remove_OnClosed)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Kafka.AutoOffsetReset](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.AutoOffsetReset)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration)
- * [KafkaProducerConfiguration](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration.Constructor)
- * [get\_BrokerList](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration.get_BrokerList)
- * [get\_MaxMessageSize](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration.get_MaxMessageSize)
- * [get\_MaxKeySize](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration.get_MaxKeySize)
- * [get\_Properties](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration.KafkaProducerConfiguration.get_Properties)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer)
- * [TelemetryKafkaConsumer](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.Constructor)
- * [add\_OnReceiveException](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.add_OnReceiveException)
- * [remove\_OnReceiveException](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.remove_OnReceiveException)
- * [add\_OnStreamsRevoked](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.add_OnStreamsRevoked)
- * [remove\_OnStreamsRevoked](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.remove_OnStreamsRevoked)
- * [add\_OnRevoking](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.add_OnRevoking)
- * [remove\_OnRevoking](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.remove_OnRevoking)
- * [add\_OnCommitted](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.add_OnCommitted)
- * [remove\_OnCommitted](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.remove_OnCommitted)
- * [add\_OnCommitting](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.add_OnCommitting)
- * [remove\_OnCommitting](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.remove_OnCommitting)
- * [Start](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.Start)
- * [ForEach](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.ForEach)
- * [Stop](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.Stop)
- * [Dispose](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.Dispose)
- * [Commit](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer.TelemetryKafkaConsumer.Commit)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration)
- * [TelemetryKafkaConsumerConfiguration](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.Constructor)
- * [get\_BrokerList](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.get_BrokerList)
- * [get\_ConsumerGroupId](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.get_ConsumerGroupId)
- * [get\_CommitOptions](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.get_CommitOptions)
- * [set\_CommitOptions](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.set_CommitOptions)
- * [get\_Properties](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration.TelemetryKafkaConsumerConfiguration.get_Properties)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer)
- * [TelemetryKafkaProducer](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.Constructor)
- * [get\_StreamId](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.get_StreamId)
- * [add\_OnWriteException](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.add_OnWriteException)
- * [remove\_OnWriteException](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.remove_OnWriteException)
- * [Dispose](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.Dispose)
- * [get\_OnStreamPipelineAssigned](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.get_OnStreamPipelineAssigned)
- * [set\_OnStreamPipelineAssigned](#quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer.TelemetryKafkaProducer.set_OnStreamPipelineAssigned)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Models.CodecType](#quixstreams.native.Python.QuixStreamsTelemetry.Models.CodecType)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition)
- * [EventDefinition](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.Constructor)
- * [get\_Id](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.get_Id)
- * [set\_Id](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.set_Id)
- * [get\_Name](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.get_Name)
- * [set\_Name](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.set_Name)
- * [get\_Description](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.get_Description)
- * [set\_Description](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.set_Description)
- * [get\_CustomProperties](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.get_CustomProperties)
- * [set\_CustomProperties](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.set_CustomProperties)
- * [get\_Level](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.get_Level)
- * [set\_Level](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition.EventDefinition.set_Level)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Models.EventLevel](#quixstreams.native.Python.QuixStreamsTelemetry.Models.EventLevel)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition)
- * [ParameterDefinition](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.Constructor)
- * [get\_Id](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_Id)
- * [set\_Id](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_Id)
- * [get\_Name](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_Name)
- * [set\_Name](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_Name)
- * [get\_Description](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_Description)
- * [set\_Description](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_Description)
- * [get\_MinimumValue](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_MinimumValue)
- * [set\_MinimumValue](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_MinimumValue)
- * [get\_MaximumValue](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_MaximumValue)
- * [set\_MaximumValue](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_MaximumValue)
- * [get\_Unit](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_Unit)
- * [set\_Unit](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_Unit)
- * [get\_Format](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_Format)
- * [set\_Format](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_Format)
- * [get\_CustomProperties](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.get_CustomProperties)
- * [set\_CustomProperties](#quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition.ParameterDefinition.set_CustomProperties)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamEndType](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamEndType)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage)
- * [StreamPackage](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.Constructor)
- * [get\_Type](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.get_Type)
- * [set\_Type](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.set_Type)
- * [get\_TransportContext](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.get_TransportContext)
- * [set\_TransportContext](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.set_TransportContext)
- * [get\_Value](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.get_Value)
- * [set\_Value](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.set_Value)
- * [ToJson](#quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage.StreamPackage.ToJson)
-* [quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw)
- * [TimeseriesDataRaw](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.Constructor2)
- * [ToJson](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.ToJson)
- * [get\_Epoch](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.get_Epoch)
- * [set\_Epoch](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.set_Epoch)
- * [get\_Timestamps](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.get_Timestamps)
- * [set\_Timestamps](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.set_Timestamps)
- * [get\_NumericValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.get_NumericValues)
- * [set\_NumericValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.set_NumericValues)
- * [get\_StringValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.get_StringValues)
- * [set\_StringValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.set_StringValues)
- * [get\_BinaryValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.get_BinaryValues)
- * [set\_BinaryValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.set_BinaryValues)
- * [get\_TagValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.get_TagValues)
- * [set\_TagValues](#quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw.TimeseriesDataRaw.set_TagValues)
-* [quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions)
- * [CommitOptions](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.Constructor)
- * [get\_AutoCommitEnabled](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.get_AutoCommitEnabled)
- * [set\_AutoCommitEnabled](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.set_AutoCommitEnabled)
- * [get\_CommitInterval](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.get_CommitInterval)
- * [set\_CommitInterval](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.set_CommitInterval)
- * [get\_CommitEvery](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.get_CommitEvery)
- * [set\_CommitEvery](#quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions.CommitOptions.set_CommitEvery)
-* [quixstreams.native.Python.QuixStreamsTransport.Fw.IByteSplitter](#quixstreams.native.Python.QuixStreamsTransport.Fw.IByteSplitter)
- * [IByteSplitter](#quixstreams.native.Python.QuixStreamsTransport.Fw.IByteSplitter.IByteSplitter)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTransport.Fw.IByteSplitter.IByteSplitter.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTransport.Fw.IByteSplitter.IByteSplitter.__init__)
- * [Split](#quixstreams.native.Python.QuixStreamsTransport.Fw.IByteSplitter.IByteSplitter.Split)
-* [quixstreams.native.Python.QuixStreamsTransport.IO.IProducer](#quixstreams.native.Python.QuixStreamsTransport.IO.IProducer)
- * [IProducer](#quixstreams.native.Python.QuixStreamsTransport.IO.IProducer.IProducer)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTransport.IO.IProducer.IProducer.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTransport.IO.IProducer.IProducer.__init__)
-* [quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext](#quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext)
- * [TransportContext](#quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext.TransportContext)
- * [\_\_new\_\_](#quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext.TransportContext.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext.TransportContext.__init__)
- * [Constructor](#quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext.TransportContext.Constructor)
- * [Constructor2](#quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext.TransportContext.Constructor2)
-* [quixstreams.native.Python.QuixStreamsTransport.QuixStreams.Logging](#quixstreams.native.Python.QuixStreamsTransport.QuixStreams.Logging)
- * [Logging](#quixstreams.native.Python.QuixStreamsTransport.QuixStreams.Logging.Logging)
- * [UpdateFactory](#quixstreams.native.Python.QuixStreamsTransport.QuixStreams.Logging.Logging.UpdateFactory)
-* [quixstreams.native.Python.SystemNetHttp.HttpClient](#quixstreams.native.Python.SystemNetHttp.HttpClient)
- * [HttpClient](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.__init__)
- * [Constructor](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.Constructor)
- * [get\_BaseAddress](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.get_BaseAddress)
- * [set\_BaseAddress](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.set_BaseAddress)
- * [get\_Timeout](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.get_Timeout)
- * [set\_Timeout](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.set_Timeout)
- * [get\_MaxResponseContentBufferSize](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.get_MaxResponseContentBufferSize)
- * [set\_MaxResponseContentBufferSize](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.set_MaxResponseContentBufferSize)
- * [CancelPendingRequests](#quixstreams.native.Python.SystemNetHttp.HttpClient.HttpClient.CancelPendingRequests)
-* [quixstreams.native.Python.SystemNetPrimitives.System.Net.HttpStatusCode](#quixstreams.native.Python.SystemNetPrimitives.System.Net.HttpStatusCode)
-* [quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs](#quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs)
- * [NotifyCollectionChangedEventArgs](#quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs.NotifyCollectionChangedEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs.NotifyCollectionChangedEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs.NotifyCollectionChangedEventArgs.__init__)
- * [get\_NewStartingIndex](#quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs.NotifyCollectionChangedEventArgs.get_NewStartingIndex)
- * [get\_OldStartingIndex](#quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs.NotifyCollectionChangedEventArgs.get_OldStartingIndex)
-* [quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs](#quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs)
- * [PropertyChangedEventArgs](#quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs.PropertyChangedEventArgs)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs.PropertyChangedEventArgs.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs.PropertyChangedEventArgs.__init__)
- * [Constructor](#quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs.PropertyChangedEventArgs.Constructor)
- * [get\_PropertyName](#quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs.PropertyChangedEventArgs.get_PropertyName)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime)
- * [DateTime](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.__init__)
- * [Constructor](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Constructor)
- * [Constructor5](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Constructor5)
- * [Constructor8](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Constructor8)
- * [Constructor11](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Constructor11)
- * [Constructor14](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Constructor14)
- * [Add](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Add)
- * [AddDays](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddDays)
- * [AddHours](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddHours)
- * [AddMilliseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddMilliseconds)
- * [AddMicroseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddMicroseconds)
- * [AddMinutes](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddMinutes)
- * [AddMonths](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddMonths)
- * [AddSeconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddSeconds)
- * [AddTicks](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddTicks)
- * [AddYears](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.AddYears)
- * [Compare](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Compare)
- * [CompareTo](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.CompareTo)
- * [CompareTo2](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.CompareTo2)
- * [DaysInMonth](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.DaysInMonth)
- * [Equals](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Equals)
- * [Equals2](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Equals2)
- * [Equals3](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Equals3)
- * [FromBinary](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.FromBinary)
- * [FromFileTime](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.FromFileTime)
- * [FromFileTimeUtc](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.FromFileTimeUtc)
- * [FromOADate](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.FromOADate)
- * [IsDaylightSavingTime](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.IsDaylightSavingTime)
- * [ToBinary](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToBinary)
- * [get\_Date](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Date)
- * [get\_Day](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Day)
- * [get\_DayOfYear](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_DayOfYear)
- * [GetHashCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.GetHashCode)
- * [get\_Hour](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Hour)
- * [get\_Millisecond](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Millisecond)
- * [get\_Microsecond](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Microsecond)
- * [get\_Nanosecond](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Nanosecond)
- * [get\_Minute](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Minute)
- * [get\_Month](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Month)
- * [get\_Now](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Now)
- * [get\_Second](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Second)
- * [get\_Ticks](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Ticks)
- * [get\_TimeOfDay](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_TimeOfDay)
- * [get\_Today](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Today)
- * [get\_Year](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_Year)
- * [IsLeapYear](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.IsLeapYear)
- * [Parse](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Parse)
- * [Parse2](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Parse2)
- * [ParseExact](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ParseExact)
- * [Subtract](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Subtract)
- * [Subtract2](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Subtract2)
- * [ToOADate](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToOADate)
- * [ToFileTime](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToFileTime)
- * [ToFileTimeUtc](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToFileTimeUtc)
- * [ToLocalTime](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToLocalTime)
- * [ToLongDateString](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToLongDateString)
- * [ToLongTimeString](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToLongTimeString)
- * [ToShortDateString](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToShortDateString)
- * [ToShortTimeString](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToShortTimeString)
- * [ToString](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToString)
- * [ToString2](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToString2)
- * [ToString3](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToString3)
- * [ToString4](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToString4)
- * [ToUniversalTime](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.ToUniversalTime)
- * [TryParse](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.TryParse)
- * [op\_Equality](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.op_Equality)
- * [op\_Inequality](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.op_Inequality)
- * [Deconstruct2](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.Deconstruct2)
- * [GetDateTimeFormats](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.GetDateTimeFormats)
- * [GetDateTimeFormats2](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.GetDateTimeFormats2)
- * [GetTypeCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.GetTypeCode)
- * [TryParse5](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.TryParse5)
- * [get\_UtcNow](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_UtcNow)
- * [get\_MinValue](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_MinValue)
- * [get\_MaxValue](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_MaxValue)
- * [get\_UnixEpoch](#quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime.DateTime.get_UnixEpoch)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.Enum](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum)
- * [Enum](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.__init__)
- * [GetName2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.GetName2)
- * [GetNames](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.GetNames)
- * [GetUnderlyingType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.GetUnderlyingType)
- * [GetValues](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.GetValues)
- * [GetValuesAsUnderlyingType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.GetValuesAsUnderlyingType)
- * [HasFlag](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.HasFlag)
- * [IsDefined2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.IsDefined2)
- * [Parse](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.Parse)
- * [Parse3](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.Parse3)
- * [TryParse](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.TryParse)
- * [TryParse3](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.TryParse3)
- * [Equals](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.Equals)
- * [GetHashCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.GetHashCode)
- * [CompareTo](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.CompareTo)
- * [ToString](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToString)
- * [ToString2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToString2)
- * [ToString3](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToString3)
- * [ToString4](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToString4)
- * [Format](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.Format)
- * [GetTypeCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.GetTypeCode)
- * [ToObject](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToObject)
- * [ToObject4](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToObject4)
- * [ToObject5](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToObject5)
- * [ToObject8](#quixstreams.native.Python.SystemPrivateCoreLib.System.Enum.Enum.ToObject8)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.IFormatProvider](#quixstreams.native.Python.SystemPrivateCoreLib.System.IFormatProvider)
- * [IFormatProvider](#quixstreams.native.Python.SystemPrivateCoreLib.System.IFormatProvider.IFormatProvider)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.IFormatProvider.IFormatProvider.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.IFormatProvider.IFormatProvider.__init__)
- * [GetFormat](#quixstreams.native.Python.SystemPrivateCoreLib.System.IFormatProvider.IFormatProvider.GetFormat)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken)
- * [CancellationToken](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.__init__)
- * [Constructor](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.Constructor)
- * [get\_None](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.get_None)
- * [get\_IsCancellationRequested](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.get_IsCancellationRequested)
- * [get\_CanBeCanceled](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.get_CanBeCanceled)
- * [Equals](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.Equals)
- * [Equals2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.Equals2)
- * [GetHashCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.GetHashCode)
- * [op\_Equality](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.op_Equality)
- * [op\_Inequality](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.op_Inequality)
- * [ThrowIfCancellationRequested](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.ThrowIfCancellationRequested)
- * [ToString](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken.CancellationToken.ToString)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource)
- * [CancellationTokenSource](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.__init__)
- * [Constructor](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.Constructor)
- * [Constructor2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.Constructor2)
- * [Constructor3](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.Constructor3)
- * [get\_IsCancellationRequested](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.get_IsCancellationRequested)
- * [get\_Token](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.get_Token)
- * [Cancel](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.Cancel)
- * [Cancel2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.Cancel2)
- * [CancelAfter](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.CancelAfter)
- * [CancelAfter2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.CancelAfter2)
- * [TryReset](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.TryReset)
- * [Dispose](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.Dispose)
- * [CreateLinkedTokenSource](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.CreateLinkedTokenSource)
- * [CreateLinkedTokenSource2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.CreateLinkedTokenSource2)
- * [CreateLinkedTokenSource3](#quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource.CancellationTokenSource.CreateLinkedTokenSource3)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan)
- * [TimeSpan](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.__init__)
- * [Constructor](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Constructor)
- * [Constructor2](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Constructor2)
- * [Constructor3](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Constructor3)
- * [Constructor4](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Constructor4)
- * [Constructor5](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Constructor5)
- * [get\_Ticks](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Ticks)
- * [get\_Days](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Days)
- * [get\_Hours](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Hours)
- * [get\_Milliseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Milliseconds)
- * [get\_Microseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Microseconds)
- * [get\_Nanoseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Nanoseconds)
- * [get\_Minutes](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Minutes)
- * [get\_Seconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Seconds)
- * [get\_TotalDays](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TotalDays)
- * [get\_TotalHours](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TotalHours)
- * [get\_TotalMilliseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TotalMilliseconds)
- * [get\_TotalMicroseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TotalMicroseconds)
- * [get\_TotalNanoseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TotalNanoseconds)
- * [get\_TotalMinutes](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TotalMinutes)
- * [get\_TotalSeconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TotalSeconds)
- * [Add](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Add)
- * [Compare](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Compare)
- * [CompareTo](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.CompareTo)
- * [CompareTo2](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.CompareTo2)
- * [FromDays](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.FromDays)
- * [Duration](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Duration)
- * [Equals](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Equals)
- * [Equals2](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Equals2)
- * [Equals3](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Equals3)
- * [GetHashCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.GetHashCode)
- * [FromHours](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.FromHours)
- * [FromMilliseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.FromMilliseconds)
- * [FromMicroseconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.FromMicroseconds)
- * [FromMinutes](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.FromMinutes)
- * [Negate](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Negate)
- * [FromSeconds](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.FromSeconds)
- * [Subtract](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Subtract)
- * [Multiply](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Multiply)
- * [Divide](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Divide)
- * [Divide2](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Divide2)
- * [FromTicks](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.FromTicks)
- * [Parse](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Parse)
- * [Parse2](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.Parse2)
- * [ParseExact](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.ParseExact)
- * [ParseExact2](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.ParseExact2)
- * [TryParse](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.TryParse)
- * [TryParse3](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.TryParse3)
- * [TryParseExact](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.TryParseExact)
- * [TryParseExact3](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.TryParseExact3)
- * [ToString](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.ToString)
- * [ToString2](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.ToString2)
- * [ToString3](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.ToString3)
- * [op\_Equality](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.op_Equality)
- * [op\_Inequality](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.op_Inequality)
- * [get\_Zero](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_Zero)
- * [get\_MaxValue](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_MaxValue)
- * [get\_MinValue](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_MinValue)
- * [get\_NanosecondsPerTick](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_NanosecondsPerTick)
- * [get\_TicksPerMicrosecond](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TicksPerMicrosecond)
- * [get\_TicksPerMillisecond](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TicksPerMillisecond)
- * [get\_TicksPerSecond](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TicksPerSecond)
- * [get\_TicksPerMinute](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TicksPerMinute)
- * [get\_TicksPerHour](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TicksPerHour)
- * [get\_TicksPerDay](#quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan.TimeSpan.get_TicksPerDay)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.Type](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type)
- * [Type](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.__init__)
- * [get\_IsInterface](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsInterface)
- * [GetType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetType)
- * [GetType2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetType2)
- * [GetType3](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetType3)
- * [GetType7](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetType7)
- * [get\_Namespace](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_Namespace)
- * [get\_AssemblyQualifiedName](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_AssemblyQualifiedName)
- * [get\_FullName](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_FullName)
- * [get\_IsNested](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNested)
- * [get\_DeclaringType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_DeclaringType)
- * [get\_ReflectedType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_ReflectedType)
- * [get\_UnderlyingSystemType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_UnderlyingSystemType)
- * [get\_IsTypeDefinition](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsTypeDefinition)
- * [get\_IsArray](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsArray)
- * [get\_IsByRef](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsByRef)
- * [get\_IsPointer](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsPointer)
- * [get\_IsConstructedGenericType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsConstructedGenericType)
- * [get\_IsGenericParameter](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsGenericParameter)
- * [get\_IsGenericTypeParameter](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsGenericTypeParameter)
- * [get\_IsGenericMethodParameter](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsGenericMethodParameter)
- * [get\_IsGenericType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsGenericType)
- * [get\_IsGenericTypeDefinition](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsGenericTypeDefinition)
- * [get\_IsSZArray](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSZArray)
- * [get\_IsVariableBoundArray](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsVariableBoundArray)
- * [get\_IsByRefLike](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsByRefLike)
- * [get\_IsFunctionPointer](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsFunctionPointer)
- * [get\_IsUnmanagedFunctionPointer](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsUnmanagedFunctionPointer)
- * [get\_HasElementType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_HasElementType)
- * [GetElementType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetElementType)
- * [GetArrayRank](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetArrayRank)
- * [GetGenericTypeDefinition](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetGenericTypeDefinition)
- * [get\_GenericTypeArguments](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_GenericTypeArguments)
- * [GetGenericArguments](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetGenericArguments)
- * [GetOptionalCustomModifiers](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetOptionalCustomModifiers)
- * [GetRequiredCustomModifiers](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetRequiredCustomModifiers)
- * [get\_GenericParameterPosition](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_GenericParameterPosition)
- * [GetGenericParameterConstraints](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetGenericParameterConstraints)
- * [get\_IsAbstract](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsAbstract)
- * [get\_IsImport](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsImport)
- * [get\_IsSealed](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSealed)
- * [get\_IsSpecialName](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSpecialName)
- * [get\_IsClass](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsClass)
- * [get\_IsNestedAssembly](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNestedAssembly)
- * [get\_IsNestedFamANDAssem](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNestedFamANDAssem)
- * [get\_IsNestedFamily](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNestedFamily)
- * [get\_IsNestedFamORAssem](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNestedFamORAssem)
- * [get\_IsNestedPrivate](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNestedPrivate)
- * [get\_IsNestedPublic](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNestedPublic)
- * [get\_IsNotPublic](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsNotPublic)
- * [get\_IsPublic](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsPublic)
- * [get\_IsAutoLayout](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsAutoLayout)
- * [get\_IsExplicitLayout](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsExplicitLayout)
- * [get\_IsLayoutSequential](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsLayoutSequential)
- * [get\_IsAnsiClass](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsAnsiClass)
- * [get\_IsAutoClass](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsAutoClass)
- * [get\_IsUnicodeClass](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsUnicodeClass)
- * [get\_IsCOMObject](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsCOMObject)
- * [get\_IsContextful](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsContextful)
- * [get\_IsEnum](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsEnum)
- * [get\_IsMarshalByRef](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsMarshalByRef)
- * [get\_IsPrimitive](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsPrimitive)
- * [get\_IsValueType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsValueType)
- * [IsAssignableTo](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.IsAssignableTo)
- * [get\_IsSignatureType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSignatureType)
- * [get\_IsSecurityCritical](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSecurityCritical)
- * [get\_IsSecuritySafeCritical](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSecuritySafeCritical)
- * [get\_IsSecurityTransparent](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSecurityTransparent)
- * [GetFunctionPointerCallingConventions](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetFunctionPointerCallingConventions)
- * [GetFunctionPointerReturnType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetFunctionPointerReturnType)
- * [GetFunctionPointerParameterTypes](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetFunctionPointerParameterTypes)
- * [GetNestedType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetNestedType)
- * [GetNestedTypes](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetNestedTypes)
- * [GetTypeArray](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetTypeArray)
- * [GetTypeCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetTypeCode)
- * [GetTypeFromProgID](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetTypeFromProgID)
- * [GetTypeFromProgID2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetTypeFromProgID2)
- * [GetTypeFromProgID3](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetTypeFromProgID3)
- * [GetTypeFromProgID4](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetTypeFromProgID4)
- * [get\_BaseType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_BaseType)
- * [GetInterface](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetInterface)
- * [GetInterface2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetInterface2)
- * [GetInterfaces](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetInterfaces)
- * [IsInstanceOfType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.IsInstanceOfType)
- * [IsEquivalentTo](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.IsEquivalentTo)
- * [GetEnumUnderlyingType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetEnumUnderlyingType)
- * [GetEnumValues](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetEnumValues)
- * [GetEnumValuesAsUnderlyingType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetEnumValuesAsUnderlyingType)
- * [MakeArrayType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.MakeArrayType)
- * [MakeArrayType2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.MakeArrayType2)
- * [MakeByRefType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.MakeByRefType)
- * [MakeGenericType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.MakeGenericType)
- * [MakePointerType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.MakePointerType)
- * [MakeGenericSignatureType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.MakeGenericSignatureType)
- * [MakeGenericMethodParameter](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.MakeGenericMethodParameter)
- * [ToString](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.ToString)
- * [Equals](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.Equals)
- * [GetHashCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetHashCode)
- * [Equals2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.Equals2)
- * [op\_Equality](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.op_Equality)
- * [op\_Inequality](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.op_Inequality)
- * [ReflectionOnlyGetType](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.ReflectionOnlyGetType)
- * [IsEnumDefined](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.IsEnumDefined)
- * [GetEnumName](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetEnumName)
- * [GetEnumNames](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetEnumNames)
- * [get\_IsSerializable](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsSerializable)
- * [get\_ContainsGenericParameters](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_ContainsGenericParameters)
- * [get\_IsVisible](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsVisible)
- * [IsSubclassOf](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.IsSubclassOf)
- * [IsAssignableFrom](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.IsAssignableFrom)
- * [get\_Name](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_Name)
- * [IsDefined](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.IsDefined)
- * [GetCustomAttributes](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetCustomAttributes)
- * [GetCustomAttributes2](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.GetCustomAttributes2)
- * [get\_IsCollectible](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_IsCollectible)
- * [get\_MetadataToken](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_MetadataToken)
- * [get\_EmptyTypes](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_EmptyTypes)
- * [get\_Missing](#quixstreams.native.Python.SystemPrivateCoreLib.System.Type.Type.get_Missing)
-* [quixstreams.native.Python.SystemPrivateCoreLib.System.TypeCode](#quixstreams.native.Python.SystemPrivateCoreLib.System.TypeCode)
-* [quixstreams.native.Python.SystemPrivateUri.System.Uri](#quixstreams.native.Python.SystemPrivateUri.System.Uri)
- * [Uri](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri)
- * [\_\_new\_\_](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.__new__)
- * [\_\_init\_\_](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.__init__)
- * [Constructor](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.Constructor)
- * [Constructor2](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.Constructor2)
- * [Constructor3](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.Constructor3)
- * [Constructor6](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.Constructor6)
- * [Constructor7](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.Constructor7)
- * [get\_AbsolutePath](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_AbsolutePath)
- * [get\_AbsoluteUri](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_AbsoluteUri)
- * [get\_LocalPath](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_LocalPath)
- * [get\_Authority](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_Authority)
- * [get\_IsDefaultPort](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_IsDefaultPort)
- * [get\_IsFile](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_IsFile)
- * [get\_IsLoopback](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_IsLoopback)
- * [get\_PathAndQuery](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_PathAndQuery)
- * [get\_Segments](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_Segments)
- * [get\_IsUnc](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_IsUnc)
- * [get\_Host](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_Host)
- * [get\_Port](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_Port)
- * [get\_Query](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_Query)
- * [get\_Fragment](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_Fragment)
- * [get\_Scheme](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_Scheme)
- * [get\_OriginalString](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_OriginalString)
- * [get\_DnsSafeHost](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_DnsSafeHost)
- * [get\_IdnHost](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_IdnHost)
- * [get\_IsAbsoluteUri](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_IsAbsoluteUri)
- * [get\_UserEscaped](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UserEscaped)
- * [get\_UserInfo](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UserInfo)
- * [IsHexEncoding](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.IsHexEncoding)
- * [CheckSchemeName](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.CheckSchemeName)
- * [GetHashCode](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.GetHashCode)
- * [ToString](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.ToString)
- * [op\_Equality](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.op_Equality)
- * [op\_Inequality](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.op_Inequality)
- * [Equals](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.Equals)
- * [MakeRelativeUri](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.MakeRelativeUri)
- * [MakeRelative](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.MakeRelative)
- * [TryCreate3](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.TryCreate3)
- * [TryCreate4](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.TryCreate4)
- * [IsWellFormedOriginalString](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.IsWellFormedOriginalString)
- * [UnescapeDataString](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.UnescapeDataString)
- * [EscapeUriString](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.EscapeUriString)
- * [EscapeDataString](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.EscapeDataString)
- * [IsBaseOf](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.IsBaseOf)
- * [get\_UriSchemeFile](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeFile)
- * [get\_UriSchemeFtp](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeFtp)
- * [get\_UriSchemeSftp](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeSftp)
- * [get\_UriSchemeFtps](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeFtps)
- * [get\_UriSchemeGopher](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeGopher)
- * [get\_UriSchemeHttp](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeHttp)
- * [get\_UriSchemeHttps](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeHttps)
- * [get\_UriSchemeWs](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeWs)
- * [get\_UriSchemeWss](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeWss)
- * [get\_UriSchemeMailto](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeMailto)
- * [get\_UriSchemeNews](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeNews)
- * [get\_UriSchemeNntp](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeNntp)
- * [get\_UriSchemeSsh](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeSsh)
- * [get\_UriSchemeTelnet](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeTelnet)
- * [get\_UriSchemeNetTcp](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeNetTcp)
- * [get\_UriSchemeNetPipe](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_UriSchemeNetPipe)
- * [get\_SchemeDelimiter](#quixstreams.native.Python.SystemPrivateUri.System.Uri.Uri.get_SchemeDelimiter)
-* [quixstreams.quixstreamingclient](#quixstreams.quixstreamingclient)
- * [TokenValidationConfiguration](#quixstreams.quixstreamingclient.TokenValidationConfiguration)
- * [\_\_init\_\_](#quixstreams.quixstreamingclient.TokenValidationConfiguration.__init__)
- * [enabled](#quixstreams.quixstreamingclient.TokenValidationConfiguration.enabled)
- * [enabled](#quixstreams.quixstreamingclient.TokenValidationConfiguration.enabled)
- * [warning\_before\_expiry](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warning_before_expiry)
- * [warning\_before\_expiry](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warning_before_expiry)
- * [warn\_about\_pat\_token](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warn_about_pat_token)
- * [warn\_about\_pat\_token](#quixstreams.quixstreamingclient.TokenValidationConfiguration.warn_about_pat_token)
- * [get\_net\_pointer](#quixstreams.quixstreamingclient.TokenValidationConfiguration.get_net_pointer)
- * [QuixStreamingClient](#quixstreams.quixstreamingclient.QuixStreamingClient)
- * [\_\_init\_\_](#quixstreams.quixstreamingclient.QuixStreamingClient.__init__)
- * [get\_topic\_consumer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_topic_consumer)
- * [get\_topic\_producer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_topic_producer)
- * [get\_raw\_topic\_consumer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_raw_topic_consumer)
- * [get\_raw\_topic\_producer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_raw_topic_producer)
- * [token\_validation\_config](#quixstreams.quixstreamingclient.QuixStreamingClient.token_validation_config)
- * [token\_validation\_config](#quixstreams.quixstreamingclient.QuixStreamingClient.token_validation_config)
- * [api\_url](#quixstreams.quixstreamingclient.QuixStreamingClient.api_url)
- * [api\_url](#quixstreams.quixstreamingclient.QuixStreamingClient.api_url)
- * [cache\_period](#quixstreams.quixstreamingclient.QuixStreamingClient.cache_period)
- * [cache\_period](#quixstreams.quixstreamingclient.QuixStreamingClient.cache_period)
- * [get\_net\_pointer](#quixstreams.quixstreamingclient.QuixStreamingClient.get_net_pointer)
-* [quixstreams.raw](#quixstreams.raw)
-* [quixstreams.raw.rawmessage](#quixstreams.raw.rawmessage)
- * [RawMessage](#quixstreams.raw.rawmessage.RawMessage)
- * [\_\_init\_\_](#quixstreams.raw.rawmessage.RawMessage.__init__)
- * [get\_net\_pointer](#quixstreams.raw.rawmessage.RawMessage.get_net_pointer)
- * [key](#quixstreams.raw.rawmessage.RawMessage.key)
- * [key](#quixstreams.raw.rawmessage.RawMessage.key)
- * [value](#quixstreams.raw.rawmessage.RawMessage.value)
- * [value](#quixstreams.raw.rawmessage.RawMessage.value)
- * [metadata](#quixstreams.raw.rawmessage.RawMessage.metadata)
-* [quixstreams.raw.rawtopicconsumer](#quixstreams.raw.rawtopicconsumer)
- * [RawTopicConsumer](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer)
- * [\_\_init\_\_](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.__init__)
- * [on\_message\_received](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_message_received)
- * [on\_message\_received](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_message_received)
- * [on\_error\_occurred](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_error_occurred)
- * [on\_error\_occurred](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.on_error_occurred)
- * [subscribe](#quixstreams.raw.rawtopicconsumer.RawTopicConsumer.subscribe)
-* [quixstreams.raw.rawtopicproducer](#quixstreams.raw.rawtopicproducer)
- * [RawTopicProducer](#quixstreams.raw.rawtopicproducer.RawTopicProducer)
- * [\_\_init\_\_](#quixstreams.raw.rawtopicproducer.RawTopicProducer.__init__)
- * [publish](#quixstreams.raw.rawtopicproducer.RawTopicProducer.publish)
-* [quixstreams.state](#quixstreams.state)
-* [quixstreams.state.inmemorystorage](#quixstreams.state.inmemorystorage)
- * [InMemoryStorage](#quixstreams.state.inmemorystorage.InMemoryStorage)
-* [quixstreams.state.localfilestorage](#quixstreams.state.localfilestorage)
- * [LocalFileStorage](#quixstreams.state.localfilestorage.LocalFileStorage)
- * [\_\_init\_\_](#quixstreams.state.localfilestorage.LocalFileStorage.__init__)
- * [get](#quixstreams.state.localfilestorage.LocalFileStorage.get)
- * [set](#quixstreams.state.localfilestorage.LocalFileStorage.set)
- * [contains\_key](#quixstreams.state.localfilestorage.LocalFileStorage.contains_key)
- * [get\_all\_keys](#quixstreams.state.localfilestorage.LocalFileStorage.get_all_keys)
- * [remove](#quixstreams.state.localfilestorage.LocalFileStorage.remove)
- * [clear](#quixstreams.state.localfilestorage.LocalFileStorage.clear)
-* [quixstreams.state.statetype](#quixstreams.state.statetype)
-* [quixstreams.state.statevalue](#quixstreams.state.statevalue)
- * [StateValue](#quixstreams.state.statevalue.StateValue)
- * [\_\_init\_\_](#quixstreams.state.statevalue.StateValue.__init__)
- * [type](#quixstreams.state.statevalue.StateValue.type)
- * [value](#quixstreams.state.statevalue.StateValue.value)
- * [get\_net\_pointer](#quixstreams.state.statevalue.StateValue.get_net_pointer)
-* [quixstreams.streamconsumer](#quixstreams.streamconsumer)
- * [StreamConsumer](#quixstreams.streamconsumer.StreamConsumer)
- * [\_\_init\_\_](#quixstreams.streamconsumer.StreamConsumer.__init__)
- * [topic](#quixstreams.streamconsumer.StreamConsumer.topic)
- * [on\_stream\_closed](#quixstreams.streamconsumer.StreamConsumer.on_stream_closed)
- * [on\_stream\_closed](#quixstreams.streamconsumer.StreamConsumer.on_stream_closed)
- * [on\_package\_received](#quixstreams.streamconsumer.StreamConsumer.on_package_received)
- * [on\_package\_received](#quixstreams.streamconsumer.StreamConsumer.on_package_received)
- * [stream\_id](#quixstreams.streamconsumer.StreamConsumer.stream_id)
- * [properties](#quixstreams.streamconsumer.StreamConsumer.properties)
- * [events](#quixstreams.streamconsumer.StreamConsumer.events)
- * [timeseries](#quixstreams.streamconsumer.StreamConsumer.timeseries)
- * [get\_net\_pointer](#quixstreams.streamconsumer.StreamConsumer.get_net_pointer)
-* [quixstreams.streamproducer](#quixstreams.streamproducer)
- * [StreamProducer](#quixstreams.streamproducer.StreamProducer)
- * [\_\_init\_\_](#quixstreams.streamproducer.StreamProducer.__init__)
- * [topic](#quixstreams.streamproducer.StreamProducer.topic)
- * [on\_write\_exception](#quixstreams.streamproducer.StreamProducer.on_write_exception)
- * [on\_write\_exception](#quixstreams.streamproducer.StreamProducer.on_write_exception)
- * [stream\_id](#quixstreams.streamproducer.StreamProducer.stream_id)
- * [epoch](#quixstreams.streamproducer.StreamProducer.epoch)
- * [epoch](#quixstreams.streamproducer.StreamProducer.epoch)
- * [properties](#quixstreams.streamproducer.StreamProducer.properties)
- * [timeseries](#quixstreams.streamproducer.StreamProducer.timeseries)
- * [events](#quixstreams.streamproducer.StreamProducer.events)
- * [flush](#quixstreams.streamproducer.StreamProducer.flush)
- * [close](#quixstreams.streamproducer.StreamProducer.close)
-* [quixstreams.topicconsumer](#quixstreams.topicconsumer)
- * [TopicConsumer](#quixstreams.topicconsumer.TopicConsumer)
- * [\_\_init\_\_](#quixstreams.topicconsumer.TopicConsumer.__init__)
- * [on\_stream\_received](#quixstreams.topicconsumer.TopicConsumer.on_stream_received)
- * [on\_stream\_received](#quixstreams.topicconsumer.TopicConsumer.on_stream_received)
- * [on\_streams\_revoked](#quixstreams.topicconsumer.TopicConsumer.on_streams_revoked)
- * [on\_streams\_revoked](#quixstreams.topicconsumer.TopicConsumer.on_streams_revoked)
- * [on\_revoking](#quixstreams.topicconsumer.TopicConsumer.on_revoking)
- * [on\_revoking](#quixstreams.topicconsumer.TopicConsumer.on_revoking)
- * [on\_committed](#quixstreams.topicconsumer.TopicConsumer.on_committed)
- * [on\_committed](#quixstreams.topicconsumer.TopicConsumer.on_committed)
- * [on\_committing](#quixstreams.topicconsumer.TopicConsumer.on_committing)
- * [on\_committing](#quixstreams.topicconsumer.TopicConsumer.on_committing)
- * [subscribe](#quixstreams.topicconsumer.TopicConsumer.subscribe)
- * [commit](#quixstreams.topicconsumer.TopicConsumer.commit)
- * [get\_net\_pointer](#quixstreams.topicconsumer.TopicConsumer.get_net_pointer)
-* [quixstreams.topicproducer](#quixstreams.topicproducer)
- * [TopicProducer](#quixstreams.topicproducer.TopicProducer)
- * [\_\_init\_\_](#quixstreams.topicproducer.TopicProducer.__init__)
- * [on\_disposed](#quixstreams.topicproducer.TopicProducer.on_disposed)
- * [on\_disposed](#quixstreams.topicproducer.TopicProducer.on_disposed)
- * [create\_stream](#quixstreams.topicproducer.TopicProducer.create_stream)
- * [get\_stream](#quixstreams.topicproducer.TopicProducer.get_stream)
- * [get\_or\_create\_stream](#quixstreams.topicproducer.TopicProducer.get_or_create_stream)
-
-
-
-# quixstreams
-
-
-
-# quixstreams.app
-
-
-
-## CancellationTokenSource Objects
-
-```python
-class CancellationTokenSource()
-```
-
-Represents a token source that can signal a cancellation System.Threading.CancellationToken
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__()
-```
-
-Initializes a new instance of the CancellationTokenSource class.
-
-
-
-#### is\_cancellation\_requested
-
-```python
-def is_cancellation_requested()
-```
-
-Checks if a cancellation has been requested.
-
-**Returns**:
-
-- `bool` - True if the cancellation has been requested, False otherwise.
-
-
-
-#### cancel
-
-```python
-def cancel() -> 'CancellationToken'
-```
-
-Signals a cancellation to the CancellationToken.
-
-
-
-#### token
-
-```python
-@property
-def token() -> 'CancellationToken'
-```
-
-Gets the associated CancellationToken.
-
-**Returns**:
-
-- `CancellationToken` - The CancellationToken associated with this CancellationTokenSource.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the interop pointer of the CancellationTokenSource object.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The interop pointer of the CancellationTokenSource object.
-
-
-
-## App Objects
-
-```python
-class App()
-```
-
-Provides utilities to handle default streaming behaviors and automatic resource cleanup on shutdown.
-
-
-
-#### run
-
-```python
-@staticmethod
-def run(cancellation_token: CancellationToken = None,
- before_shutdown: Callable[[], None] = None)
-```
-
-Runs the application, managing streaming behaviors and automatic resource cleanup on shutdown.
-
-**Arguments**:
-
-- `cancellation_token` - An optional CancellationToken to abort the application run with.
-- `before_shutdown` - An optional function to call before shutting down the application.
-
-
-
-# quixstreams.builders
-
-
-
-# quixstreams.builders.eventdatabuilder
-
-
-
-## EventDataBuilder Objects
-
-```python
-@nativedecorator
-class EventDataBuilder(object)
-```
-
-Builder for creating event data packages for StreamEventsProducer.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of EventDataBuilder.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net EventDataBuilder.
-
-
-
-#### add\_value
-
-```python
-def add_value(event_id: str, value: str) -> 'EventDataBuilder'
-```
-
-Adds new event at the time the builder is created for.
-
-**Arguments**:
-
-- `event_id` - The id of the event to set the value for.
-- `value` - The string value.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### add\_tag
-
-```python
-def add_tag(tag_id: str, value: str) -> 'EventDataBuilder'
-```
-
-Sets tag value for the values.
-
-**Arguments**:
-
-- `tag_id` - The id of the tag.
-- `value` - The value of the tag.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### add\_tags
-
-```python
-def add_tags(tags: Dict[str, str]) -> 'EventDataBuilder'
-```
-
-Copies the tags from the specified dictionary. Conflicting tags will be overwritten.
-
-**Arguments**:
-
-- `tags` - The tags to add.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### publish
-
-```python
-def publish()
-```
-
-Publishes the values to the StreamEventsProducer buffer.
-
-See StreamEventsProducer buffer settings for more information on when the values are sent to the broker.
-
-
-
-# quixstreams.builders.eventdefinitionbuilder
-
-
-
-## EventDefinitionBuilder Objects
-
-```python
-@nativedecorator
-class EventDefinitionBuilder(object)
-```
-
-Builder for creating EventDefinitions within StreamPropertiesProducer.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of EventDefinitionBuilder.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net EventDefinitionBuilder.
-
-
-
-#### set\_level
-
-```python
-def set_level(level: EventLevel) -> 'EventDefinitionBuilder'
-```
-
-Set severity level of the Event.
-
-**Arguments**:
-
-- `level` - The severity level of the event.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### set\_custom\_properties
-
-```python
-def set_custom_properties(custom_properties: str) -> 'EventDefinitionBuilder'
-```
-
-Set custom properties of the Event.
-
-**Arguments**:
-
-- `custom_properties` - The custom properties of the event.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### add\_definition
-
-```python
-def add_definition(event_id: str,
- name: str = None,
- description: str = None) -> 'EventDefinitionBuilder'
-```
-
-Add new Event definition, to define properties like Name or Level, among others.
-
-**Arguments**:
-
-- `event_id` - Event id. This must match the event id you use to publish event values.
-- `name` - Human friendly display name of the event.
-- `description` - Description of the event.
-
-
-**Returns**:
-
- Event definition builder to define the event properties.
-
-
-
-# quixstreams.builders.parameterdefinitionbuilder
-
-
-
-## ParameterDefinitionBuilder Objects
-
-```python
-@nativedecorator
-class ParameterDefinitionBuilder(object)
-```
-
-Builder for creating ParameterDefinition for StreamTimeseriesProducer.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of ParameterDefinitionBuilder.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net ParameterDefinitionBuilder.
-
-
-
-#### set\_range
-
-```python
-def set_range(minimum_value: float,
- maximum_value: float) -> 'ParameterDefinitionBuilder'
-```
-
-Set the minimum and maximum range of the parameter.
-
-**Arguments**:
-
-- `minimum_value` - The minimum value.
-- `maximum_value` - The maximum value.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### set\_unit
-
-```python
-def set_unit(unit: str) -> 'ParameterDefinitionBuilder'
-```
-
-Set the unit of the parameter.
-
-**Arguments**:
-
-- `unit` - The unit of the parameter.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### set\_format
-
-```python
-def set_format(format: str) -> 'ParameterDefinitionBuilder'
-```
-
-Set the format of the parameter.
-
-**Arguments**:
-
-- `format` - The format of the parameter.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### set\_custom\_properties
-
-```python
-def set_custom_properties(
- custom_properties: str) -> 'ParameterDefinitionBuilder'
-```
-
-Set the custom properties of the parameter.
-
-**Arguments**:
-
-- `custom_properties` - The custom properties of the parameter.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### add\_definition
-
-```python
-def add_definition(parameter_id: str,
- name: str = None,
- description: str = None) -> 'ParameterDefinitionBuilder'
-```
-
-Add new parameter definition to the StreamTimeseriesProducer. Configure it with the builder methods.
-
-**Arguments**:
-
-- `parameter_id` - The id of the parameter. Must match the parameter id used to send data.
-- `name` - The human friendly display name of the parameter.
-- `description` - The description of the parameter.
-
-
-**Returns**:
-
- Parameter definition builder to define the parameter properties
-
-
-
-# quixstreams.builders.timeseriesdatabuilder
-
-
-
-## TimeseriesDataBuilder Objects
-
-```python
-@nativedecorator
-class TimeseriesDataBuilder(object)
-```
-
-Builder for managing TimeseriesDataTimestamp instances on TimeseriesBufferProducer.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of TimeseriesDataBuilder.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net TimeseriesDataBuilder.
-
-
-
-#### add\_value
-
-```python
-def add_value(
- parameter_id: str, value: Union[str, float, int, bytes,
- bytearray]) -> 'TimeseriesDataBuilder'
-```
-
-Adds new parameter value at the time the builder is created for.
-
-**Arguments**:
-
-- `parameter_id` - The id of the parameter to set the value for.
-- `value` - The value of type string, float, int, bytes, or bytearray.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### add\_tag
-
-```python
-def add_tag(tag_id: str, value: str) -> 'TimeseriesDataBuilder'
-```
-
-Adds a tag to the values.
-
-**Arguments**:
-
-- `tag_id` - The id of the tag.
-- `value` - The value of the tag.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### add\_tags
-
-```python
-def add_tags(tags: Dict[str, str]) -> 'TimeseriesDataBuilder'
-```
-
-Copies the tags from the specified dictionary. Conflicting tags will be overwritten.
-
-**Arguments**:
-
-- `tags` - The tags to add.
-
-
-**Returns**:
-
- The builder.
-
-
-
-#### publish
-
-```python
-def publish()
-```
-
-Publish the values.
-
-
-
-# quixstreams.configuration
-
-
-
-# quixstreams.configuration.saslmechanism
-
-
-
-# quixstreams.configuration.securityoptions
-
-
-
-## SecurityOptions Objects
-
-```python
-class SecurityOptions(object)
-```
-
-A class representing security options for configuring SSL encryption with SASL authentication in Kafka.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(ssl_certificates: str,
- username: str,
- password: str,
- sasl_mechanism: SaslMechanism = SaslMechanism.ScramSha256)
-```
-
-Initializes a new instance of SecurityOptions configured for SSL encryption with SASL authentication.
-
-**Arguments**:
-
-- `ssl_certificates` - The path to the folder or file containing the certificate authority
- certificate(s) used to validate the SSL connection.
-- `Example` - "./certificates/ca.cert"
-- `username` - The username for SASL authentication.
-- `password` - The password for SASL authentication.
-- `sasl_mechanism` - The SASL mechanism to use. Defaults to ScramSha256.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer()
-```
-
-Retrieves the .NET pointer for the current SecurityOptions instance.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The .NET pointer.
-
-
-
-# quixstreams.exceptions.quixapiexception
-
-
-
-# quixstreams.helpers
-
-
-
-# quixstreams.helpers.dotnet.datetimeconverter
-
-
-
-## DateTimeConverter Objects
-
-```python
-class DateTimeConverter()
-```
-
-
-
-#### datetime\_to\_python
-
-```python
-@staticmethod
-def datetime_to_python(hptr: ctypes.c_void_p) -> datetime.datetime
-```
-
-Converts dotnet pointer to DateTime and frees the pointer.
-
-**Arguments**:
-
-- `hptr` - Handler Pointer to .Net type DateTime
-
-
-**Returns**:
-
- datetime.datetime:
- Python type datetime
-
-
-
-#### datetime\_to\_dotnet
-
-```python
-@staticmethod
-def datetime_to_dotnet(value: datetime.datetime) -> ctypes.c_void_p
-```
-
-**Arguments**:
-
-- `value` - Python type datetime
-
-
-**Returns**:
-
- ctypes.c_void_p:
- Handler Pointer to .Net type DateTime
-
-
-
-#### timespan\_to\_python
-
-```python
-@staticmethod
-def timespan_to_python(uptr: ctypes.c_void_p) -> datetime.timedelta
-```
-
-Converts dotnet pointer to Timespan as binary and frees the pointer.
-
-**Arguments**:
-
-- `uptr` - Pointer to .Net type TimeSpan
-
-
-**Returns**:
-
- datetime.timedelta:
- Python type timedelta
-
-
-
-#### timedelta\_to\_dotnet
-
-```python
-@staticmethod
-def timedelta_to_dotnet(value: datetime.timedelta) -> ctypes.c_void_p
-```
-
-**Arguments**:
-
-- `value` - Python type timedelta
-
-
-**Returns**:
-
- ctypes.c_void_p:
- Pointer to unmanaged memory containing TimeSpan
-
-
-
-# quixstreams.helpers.enumconverter
-
-
-
-# quixstreams.helpers.exceptionconverter
-
-
-
-# quixstreams.helpers.nativedecorator
-
-
-
-# quixstreams.helpers.timeconverter
-
-
-
-## TimeConverter Objects
-
-```python
-class TimeConverter()
-```
-
-A utility class for converting between different time representations.
-
-
-
-#### offset\_from\_utc
-
-The local time ahead of utc by this amount of nanoseconds
-
-
-
-#### to\_unix\_nanoseconds
-
-```python
-@staticmethod
-def to_unix_nanoseconds(value: datetime) -> int
-```
-
-Converts a datetime object to UNIX timestamp in nanoseconds.
-
-**Arguments**:
-
-- `value` - The datetime object to be converted.
-
-
-**Returns**:
-
-- `int` - The UNIX timestamp in nanoseconds.
-
-
-
-#### to\_nanoseconds
-
-```python
-@staticmethod
-def to_nanoseconds(value: timedelta) -> int
-```
-
-Converts a timedelta object to nanoseconds.
-
-**Arguments**:
-
-- `value` - The timedelta object to be converted.
-
-
-**Returns**:
-
-- `int` - The duration in nanoseconds.
-
-
-
-#### from\_nanoseconds
-
-```python
-@staticmethod
-def from_nanoseconds(value: int) -> timedelta
-```
-
-Converts a duration in nanoseconds to a timedelta object.
-
-**Arguments**:
-
-- `value` - The duration in nanoseconds.
-
-
-**Returns**:
-
-- `timedelta` - The corresponding timedelta object.
-
-
-
-#### from\_unix\_nanoseconds
-
-```python
-@staticmethod
-def from_unix_nanoseconds(value: int) -> datetime
-```
-
-Converts a UNIX timestamp in nanoseconds to a datetime object.
-
-**Arguments**:
-
-- `value` - The UNIX timestamp in nanoseconds.
-
-
-**Returns**:
-
-- `datetime` - The corresponding datetime object.
-
-
-
-#### from\_string
-
-```python
-@staticmethod
-def from_string(value: str) -> int
-```
-
-Converts a string representation of a timestamp to a UNIX timestamp in nanoseconds.
-
-**Arguments**:
-
-- `value` - The string representation of a timestamp.
-
-
-**Returns**:
-
-- `int` - The corresponding UNIX timestamp in nanoseconds.
-
-
-
-# quixstreams.kafkastreamingclient
-
-
-
-## KafkaStreamingClient Objects
-
-```python
-@nativedecorator
-class KafkaStreamingClient(object)
-```
-
-A Kafka streaming client capable of creating topic consumer and producers.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(broker_address: str,
- security_options: SecurityOptions = None,
- properties: Dict[str, str] = None,
- debug: bool = False)
-```
-
-Initializes a new instance of the KafkaStreamingClient.
-
-**Arguments**:
-
-- `broker_address` - The address of the Kafka cluster.
-- `security_options` - Optional security options for the Kafka client.
-- `properties` - Optional extra properties for broker configuration.
-- `debug` - Whether debugging should be enabled. Defaults to False.
-
-
-
-#### get\_topic\_consumer
-
-```python
-def get_topic_consumer(
- topic: str,
- consumer_group: str = None,
- commit_settings: Union[CommitOptions, CommitMode] = None,
- auto_offset_reset: AutoOffsetReset = AutoOffsetReset.Latest
-) -> TopicConsumer
-```
-
-Gets a topic consumer capable of subscribing to receive incoming streams.
-
-**Arguments**:
-
-- `topic` - The name of the topic.
-- `consumer_group` - The consumer group ID to use for consuming messages. Defaults to None.
-- `commit_settings` - The settings to use for committing. If not provided, defaults to committing every 5000 messages or 5 seconds, whichever is sooner.
-- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to AutoOffsetReset.Latest.
-
-
-**Returns**:
-
-- `TopicConsumer` - An instance of TopicConsumer for the specified topic.
-
-
-
-#### get\_topic\_producer
-
-```python
-def get_topic_producer(topic: str) -> TopicProducer
-```
-
-Gets a topic producer capable of publishing stream messages.
-
-**Arguments**:
-
-- `topic` - The name of the topic.
-
-
-**Returns**:
-
-- `TopicProducer` - An instance of TopicProducer for the specified topic.
-
-
-
-#### get\_raw\_topic\_consumer
-
-```python
-def get_raw_topic_consumer(
- topic: str,
- consumer_group: str = None,
- auto_offset_reset: Union[AutoOffsetReset,
- None] = None) -> RawTopicConsumer
-```
-
-Gets a topic consumer capable of subscribing to receive non-quixstreams incoming messages.
-
-**Arguments**:
-
-- `topic` - The name of the topic.
-- `consumer_group` - The consumer group ID to use for consuming messages. Defaults to None.
-- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to None.
-
-
-**Returns**:
-
-- `RawTopicConsumer` - An instance of RawTopicConsumer for the specified topic.
-
-
-
-#### get\_raw\_topic\_producer
-
-```python
-def get_raw_topic_producer(topic: str) -> RawTopicProducer
-```
-
-Gets a topic producer capable of publishing non-quixstreams messages.
-
-**Arguments**:
-
-- `topic` - The name of the topic.
-
-
-**Returns**:
-
-- `RawTopicProducer` - An instance of RawTopicProducer for the specified topic.
-
-
-
-# quixstreams.logging
-
-
-
-# quixstreams.models
-
-
-
-# quixstreams.models.autooffsetreset
-
-
-
-## AutoOffsetReset Objects
-
-```python
-class AutoOffsetReset(Enum)
-```
-
-Enum representing the policy on how a consumer should behave when consuming from a topic partition when there is no initial offset.
-
-
-
-#### Latest
-
-Latest: Starts from the newest message if there is no stored offset.
-
-
-
-#### Earliest
-
-Earliest: Starts from the oldest message if there is no stored offset.
-
-
-
-#### Error
-
-Error: Throws an exception if there is no stored offset.
-
-
-
-# quixstreams.models.codecsettings
-
-
-
-## CodecSettings Objects
-
-```python
-class CodecSettings(object)
-```
-
-Global Codec settings for streams.
-
-
-
-#### set\_global\_codec\_type
-
-```python
-@staticmethod
-def set_global_codec_type(codec_type: CodecType)
-```
-
-Sets the codec type to be used by producers and transfer package value serialization.
-
-
-
-# quixstreams.models.codectype
-
-
-
-## CodecType Objects
-
-```python
-class CodecType(Enum)
-```
-
-Codecs available for serialization and deserialization of streams.
-
-
-
-# quixstreams.models.commitmode
-
-
-
-# quixstreams.models.commitoptions
-
-
-
-## CommitOptions Objects
-
-```python
-@nativedecorator
-class CommitOptions(object)
-```
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p = None)
-```
-
-Initializes a new instance of CommitOptions
-
-**Arguments**:
-
-- `net_pointer`: Pointer to an instance of a .net CommitOptions.
-
-
-
-#### auto\_commit\_enabled
-
-```python
-@property
-def auto_commit_enabled() -> bool
-```
-
-Gets whether automatic committing is enabled.
-If automatic committing is not enabled, other values are ignored.
-Default is True.
-
-
-
-#### auto\_commit\_enabled
-
-```python
-@auto_commit_enabled.setter
-def auto_commit_enabled(value: bool) -> None
-```
-
-Sets whether automatic committing is enabled.
-If automatic committing is not enabled, other values are ignored.
-Default is True.
-
-
-
-#### commit\_interval
-
-```python
-@property
-def commit_interval() -> Optional[int]
-```
-
-Gets the interval of automatic commit in ms. Default is 5000.
-
-
-
-#### commit\_interval
-
-```python
-@commit_interval.setter
-def commit_interval(value: Optional[int]) -> None
-```
-
-Sets the interval of automatic commit in ms. Default is 5000.
-
-
-
-#### commit\_every
-
-```python
-@property
-def commit_every() -> Optional[int]
-```
-
-Gets the number of messages to automatically commit at. Default is 5000.
-
-
-
-#### commit\_every
-
-```python
-@commit_every.setter
-def commit_every(value: Optional[int]) -> None
-```
-
-Sets the number of messages to automatically commit at. Default is 5000.
-
-
-
-# quixstreams.models.eventdata
-
-
-
-## EventData Objects
-
-```python
-@nativedecorator
-class EventData(object)
-```
-
-Represents a single point in time with event value and tags attached to it.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(event_id: str = None,
- time: Union[int, str, datetime, pd.Timestamp] = None,
- value: str = None,
- net_pointer: ctypes.c_void_p = None)
-```
-
-Initializes a new instance of EventData.
-
-**Arguments**:
-
-- `event_id` - The unique id of the event the value belongs to.
-- `time` - The time at which the event has occurred in nanoseconds since epoch or as a datetime.
-- `value` - The value of the event.
-- `net_pointer` - Pointer to an instance of a .net EventData.
-
-
-
-#### id
-
-```python
-@property
-def id() -> str
-```
-
-Gets the globally unique identifier of the event.
-
-
-
-#### id
-
-```python
-@id.setter
-def id(value: str) -> None
-```
-
-Sets the globally unique identifier of the event.
-
-
-
-#### value
-
-```python
-@property
-def value() -> str
-```
-
-Gets the value of the event.
-
-
-
-#### value
-
-```python
-@value.setter
-def value(value: str) -> None
-```
-
-Sets the value of the event.
-
-
-
-#### tags
-
-```python
-@property
-def tags() -> Dict[str, str]
-```
-
-Gets the tags for the timestamp.
-
-If a key is not found, it returns None.
-The dictionary key is the tag id.
-The dictionary value is the tag value.
-
-
-
-#### timestamp\_nanoseconds
-
-```python
-@property
-def timestamp_nanoseconds() -> int
-```
-
-Gets timestamp in nanoseconds.
-
-
-
-#### timestamp\_milliseconds
-
-```python
-@property
-def timestamp_milliseconds() -> int
-```
-
-Gets timestamp in milliseconds.
-
-
-
-#### timestamp
-
-```python
-@property
-def timestamp() -> datetime
-```
-
-Gets the timestamp in datetime format.
-
-
-
-#### timestamp\_as\_time\_span
-
-```python
-@property
-def timestamp_as_time_span() -> timedelta
-```
-
-Gets the timestamp in timespan format.
-
-
-
-#### clone
-
-```python
-def clone()
-```
-
-Clones the event data.
-
-**Returns**:
-
-- `EventData` - Cloned EventData object.
-
-
-
-#### add\_tag
-
-```python
-def add_tag(tag_id: str, tag_value: str) -> 'EventData'
-```
-
-Adds a tag to the event.
-
-**Arguments**:
-
-- `tag_id` - The id of the tag.
-- `tag_value` - The value to set.
-
-
-**Returns**:
-
-- `EventData` - The updated EventData object.
-
-
-
-#### add\_tags
-
-```python
-def add_tags(tags: Dict[str, str]) -> 'EventData'
-```
-
-Adds tags from the specified dictionary. Conflicting tags will be overwritten.
-
-**Arguments**:
-
-- `tags` - The tags to add.
-
-
-**Returns**:
-
-- `EventData` - The updated EventData object.
-
-
-
-#### remove\_tag
-
-```python
-def remove_tag(tag_id: str) -> 'EventData'
-```
-
-Removes a tag from the event.
-
-**Arguments**:
-
-- `tag_id` - The id of the tag to remove.
-
-
-**Returns**:
-
-- `EventData` - The updated EventData object.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer()
-```
-
-Gets the associated .net object pointer.
-
-**Returns**:
-
- The .net object pointer.
-
-
-
-# quixstreams.models.eventdefinition
-
-
-
-## EventDefinition Objects
-
-```python
-class EventDefinition(object)
-```
-
-Describes additional context for the event
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of EventDefinition
-
-NOTE: Do not initialize this class manually. Instances of it are available on StreamEventsConsumer.definitions
-
-**Arguments**:
-
-- `net_pointer`: Pointer to an instance of a .net EventDefinition
-
-
-
-# quixstreams.models.eventlevel
-
-
-
-# quixstreams.models.netdict
-
-
-
-## ReadOnlyNetDict Objects
-
-```python
-class ReadOnlyNetDict(object)
-```
-
-Experimental. Acts as a proxy between a .net dictionary and a python dict. Useful if .net dictionary is observable and reacts to changes
-
-
-
-## NetDict Objects
-
-```python
-class NetDict(ReadOnlyNetDict)
-```
-
-Experimental. Acts as a proxy between a .net dictionary and a python list.
-
-
-
-#### constructor\_for\_string\_string
-
-```python
-@staticmethod
-def constructor_for_string_string(net_pointer=None)
-```
-
-Creates an empty dotnet list for strings if no pointer provided, else wraps in NetDict with string converters
-
-
-
-# quixstreams.models.netlist
-
-
-
-## NetReadOnlyList Objects
-
-```python
-class NetReadOnlyList(object)
-```
-
-Experimental. Acts as a proxy between a .net collection and a python list. Useful if .net collection is observable and reacts to changes
-
-
-
-## NetList Objects
-
-```python
-class NetList(NetReadOnlyList)
-```
-
-Experimental. Acts as a proxy between a .net collection and a python list. Useful if .net collection is observable and reacts to changes
-
-
-
-#### constructor\_for\_string
-
-```python
-@staticmethod
-def constructor_for_string(net_pointer=None)
-```
-
-Creates an empty dotnet list for strings if no pointer provided, else wraps in NetDict with string converters
-
-
-
-# quixstreams.models.parameterdefinition
-
-
-
-## ParameterDefinition Objects
-
-```python
-class ParameterDefinition(object)
-```
-
-Describes additional context for the parameter
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of ParameterDefinition
-
-NOTE: Do not initialize this class manually. Instances of it are available on StreamTimeseriesConsumer.definitions
-
-**Arguments**:
-
-- `net_pointer`: Pointer to an instance of a .net ParameterDefinition.
-
-
-
-# quixstreams.models.parametervalue
-
-
-
-## ParameterValue Objects
-
-```python
-@nativedecorator
-class ParameterValue(object)
-```
-
-Represents a single parameter value of either numeric, string, or binary type.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of ParameterValue.
-
-**Arguments**:
-
-- `net_pointer` - The .net object pointer representing ParameterValue.
-
-
-
-#### numeric\_value
-
-```python
-@property
-def numeric_value() -> float
-```
-
-Gets the numeric value of the parameter if the underlying parameter is of numeric type.
-
-
-
-#### numeric\_value
-
-```python
-@numeric_value.setter
-def numeric_value(value: float)
-```
-
-Sets the numeric value of the parameter and updates the type to numeric.
-
-**Arguments**:
-
-- `value` - The numeric value to set.
-
-
-
-#### string\_value
-
-```python
-@property
-def string_value() -> str
-```
-
-Gets the string value of the parameter if the underlying parameter is of string type.
-
-
-
-#### string\_value
-
-```python
-@string_value.setter
-def string_value(value: str)
-```
-
-Sets the string value of the parameter and updates the type to string.
-
-**Arguments**:
-
-- `value` - The string value to set.
-
-
-
-#### binary\_value
-
-```python
-@property
-def binary_value() -> bytes
-```
-
-Gets the binary value of the parameter if the underlying parameter is of binary type.
-
-
-
-#### binary\_value
-
-```python
-@binary_value.setter
-def binary_value(value: Union[bytearray, bytes])
-```
-
-Sets the binary value of the parameter and updates the type to binary.
-
-**Arguments**:
-
-- `value` - The binary value to set.
-
-
-
-#### type
-
-```python
-@property
-def type() -> ParameterValueType
-```
-
-Gets the type of value, which is numeric, string, binary if set, otherwise empty
-
-
-
-#### value
-
-```python
-@property
-def value()
-```
-
-Gets the underlying value.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the associated .net object pointer.
-
-
-
-# quixstreams.models.streamconsumer
-
-
-
-# quixstreams.models.streamconsumer.streameventsconsumer
-
-
-
-## StreamEventsConsumer Objects
-
-```python
-@nativedecorator
-class StreamEventsConsumer(object)
-```
-
-Consumer for streams, which raises EventData and EventDefinitions related messages
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(stream_consumer, net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of StreamEventsConsumer.
-NOTE: Do not initialize this class manually, use StreamConsumer.events to access an instance of it
-
-**Arguments**:
-
-- `stream_consumer` - The Stream consumer which owns this stream event consumer
-- `net_pointer` - Pointer to an instance of a .net StreamEventsConsumer
-
-
-
-#### on\_data\_received
-
-```python
-@property
-def on_data_received() -> Callable[['StreamConsumer', EventData], None]
-```
-
-Gets the handler for when an events data package is received for the stream.
-
-**Returns**:
-
- Callable[['StreamConsumer', EventData], None]:
- The first parameter is the stream the event is received for. The second is the event.
-
-
-
-#### on\_data\_received
-
-```python
-@on_data_received.setter
-def on_data_received(
- value: Callable[['StreamConsumer', EventData], None]) -> None
-```
-
-Sets the handler for when an events data package is received for the stream.
-
-**Arguments**:
-
-- `value` - The first parameter is the stream the event is received for. The second is the event.
-
-
-
-#### on\_definitions\_changed
-
-```python
-@property
-def on_definitions_changed() -> Callable[['StreamConsumer'], None]
-```
-
-Gets the handler for event definitions have changed for the stream.
-
-**Returns**:
-
- Callable[['StreamConsumer'], None]:
- The first parameter is the stream the event definitions changed for.
-
-
-
-#### on\_definitions\_changed
-
-```python
-@on_definitions_changed.setter
-def on_definitions_changed(value: Callable[['StreamConsumer'], None]) -> None
-```
-
-Sets the handler for event definitions have changed for the stream.
-
-**Arguments**:
-
-- `value` - The first parameter is the stream the event definitions changed for.
-
-
-
-#### definitions
-
-```python
-@property
-def definitions() -> List[EventDefinition]
-```
-
-Gets the latest set of event definitions.
-
-
-
-# quixstreams.models.streamconsumer.streampropertiesconsumer
-
-
-
-## StreamPropertiesConsumer Objects
-
-```python
-@nativedecorator
-class StreamPropertiesConsumer(object)
-```
-
-Represents properties and metadata of the stream.
-All changes to these properties are automatically populated to this class.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(stream_consumer: 'StreamConsumer', net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of StreamPropertiesConsumer.
-NOTE: Do not initialize this class manually, use StreamConsumer.properties to access an instance of it.
-
-**Arguments**:
-
-- `stream_consumer` - The Stream consumer that owns this stream event consumer.
-- `net_pointer` - Pointer to an instance of a .NET StreamPropertiesConsumer.
-
-
-
-#### on\_changed
-
-```python
-@property
-def on_changed() -> Callable[['StreamConsumer'], None]
-```
-
-Gets the handler for when the stream properties change.
-
-**Returns**:
-
- Callable[[StreamConsumer], None]: The event handler for stream property changes.
- The first parameter is the StreamConsumer instance for which the change is invoked.
-
-
-
-#### on\_changed
-
-```python
-@on_changed.setter
-def on_changed(value: Callable[['StreamConsumer'], None]) -> None
-```
-
-Sets the handler for when the stream properties change.
-
-**Arguments**:
-
-- `value` - The first parameter is the stream it is invoked for.
-
-
-
-#### name
-
-```python
-@property
-def name() -> str
-```
-
-Gets the name of the stream.
-
-
-
-#### location
-
-```python
-@property
-def location() -> str
-```
-
-Gets the location of the stream.
-
-
-
-#### time\_of\_recording
-
-```python
-@property
-def time_of_recording() -> datetime
-```
-
-Gets the datetime of the recording.
-
-
-
-#### metadata
-
-```python
-@property
-def metadata() -> Dict[str, str]
-```
-
-Gets the metadata of the stream.
-
-
-
-#### parents
-
-```python
-@property
-def parents() -> List[str]
-```
-
-Gets the list of Stream IDs for the parent streams.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the .NET pointer for the StreamPropertiesConsumer instance.
-
-**Returns**:
-
-- `ctypes.c_void_p` - .NET pointer for the StreamPropertiesConsumer instance.
-
-
-
-# quixstreams.models.streamconsumer.streamtimeseriesconsumer
-
-
-
-## StreamTimeseriesConsumer Objects
-
-```python
-@nativedecorator
-class StreamTimeseriesConsumer(object)
-```
-
-Consumer for streams, which raises TimeseriesData and ParameterDefinitions related messages
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(stream_consumer, net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of StreamTimeseriesConsumer.
-NOTE: Do not initialize this class manually. Use StreamConsumer.timeseries to access an instance of it.
-
-**Arguments**:
-
-- `stream_consumer` - The Stream consumer which owns this stream event consumer.
-- `net_pointer` _.net object_ - Pointer to an instance of a .net StreamTimeseriesConsumer.
-
-
-
-#### on\_data\_received
-
-```python
-@property
-def on_data_received() -> Callable[['StreamConsumer', TimeseriesData], None]
-```
-
-Gets the handler for when data is received (without buffering).
-
-**Returns**:
-
- Callable[['StreamConsumer', TimeseriesData], None]: The function that handles the data received.
- The first parameter is the stream that receives the data, and the second is the data in TimeseriesData format.
-
-
-
-#### on\_data\_received
-
-```python
-@on_data_received.setter
-def on_data_received(
- value: Callable[['StreamConsumer', TimeseriesData], None]) -> None
-```
-
-Sets the handler for when data is received (without buffering).
-
-**Arguments**:
-
-- `value` - The function that handles the data received.
- The first parameter is the stream that receives the data, and the second is the data in TimeseriesData format.
-
-
-
-#### on\_raw\_received
-
-```python
-@property
-def on_raw_received() -> Callable[['StreamConsumer', TimeseriesDataRaw], None]
-```
-
-Gets the handler for when data is received (without buffering) in raw transport format.
-
-**Returns**:
-
- Callable[['StreamConsumer', TimeseriesDataRaw], None]: The function that handles the data received.
- The first parameter is the stream that receives the data, and the second is the data in TimeseriesDataRaw format.
-
-
-
-#### on\_raw\_received
-
-```python
-@on_raw_received.setter
-def on_raw_received(
- value: Callable[['StreamConsumer', TimeseriesDataRaw], None]) -> None
-```
-
-Sets the handler for when data is received (without buffering) in raw transport format.
-
-**Arguments**:
-
-- `value` - The function that handles the data received.
- The first parameter is the stream that receives the data, and the second is the data in TimeseriesDataRaw format.
-
-
-
-#### on\_dataframe\_received
-
-```python
-@property
-def on_dataframe_received(
-) -> Callable[['StreamConsumer', pandas.DataFrame], None]
-```
-
-Gets the handler for when data is received (without buffering) in pandas DataFrame format.
-
-**Returns**:
-
- Callable[['StreamConsumer', pandas.DataFrame], None]: The function that handles the data received.
- The first parameter is the stream that receives the data, and the second is the data in pandas DataFrame format.
-
-
-
-#### on\_dataframe\_received
-
-```python
-@on_dataframe_received.setter
-def on_dataframe_received(
- value: Callable[['StreamConsumer', pandas.DataFrame], None]) -> None
-```
-
-Sets the handler for when data is received (without buffering) in pandas DataFrame format.
-
-**Arguments**:
-
-- `value` - The function that handles the data received.
- The first parameter is the stream that receives the data, and the second is the data in pandas DataFrame format.
-
-
-
-#### on\_definitions\_changed
-
-```python
-@property
-def on_definitions_changed() -> Callable[['StreamConsumer'], None]
-```
-
-Gets the handler for when the parameter definitions have changed for the stream.
-
-**Returns**:
-
- Callable[['StreamConsumer'], None]: The function that handles the parameter definitions change.
- The first parameter is the stream for which the parameter definitions changed.
-
-
-
-#### on\_definitions\_changed
-
-```python
-@on_definitions_changed.setter
-def on_definitions_changed(value: Callable[['StreamConsumer'], None]) -> None
-```
-
-Sets the handler for when the parameter definitions have changed for the stream.
-
-**Arguments**:
-
-- `value` - The function that handles the parameter definitions change.
- The first parameter is the stream for which the parameter definitions changed.
-
-
-
-#### definitions
-
-```python
-@property
-def definitions() -> List[ParameterDefinition]
-```
-
-Gets the latest set of parameter definitions.
-
-
-
-#### create\_buffer
-
-```python
-def create_buffer(
- *parameter_filter: str,
- buffer_configuration: TimeseriesBufferConfiguration = None
-) -> TimeseriesBufferConsumer
-```
-
-Creates a new buffer for consuming data according to the provided parameter_filter and buffer_configuration.
-
-**Arguments**:
-
-- `parameter_filter` - Zero or more parameter identifiers to filter as a whitelist. If provided, only those
- parameters will be available through this buffer.
-- `buffer_configuration` - An optional TimeseriesBufferConfiguration.
-
-
-**Returns**:
-
-- `TimeseriesBufferConsumer` - An consumer that will raise new data consumed via the on_data_released event.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the .NET pointer for the StreamTimeseriesConsumer instance.
-
-**Returns**:
-
-- `ctypes.c_void_p` - .NET pointer for the StreamTimeseriesConsumer instance.
-
-
-
-# quixstreams.models.streamconsumer.timeseriesbufferconsumer
-
-
-
-## TimeseriesBufferConsumer Objects
-
-```python
-class TimeseriesBufferConsumer(TimeseriesBuffer)
-```
-
-Represents a class for consuming data from a stream in a buffered manner.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(stream_consumer, net_pointer: ctypes.c_void_p = None)
-```
-
-Initializes a new instance of TimeseriesBufferConsumer.
-
-NOTE: Do not initialize this class manually,
-use StreamTimeseriesConsumer.create_buffer to create it.
-
-**Arguments**:
-
-- `stream_consumer` - The Stream consumer which owns this timeseries buffer consumer.
-- `net_pointer` - Pointer to an instance of a .net TimeseriesBufferConsumer.
- Defaults to None.
-
-
-**Raises**:
-
-- `Exception` - If net_pointer is None.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Retrieves the pointer to the .net TimeseriesBufferConsumer instance.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The pointer to the .net TimeseriesBufferConsumer instance.
-
-
-
-# quixstreams.models.streamendtype
-
-
-
-# quixstreams.models.streampackage
-
-
-
-## StreamPackage Objects
-
-```python
-@nativedecorator
-class StreamPackage(object)
-```
-
-Default model implementation for non-typed message packages of the Telemetry layer. It holds a value and its type.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of StreamPackage.
-
-**Notes**:
-
- Do not initialize this class manually. Will be initialized by StreamConsumer.on_package_received.
-
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net StreamPackage.
-
-
-
-#### transport\_context
-
-```python
-@property
-def transport_context() -> Dict[str, str]
-```
-
-Context holder for package when transporting through the pipeline.
-
-
-
-#### to\_json
-
-```python
-def to_json() -> str
-```
-
-Serialize the package into JSON.
-
-**Returns**:
-
-- `str` - The serialized JSON string of the package.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the associated .net object pointer.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The .net object pointer.
-
-
-
-# quixstreams.models.streamproducer
-
-
-
-# quixstreams.models.streamproducer.streameventsproducer
-
-
-
-## StreamEventsProducer Objects
-
-```python
-@nativedecorator
-class StreamEventsProducer(object)
-```
-
-Helper class for producing EventDefinitions and EventData.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of StreamEventsProducer.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .NET StreamEventsProducer.
-
-
-
-#### flush
-
-```python
-def flush()
-```
-
-Immediately publishes the event definitions from the buffer without waiting for buffer condition to fulfill
-(200ms timeout). TODO: Verify 200ms timeout value.
-
-
-
-#### default\_tags
-
-```python
-@property
-def default_tags() -> Dict[str, str]
-```
-
-Gets default tags injected to all event values sent by the producer.
-
-
-
-#### default\_location
-
-```python
-@property
-def default_location() -> str
-```
-
-Gets the default Location of the events. Event definitions added with add_definition will be inserted at this location.
-See add_location for adding definitions at a different location without changing default.
-Example: "/Group1/SubGroup2"
-
-
-
-#### default\_location
-
-```python
-@default_location.setter
-def default_location(value: str)
-```
-
-Sets the default Location of the events. Event definitions added with add_definition will be inserted at this location.
-See add_location for adding definitions at a different location without changing default.
-
-**Arguments**:
-
-- `value` - Location string, e.g., "/Group1/SubGroup2".
-
-
-
-#### epoch
-
-```python
-@property
-def epoch() -> datetime
-```
-
-The unix epoch from, which all other timestamps in this model are measured from in nanoseconds.
-
-
-
-#### epoch
-
-```python
-@epoch.setter
-def epoch(value: datetime)
-```
-
-Sets the default epoch used for event values.
-
-
-
-#### publish
-
-```python
-def publish(data: Union[EventData, pd.DataFrame], **columns) -> None
-```
-
-Publish an event into the stream.
-
-**Arguments**:
-
-- `data` - EventData object or a pandas dataframe.
-- `columns` - Column names if the dataframe has different columns from 'id', 'timestamp', and 'value'.
- For instance, if 'id' is in the column 'event_id', id='event_id' must be passed as an argument.
-
-
-**Raises**:
-
-- `TypeError` - If the data argument is neither an EventData nor pandas dataframe.
-
-
-
-#### add\_timestamp
-
-```python
-def add_timestamp(time: Union[datetime, timedelta]) -> EventDataBuilder
-```
-
-Start adding a new set of event values at the given timestamp.
-
-**Arguments**:
-
-- `time` - The time to use for adding new event values.
- * datetime: The datetime to use for adding new event values. NOTE, epoch is not used.
- * timedelta: The time since the default epoch to add the event values at
-
-
-**Returns**:
-
-- `EventDataBuilder` - Event data builder to add event values at the provided time.
-
-
-
-#### add\_timestamp\_milliseconds
-
-```python
-def add_timestamp_milliseconds(milliseconds: int) -> EventDataBuilder
-```
-
-Start adding a new set of event values at the given timestamp.
-
-**Arguments**:
-
-- `milliseconds` - The time in milliseconds since the default epoch to add the event values at.
-
-
-**Returns**:
-
-- `EventDataBuilder` - Event data builder to add event values at the provided time.
-
-
-
-#### add\_timestamp\_nanoseconds
-
-```python
-def add_timestamp_nanoseconds(nanoseconds: int) -> EventDataBuilder
-```
-
-Start adding a new set of event values at the given timestamp.
-
-**Arguments**:
-
-- `nanoseconds` - The time in nanoseconds since the default epoch to add the event values at.
-
-
-**Returns**:
-
-- `EventDataBuilder` - Event data builder to add event values at the provided time.
-
-
-
-#### add\_definition
-
-```python
-def add_definition(event_id: str,
- name: str = None,
- description: str = None) -> EventDefinitionBuilder
-```
-
-Add new Event definition to define properties like Name or Level, among others.
-
-**Arguments**:
-
-- `event_id` - The id of the event. Must match the event id used to send data.
-- `name` - The human-friendly display name of the event.
-- `description` - The description of the event.
-
-
-**Returns**:
-
-- `EventDefinitionBuilder` - EventDefinitionBuilder to define properties of the event or add additional events.
-
-
-
-#### add\_location
-
-```python
-def add_location(location: str) -> EventDefinitionBuilder
-```
-
-Add a new location in the events groups hierarchy.
-
-**Arguments**:
-
-- `location` - The group location.
-
-
-**Returns**:
-
-- `EventDefinitionBuilder` - EventDefinitionBuilder to define the events under the specified location.
-
-
-
-# quixstreams.models.streamproducer.streampropertiesproducer
-
-
-
-## StreamPropertiesProducer Objects
-
-```python
-@nativedecorator
-class StreamPropertiesProducer(object)
-```
-
-Represents properties and metadata of the stream.
-All changes to these properties are automatically published to the underlying stream.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of StreamPropertiesProducer.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net StreamPropertiesProducer.
-
-
-
-#### name
-
-```python
-@property
-def name() -> str
-```
-
-Gets the human friendly name of the stream.
-
-**Returns**:
-
-- `str` - The human friendly name of the stream.
-
-
-
-#### name
-
-```python
-@name.setter
-def name(value: str)
-```
-
-Sets the human friendly name of the stream.
-
-**Arguments**:
-
-- `value` - The new human friendly name of the stream.
-
-
-
-#### location
-
-```python
-@property
-def location() -> str
-```
-
-Gets the location of the stream in the data catalogue.
-
-**Returns**:
-
-- `str` - The location of the stream in the data catalogue, e.g., "/cars/ai/carA/".
-
-
-
-#### location
-
-```python
-@location.setter
-def location(value: str)
-```
-
-Sets the location of the stream in the data catalogue.
-
-**Arguments**:
-
-- `value` - The new location of the stream in the data catalogue.
-
-
-
-#### metadata
-
-```python
-@property
-def metadata() -> Dict[str, str]
-```
-
-"
-Gets the metadata of the stream.
-
-**Returns**:
-
- Dict[str, str]: The metadata of the stream.
-
-
-
-#### parents
-
-```python
-@property
-def parents() -> List[str]
-```
-
-Gets the list of stream ids of the parent streams.
-
-**Returns**:
-
-- `List[str]` - The list of stream ids of the parent streams.
-
-
-
-#### time\_of\_recording
-
-```python
-@property
-def time_of_recording() -> datetime
-```
-
-Gets the datetime of the stream recording.
-
-**Returns**:
-
-- `datetime` - The datetime of the stream recording.
-
-
-
-#### time\_of\_recording
-
-```python
-@time_of_recording.setter
-def time_of_recording(value: datetime)
-```
-
-Sets the time of the stream recording.
-
-**Arguments**:
-
-- `value` - The new time of the stream recording.
-
-
-
-#### flush\_interval
-
-```python
-@property
-def flush_interval() -> int
-```
-
-Gets the automatic flush interval of the properties metadata into the channel (in milliseconds).
-
-**Returns**:
-
-- `int` - The automatic flush interval in milliseconds, default is 30000.
-
-
-
-#### flush\_interval
-
-```python
-@flush_interval.setter
-def flush_interval(value: int)
-```
-
-Sets the automatic flush interval of the properties metadata into the channel (in milliseconds).
-
-**Arguments**:
-
-- `value` - The new flush interval in milliseconds.
-
-
-
-#### flush
-
-```python
-def flush()
-```
-
-Immediately publishes the properties yet to be sent instead of waiting for the flush timer (20ms).
-
-
-
-# quixstreams.models.streamproducer.streamtimeseriesproducer
-
-
-
-## StreamTimeseriesProducer Objects
-
-```python
-@nativedecorator
-class StreamTimeseriesProducer(object)
-```
-
-Helper class for producing ParameterDefinition and TimeseriesData.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(stream_producer, net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of StreamTimeseriesProducer.
-
-**Arguments**:
-
-- `stream_producer` - The Stream producer which owns this stream timeseries producer.
-- `net_pointer` - Pointer to an instance of a .net StreamTimeseriesProducer.
-
-
-
-#### flush
-
-```python
-def flush()
-```
-
-Immediately publish timeseries data and definitions from the buffer without waiting for buffer condition to fulfill for either.
-
-
-
-#### add\_definition
-
-```python
-def add_definition(parameter_id: str,
- name: str = None,
- description: str = None) -> ParameterDefinitionBuilder
-```
-
-Add new parameter definition to the StreamTimeseriesProducer. Configure it with the builder methods.
-
-**Arguments**:
-
-- `parameter_id` - The id of the parameter. Must match the parameter id used to send data.
-- `name` - The human friendly display name of the parameter.
-- `description` - The description of the parameter.
-
-
-**Returns**:
-
-- `ParameterDefinitionBuilder` - Builder to define the parameter properties.
-
-
-
-#### add\_location
-
-```python
-def add_location(location: str) -> ParameterDefinitionBuilder
-```
-
-Add a new location in the parameters groups hierarchy.
-
-**Arguments**:
-
-- `location` - The group location.
-
-
-**Returns**:
-
-- `ParameterDefinitionBuilder` - Builder to define the parameters under the specified location.
-
-
-
-#### default\_location
-
-```python
-@property
-def default_location() -> str
-```
-
-Gets the default location of the parameters. Parameter definitions added with add_definition will be inserted at this location.
-See add_location for adding definitions at a different location without changing default.
-
-**Returns**:
-
-- `str` - The default location of the parameters, e.g., "/Group1/SubGroup2".
-
-
-
-#### default\_location
-
-```python
-@default_location.setter
-def default_location(value: str)
-```
-
-Sets the default location of the parameters. Parameter definitions added with add_definition will be inserted at this location.
-See add_location for adding definitions at a different location without changing default.
-
-**Arguments**:
-
-- `value` - The new default location of the parameters, e.g., "/Group1/SubGroup2".
-
-
-
-#### buffer
-
-```python
-@property
-def buffer() -> TimeseriesBufferProducer
-```
-
-Get the buffer for producing timeseries data.
-
-**Returns**:
-
-- `TimeseriesBufferProducer` - The buffer for producing timeseries data.
-
-
-
-#### publish
-
-```python
-def publish(
- packet: Union[TimeseriesData, pd.DataFrame,
- TimeseriesDataRaw]) -> None
-```
-
-Publish the given packet to the stream without any buffering.
-
-**Arguments**:
-
-- `packet` - The packet containing TimeseriesData, TimeseriesDataRaw, or pandas DataFrame.
-
-
-**Notes**:
-
- - Pandas DataFrame should contain 'time' label, else the first integer label will be taken as time.
- - Tags should be prefixed by TAG__ or they will be treated as parameters.
-
-
-**Examples**:
-
- Send a pandas DataFrame:
- pdf = pandas.DataFrame({'time': [1, 5],
-- `'panda_param'` - [123.2, 5]})
- instance.publish(pdf)
-
- Send a pandas DataFrame with multiple values:
- pdf = pandas.DataFrame({'time': [1, 5, 10],
-- `'panda_param'` - [123.2, None, 12],
-- `'panda_param2'` - ["val1", "val2", None]})
- instance.publish(pdf)
-
- Send a pandas DataFrame with tags:
- pdf = pandas.DataFrame({'time': [1, 5, 10],
-- `'panda_param'` - [123.2, 5, 12],
-- `'TAG__Tag1'` - ["v1", 2, None],
-- `'TAG__Tag2'` - [1, None, 3]})
- instance.publish(pdf)
-
-
-**Raises**:
-
-- `Exception` - If the given type is not supported for publishing.
-
-
-
-# quixstreams.models.streamproducer.timeseriesbufferproducer
-
-
-
-## TimeseriesBufferProducer Objects
-
-```python
-@nativedecorator
-class TimeseriesBufferProducer(TimeseriesBuffer)
-```
-
-A class for producing timeseries data to a StreamProducer in a buffered manner.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(stream_producer, net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of TimeseriesBufferProducer.
-NOTE: Do not initialize this class manually, use StreamTimeseriesProducer.buffer to access an instance of it
-
-**Arguments**:
-
-- `stream_producer` - The Stream producer which owns this timeseries buffer producer
-- `net_pointer` - Pointer to an instance of a .net TimeseriesBufferProducer
-
-
-**Raises**:
-
-- `Exception` - If TimeseriesBufferProducer is None
-
-
-
-#### default\_tags
-
-```python
-@property
-def default_tags() -> Dict[str, str]
-```
-
-Get default tags injected for all parameters values sent by this buffer.
-
-**Returns**:
-
- Dict[str, str]: A dictionary containing the default tags
-
-
-
-#### epoch
-
-```python
-@property
-def epoch() -> datetime
-```
-
-Get the default epoch used for parameter values.
-
-**Returns**:
-
-- `datetime` - The default epoch used for parameter values
-
-
-
-#### epoch
-
-```python
-@epoch.setter
-def epoch(value: datetime)
-```
-
-Set the default epoch used for parameter values. Datetime added on top of all the Timestamps.
-
-**Arguments**:
-
-- `value` - The default epoch to set for parameter values
-
-
-
-#### add\_timestamp
-
-```python
-def add_timestamp(time: Union[datetime, timedelta]) -> TimeseriesDataBuilder
-```
-
-Start adding a new set of parameter values at the given timestamp.
-
-**Arguments**:
-
-- `time` - The time to use for adding new parameter values.
- - datetime: The datetime to use for adding new parameter values. NOTE, epoch is not used
- - timedelta: The time since the default epoch to add the parameter values at
-
-
-**Returns**:
-
-- `TimeseriesDataBuilder` - A TimeseriesDataBuilder instance for adding parameter values
-
-
-**Raises**:
-
-- `ValueError` - If 'time' is None or not an instance of datetime or timedelta
-
-
-
-#### add\_timestamp\_nanoseconds
-
-```python
-def add_timestamp_nanoseconds(nanoseconds: int) -> TimeseriesDataBuilder
-```
-
-Start adding a new set of parameter values at the given timestamp.
-
-**Arguments**:
-
-- `nanoseconds` - The time in nanoseconds since the default epoch to add the parameter values at
-
-
-**Returns**:
-
-- `TimeseriesDataBuilder` - A TimeseriesDataBuilder instance for adding parameter values
-
-
-
-#### flush
-
-```python
-def flush()
-```
-
-Immediately publishes the data from the buffer without waiting for the buffer condition to be fulfilled.
-
-
-
-#### publish
-
-```python
-def publish(packet: Union[TimeseriesData, pd.DataFrame]) -> None
-```
-
-Publish the provided timeseries packet to the buffer.
-
-**Arguments**:
-
-- `packet` - The packet containing TimeseriesData or panda DataFrame
- - packet type panda.DataFrame:
- * Note 1: panda data frame should contain 'time' label, else the first integer label will be taken as time.
- * Note 2: Tags should be prefixed by TAG__ or they will be treated as timeseries parameters
-
-
-**Examples**:
-
- Send a panda data frame:
- pdf = panda.DataFrame({'time': [1, 5],
-- `'panda_param'` - [123.2, 5]})
-
- instance.publish(pdf)
-
- Send a panda data frame with multiple values:
- pdf = panda.DataFrame({'time': [1, 5, 10],
-- `'panda_param'` - [123.2, None, 12],
-- `'panda_param2'` - ["val1", "val2", None]})
-
- instance.publish(pdf)
-
- Send a panda data frame with tags:
- pdf = panda.DataFrame({'time': [1, 5, 10],
-- `'panda_param'` - [123.2, 5, 12],,
-- `'TAG__Tag1'` - ["v1", 2, None],
-- `'TAG__Tag2'` - [1, None, 3]})
-
- instance.publish(pdf)
-
-
-**Raises**:
-
-- `Exception` - If the packet type is not supported
-
-
-
-# quixstreams.models.timeseriesbuffer
-
-
-
-## TimeseriesBuffer Objects
-
-```python
-@nativedecorator
-class TimeseriesBuffer(object)
-```
-
-Represents a class used to consume and produce stream messages in a buffered manner.
-When buffer conditions are not configured, it acts a pass-through, raising each message as arrives.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(stream, net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of TimeseriesBuffer.
-
-NOTE: Do not initialize this class manually, use StreamProducer.timeseries.buffer to create it.
-
-**Arguments**:
-
-- `stream` - The stream the buffer is created for.
-- `net_pointer` - Pointer to a .net TimeseriesBuffer object.
-
-
-
-#### on\_data\_released
-
-```python
-@property
-def on_data_released() -> Callable[
- [Union['StreamConsumer', 'StreamProducer'], TimeseriesData], None]
-```
-
-Gets the handler for when the stream receives data.
-
-**Returns**:
-
- Callable[[Union['StreamConsumer', 'StreamProducer'], TimeseriesData], None]: The event handler.
- The first parameter is the stream the data is received for, second is the data in TimeseriesData format.
-
-
-
-#### on\_data\_released
-
-```python
-@on_data_released.setter
-def on_data_released(
- value: Callable[
- [Union['StreamConsumer', 'StreamProducer'], TimeseriesData], None]
-) -> None
-```
-
-Sets the handler for when the stream receives data.
-
-**Arguments**:
-
-- `value` - The event handler. The first parameter is the stream the data is received for, second is the data in TimeseriesData format.
-
-
-
-#### on\_raw\_released
-
-```python
-@property
-def on_raw_released() -> Callable[
- [Union['StreamConsumer', 'StreamProducer'], TimeseriesDataRaw], None]
-```
-
-Gets the handler for when the stream receives raw data.
-
-**Returns**:
-
- Callable[[Union['StreamConsumer', 'StreamProducer'], TimeseriesDataRaw], None]: The event handler.
- The first parameter is the stream the data is received for, second is the data in TimeseriesDataRaw format.
-
-
-
-#### on\_raw\_released
-
-```python
-@on_raw_released.setter
-def on_raw_released(
- value: Callable[
- [Union['StreamConsumer', 'StreamProducer'], TimeseriesDataRaw], None]
-) -> None
-```
-
-Sets the handler for when the stream receives raw data.
-
-**Arguments**:
-
-- `value` - The event handler. The first parameter is the stream the data is received for, second is the data in TimeseriesDataRaw format.
-
-
-
-#### on\_dataframe\_released
-
-```python
-@property
-def on_dataframe_released() -> Callable[
- [Union['StreamConsumer', 'StreamProducer'], pandas.DataFrame], None]
-```
-
-Gets the handler for when the stream receives data as a pandas DataFrame.
-
-**Returns**:
-
- Callable[[Union['StreamConsumer', 'StreamProducer'], pandas.DataFrame], None]: The event handler.
- The first parameter is the stream the data is received for, second is the data in pandas.DataFrame format.
-
-
-
-#### on\_dataframe\_released
-
-```python
-@on_dataframe_released.setter
-def on_dataframe_released(
- value: Callable[
- [Union['StreamConsumer', 'StreamProducer'], pandas.DataFrame], None]
-) -> None
-```
-
-Sets the handler for when the stream receives data as a pandas DataFrame.
-
-**Arguments**:
-
-- `value` - The event handler. The first parameter is the stream the data is received for, second is the data in pandas.DataFrame format.
-
-
-
-#### filter
-
-```python
-@property
-def filter() -> Callable[[TimeseriesDataTimestamp], bool]
-```
-
-Gets the custom function to filter the incoming data before adding it to the buffer. If returns true, data is added otherwise not.
-Defaults to none (disabled).
-
-
-
-#### filter
-
-```python
-@filter.setter
-def filter(value: Callable[[TimeseriesDataTimestamp], bool])
-```
-
-Sets the custom function to filter incoming data before adding to the buffer.
-
-The custom function takes a TimeseriesDataTimestamp object as input and returns
-a boolean value. If the function returns True, the data is added to the buffer,
-otherwise not. By default, this feature is disabled (None).
-
-**Arguments**:
-
-- `value` - Custom filter function.
-
-
-
-#### custom\_trigger
-
-```python
-@property
-def custom_trigger() -> Callable[[TimeseriesData], bool]
-```
-
-Gets the custom trigger function, which is invoked after adding a new timestamp to the buffer.
-
-If the custom trigger function returns True, the buffer releases content and triggers relevant callbacks.
-By default, this feature is disabled (None).
-
-**Returns**:
-
- Callable[[TimeseriesData], bool]: Custom trigger function.
-
-
-
-#### custom\_trigger
-
-```python
-@custom_trigger.setter
-def custom_trigger(value: Callable[[TimeseriesData], bool])
-```
-
-Sets the custom trigger function, which is invoked after adding a new timestamp to the buffer.
-
-If the custom trigger function returns True, the buffer releases content and triggers relevant callbacks.
-By default, this feature is disabled (None).
-
-**Arguments**:
-
-- `value` - Custom trigger function.
-
-
-
-#### packet\_size
-
-```python
-@property
-def packet_size() -> Optional[int]
-```
-
-Gets the maximum packet size in terms of values for the buffer.
-
-Each time the buffer has this amount of data, a callback method, such as `on_data_released`,
-is invoked, and the data is cleared from the buffer. By default, this feature
-is disabled (None).
-
-**Returns**:
-
-- `Optional[int]` - Maximum packet size for the buffer.
-
-
-
-#### packet\_size
-
-```python
-@packet_size.setter
-def packet_size(value: Optional[int])
-```
-
-Sets the maximum packet size in terms of values for the buffer.
-
-Each time the buffer has this amount of data, a callback method, such as `on_data_released`,
-is invoked, and the data is cleared from the buffer. By default, this feature
-is disabled (None).
-
-**Arguments**:
-
-- `value` - Maximum packet size for the buffer.
-
-
-
-#### time\_span\_in\_nanoseconds
-
-```python
-@property
-def time_span_in_nanoseconds() -> Optional[int]
-```
-
-Gets the maximum time between timestamps for the buffer in nanoseconds.
-
-When the difference between the earliest and latest buffered timestamp surpasses
-this number, a callback method, such as `on_data_released`, is invoked, and the data is cleared
-from the buffer. By default, this feature is disabled (None).
-
-**Returns**:
-
-- `Optional[int]` - Maximum time between timestamps in nanoseconds.
-
-
-
-#### time\_span\_in\_nanoseconds
-
-```python
-@time_span_in_nanoseconds.setter
-def time_span_in_nanoseconds(value: Optional[int])
-```
-
-Sets the maximum time between timestamps for the buffer in nanoseconds.
-
-When the difference between the earliest and latest buffered timestamp surpasses
-this number, a callback method, such as `on_data_released`, is invoked, and the data is cleared
-from the buffer. By default, this feature is disabled (None).
-
-**Arguments**:
-
-- `value` - Maximum time between timestamps in nanoseconds.
-
-
-
-#### time\_span\_in\_milliseconds
-
-```python
-@property
-def time_span_in_milliseconds() -> Optional[int]
-```
-
-Gets the maximum time between timestamps for the buffer in milliseconds.
-
-This property retrieves the maximum time between the earliest and latest buffered
-timestamp in milliseconds. If the difference surpasses this number, a callback method,
-such as on_data_released, is invoked, and the data is cleared from the buffer. Note that
-this property is a millisecond converter on top of time_span_in_nanoseconds, and both
-work with the same underlying value. Defaults to None (disabled).
-
-**Returns**:
-
-- `Optional[int]` - The maximum time difference between timestamps in milliseconds, or None if disabled.
-
-
-
-#### time\_span\_in\_milliseconds
-
-```python
-@time_span_in_milliseconds.setter
-def time_span_in_milliseconds(value: Optional[int])
-```
-
-Sets the maximum time between timestamps for the buffer in milliseconds.
-
-This property sets the maximum time between the earliest and latest buffered
-timestamp in milliseconds. If the difference surpasses this number, a callback method,
-such as on_data_released, is invoked, and the data is cleared from the buffer. Note that
-this property is a millisecond converter on top of time_span_in_nanoseconds, and both
-work with the same underlying value. Defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The maximum time difference between timestamps in milliseconds, or None to disable.
-
-
-
-#### buffer\_timeout
-
-```python
-@property
-def buffer_timeout() -> Optional[int]
-```
-
-Gets the maximum duration in milliseconds for which the buffer will be held. When the configured value has elapsed
-or other buffer conditions are met, a callback method, such as on_data_released, is invoked.
-Defaults to None (disabled).
-
-**Returns**:
-
-- `Optional[int]` - The maximum duration in milliseconds before invoking a callback method, or None if disabled.
-
-
-
-#### buffer\_timeout
-
-```python
-@buffer_timeout.setter
-def buffer_timeout(value: Optional[int])
-```
-
-Sets the maximum duration in milliseconds for which the buffer will be held. When the configured value has elapsed
-or other buffer conditions are met, a callback method, such as on_data_released, is invoked.
-Defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The maximum duration in milliseconds before invoking a callback method, or None to disable.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the associated .net object pointer.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The .net object pointer.
-
-
-
-# quixstreams.models.timeseriesbufferconfiguration
-
-
-
-## TimeseriesBufferConfiguration Objects
-
-```python
-@nativedecorator
-class TimeseriesBufferConfiguration(object)
-```
-
-Describes the configuration for timeseries buffers
-When buffer conditions are not configured, it acts a pass-through, raising each message as arrives.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p = None)
-```
-
-Initializes a new instance of TimeseriesBufferConfiguration.
-
-**Arguments**:
-
-- `net_pointer` - Can be ignored, here for internal purposes .net object: The .net object representing a TimeseriesBufferConfiguration. Defaults to None.
-
-
-
-#### packet\_size
-
-```python
-@property
-def packet_size() -> Optional[int]
-```
-
-Gets the maximum packet size in terms of values for the buffer.
-
-When the buffer reaches this number of values, a callback method, such as on_data_released, is invoked and the buffer is cleared.
-If not set, defaults to None (disabled).
-
-**Returns**:
-
-- `Optional[int]` - The maximum packet size in values or None if disabled.
-
-
-
-#### packet\_size
-
-```python
-@packet_size.setter
-def packet_size(value: Optional[int])
-```
-
-Sets the maximum packet size in terms of values for the buffer.
-
-When the buffer reaches this number of values, a callback method, such as on_data_released, is invoked and the buffer is cleared.
-If not set, defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The maximum packet size in values or None to disable.
-
-
-
-#### time\_span\_in\_nanoseconds
-
-```python
-@property
-def time_span_in_nanoseconds() -> Optional[int]
-```
-
-Gets the maximum time difference between timestamps in the buffer, in nanoseconds.
-
-When the difference between the earliest and latest buffered timestamp exceeds this value, a callback
-method, such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-
-**Returns**:
-
-- `Optional[int]` - The maximum time span in nanoseconds or None if disabled.
-
-
-
-#### time\_span\_in\_nanoseconds
-
-```python
-@time_span_in_nanoseconds.setter
-def time_span_in_nanoseconds(value: Optional[int])
-```
-
-Sets the maximum time difference between timestamps in the buffer, in nanoseconds.
-
-When the difference between the earliest and latest buffered timestamp exceeds this value, a callback method,
-such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The maximum time span in nanoseconds or None to disable.
-
-
-
-#### time\_span\_in\_milliseconds
-
-```python
-@property
-def time_span_in_milliseconds() -> Optional[int]
-```
-
-Gets the maximum time difference between timestamps in the buffer, in milliseconds.
-
-When the difference between the earliest and latest buffered timestamp exceeds this value, a callback method,
-such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-
-Note: This is a millisecond converter on top of time_span_in_nanoseconds. They both work with the same underlying value.
-
-**Returns**:
-
-- `Optional[int]` - The maximum time span in milliseconds or None if disabled.
-
-
-
-#### time\_span\_in\_milliseconds
-
-```python
-@time_span_in_milliseconds.setter
-def time_span_in_milliseconds(value: Optional[int])
-```
-
-Sets the maximum time difference between timestamps in the buffer, in milliseconds.
-
-When the difference between the earliest and latest buffered timestamp exceeds this value, a callback method,
-such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The maximum time span in nanoseconds or None to disable.
-
-
-
-#### buffer\_timeout
-
-```python
-@property
-def buffer_timeout() -> Optional[int]
-```
-
-Gets the maximum duration for which the buffer will be held before releasing the events through callbacks, such as on_data_released.
-
-A callback will be invoked once the configured value has elapsed or other buffer conditions are met.
-If not set, defaults to None (disabled).
-
-**Returns**:
-
-- `Optional[int]` - The maximum buffer timeout in milliseconds or None if disabled.
-
-
-
-#### buffer\_timeout
-
-```python
-@buffer_timeout.setter
-def buffer_timeout(value: Optional[int])
-```
-
-Sets the maximum duration for which the buffer will be held before releasing the events through callbacks, such as on_data_released.
-
-A callback will be invoked once the configured value has elapsed or other buffer conditions are met.
-If not set, defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The maximum buffer timeout in milliseconds or None to disable.
-
-
-
-#### custom\_trigger\_before\_enqueue
-
-```python
-@property
-def custom_trigger_before_enqueue(
-) -> Callable[[TimeseriesDataTimestamp], bool]
-```
-
-Gets the custom function that is called before adding a timestamp to the buffer.
-
-If the function returns True, the buffer releases content and triggers relevant callbacks before adding the timestamp to
-the buffer. If not set, defaults to None (disabled).
-
-**Returns**:
-
- Callable[[TimeseriesDataTimestamp], bool]: The custom function or None if disabled.
-
-
-
-#### custom\_trigger\_before\_enqueue
-
-```python
-@custom_trigger_before_enqueue.setter
-def custom_trigger_before_enqueue(value: Callable[[TimeseriesDataTimestamp],
- bool])
-```
-
-Sets the custom function that is called before adding a timestamp to the buffer.
-
-If the function returns True, the buffer releases content and triggers relevant callbacks before adding the timestamp
-to the buffer. If not set, defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The custom function or None to disable.
-
-
-
-#### filter
-
-```python
-@property
-def filter() -> Callable[[TimeseriesDataTimestamp], bool]
-```
-
-Gets the custom function used to filter incoming data before adding it to the buffer.
-
-If the function returns True, the data is added to the buffer; otherwise, it is not. If not set, defaults to None
-(disabled).
-
-**Returns**:
-
- Callable[[TimeseriesDataTimestamp], bool]: The custom filter function or None if disabled.
-
-
-
-#### filter
-
-```python
-@filter.setter
-def filter(value: Callable[[TimeseriesDataTimestamp], bool])
-```
-
-Sets the custom function used to filter incoming data before adding it to the buffer.
-
-If the function returns True, the data is added to the buffer; otherwise, it is not. If not set, defaults to None
-(disabled).
-
-**Arguments**:
-
-- `value` - The custom filter function or None to disable.
-
-
-
-#### custom\_trigger
-
-```python
-@property
-def custom_trigger() -> Callable[[TimeseriesData], bool]
-```
-
-Gets the custom function that is called after adding a new timestamp to the buffer.
-
-If the function returns True, the buffer releases content and triggers relevant callbacks.
-If not set, defaults to None (disabled).
-
-**Returns**:
-
- Callable[[TimeseriesData], bool]: The custom trigger function or None if disabled.
-
-
-
-#### custom\_trigger
-
-```python
-@custom_trigger.setter
-def custom_trigger(value: Callable[[TimeseriesData], bool])
-```
-
-Sets the custom function that is called after adding a new timestamp to the buffer.
-
-If the function returns True, the buffer releases content and triggers relevant callbacks.
-If not set, defaults to None (disabled).
-
-**Arguments**:
-
-- `value` - The custom trigger function or None to disable.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Returns the .net pointer for the TimeseriesBufferConfiguration object.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The .net pointer for the TimeseriesBufferConfiguration object.
-
-
-
-# quixstreams.models.timeseriesdata
-
-
-
-## TimeseriesData Objects
-
-```python
-@nativedecorator
-class TimeseriesData(object)
-```
-
-Describes timeseries data for multiple timestamps.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p = None)
-```
-
-Initializes a new instance of TimeseriesData.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net TimeseriesData.
-
-
-
-#### clone
-
-```python
-def clone(parameter_filter: Optional[List[str]] = None)
-```
-
-Initializes a new instance of timeseries data with parameters matching the filter if one is provided.
-
-**Arguments**:
-
-- `parameter_filter` - The parameter filter. If one is provided, only parameters
- present in the list will be cloned.
-
-
-**Returns**:
-
-- `TimeseriesData` - A new instance of TimeseriesData with filtered parameters.
-
-
-
-#### add\_timestamp
-
-```python
-def add_timestamp(time: Union[datetime, timedelta]) -> TimeseriesDataTimestamp
-```
-
-Start adding a new set of parameters and their tags at the specified time.
-
-**Arguments**:
-
-- `time` - The time to use for adding new event values.
- | datetime: The datetime to use for adding new event values. Epoch will never be added to this
- | timedelta: The time since the default epoch to add the event values at
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - A new TimeseriesDataTimestamp instance.
-
-
-
-#### add\_timestamp\_milliseconds
-
-```python
-def add_timestamp_milliseconds(milliseconds: int) -> TimeseriesDataTimestamp
-```
-
-Start adding a new set of parameters and their tags at the specified time.
-
-**Arguments**:
-
-- `milliseconds` - The time in milliseconds since the default epoch to add the event values at.
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - A new TimeseriesDataTimestamp instance.
-
-
-
-#### add\_timestamp\_nanoseconds
-
-```python
-def add_timestamp_nanoseconds(nanoseconds: int) -> TimeseriesDataTimestamp
-```
-
-Start adding a new set of parameters and their tags at the specified time.
-
-**Arguments**:
-
-- `nanoseconds` - The time in nanoseconds since the default epoch to add the event values at.
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - A new TimeseriesDataTimestamp instance.
-
-
-
-#### timestamps
-
-```python
-@property
-def timestamps() -> List[TimeseriesDataTimestamp]
-```
-
-Gets the data as rows of TimeseriesDataTimestamp.
-
-**Returns**:
-
-- `List[TimeseriesDataTimestamp]` - A list of TimeseriesDataTimestamp instances.
-
-
-
-#### timestamps
-
-```python
-@timestamps.setter
-def timestamps(timestamp_list: List[TimeseriesDataTimestamp]) -> None
-```
-
-Sets the data as rows of TimeseriesDataTimestamp.
-
-**Arguments**:
-
-- `timestamp_list` - A list of TimeseriesDataTimestamp instances to set.
-
-
-
-#### to\_dataframe
-
-```python
-def to_dataframe() -> pd.DataFrame
-```
-
-Converts TimeseriesData to pandas DataFrame.
-
-**Returns**:
-
-- `pd.DataFrame` - Converted pandas DataFrame.
-
-
-
-#### from\_panda\_dataframe
-
-```python
-@staticmethod
-def from_panda_dataframe(data_frame: pd.DataFrame,
- epoch: int = 0) -> 'TimeseriesData'
-```
-
-Converts pandas DataFrame to TimeseriesData.
-
-**Arguments**:
-
-- `data_frame` - The pandas DataFrame to convert to TimeseriesData.
-- `epoch` - The epoch to add to each time value when converting to TimeseriesData. Defaults to 0.
-
-
-**Returns**:
-
-- `TimeseriesData` - Converted TimeseriesData instance.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the .net pointer of the current instance.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The .net pointer of the current instance
-
-
-
-# quixstreams.models.timeseriesdataraw
-
-
-
-## TimeseriesDataRaw Objects
-
-```python
-@nativedecorator
-class TimeseriesDataRaw(object)
-```
-
-Describes timeseries data in a raw format for multiple timestamps. Class is intended for read only.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p = None)
-```
-
-Initializes a new instance of TimeseriesDataRaw.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net TimeseriesDataRaw. Defaults to None.
-
-
-
-#### to\_dataframe
-
-```python
-def to_dataframe() -> pd.DataFrame
-```
-
-Converts TimeseriesDataRaw to pandas DataFrame.
-
-**Returns**:
-
-- `pd.DataFrame` - Converted pandas DataFrame.
-
-
-
-#### from\_dataframe
-
-```python
-@staticmethod
-def from_dataframe(data_frame: pd.DataFrame,
- epoch: int = 0) -> 'TimeseriesDataRaw'
-```
-
-Converts from pandas DataFrame to TimeseriesDataRaw.
-
-**Arguments**:
-
-- `data_frame` - The pandas DataFrame to convert to TimeseriesData.
-- `epoch` - The epoch to add to each time value when converting to TimeseriesData. Defaults to 0.
-
-
-**Returns**:
-
-- `TimeseriesDataRaw` - Converted TimeseriesDataRaw.
-
-
-
-#### set\_values
-
-```python
-def set_values(epoch: int, timestamps: List[int],
- numeric_values: Dict[str, List[float]],
- string_values: Dict[str, List[str]],
- binary_values: Dict[str,
- List[bytes]], tag_values: Dict[str,
- List[str]])
-```
-
-Sets the values of the timeseries data from the provided dictionaries.
-Dictionary values are matched by index to the provided timestamps.
-
-**Arguments**:
-
-- `epoch` - The time from which all timestamps are measured from.
-- `timestamps` - The timestamps of values in nanoseconds since epoch as an array.
-- `numeric_values` - The numeric values where the dictionary key is the parameter name and the value is the array of values.
-- `string_values` - The string values where the dictionary key is the parameter name and the value is the array of values.
-- `binary_values` - The binary values where the dictionary key is the parameter name and the value is the array of values.
-- `tag_values` - The tag values where the dictionary key is the parameter name and the value is the array of values.
-
-
-
-#### epoch
-
-```python
-@property
-def epoch() -> int
-```
-
-The Unix epoch from which all other timestamps in this model are measured, in nanoseconds.
-
-**Returns**:
-
-- `int` - The Unix epoch (01/01/1970) in nanoseconds.
-
-
-
-#### timestamps
-
-```python
-@property
-def timestamps() -> List[int]
-```
-
-The timestamps of values in nanoseconds since the epoch.
-Timestamps are matched by index to numeric_values, string_values, binary_values, and tag_values.
-
-**Returns**:
-
-- `List[int]` - A list of timestamps in nanoseconds since the epoch.
-
-
-
-#### numeric\_values
-
-```python
-@property
-def numeric_values() -> Dict[str, List[Optional[float]]]
-```
-
-The numeric values for parameters.
-The key is the parameter ID the values belong to. The value is the numerical values of the parameter.
-Values are matched by index to timestamps.
-
-**Returns**:
-
- Dict[str, List[Optional[float]]]: A dictionary mapping parameter IDs to lists of numerical values.
-
-
-
-#### string\_values
-
-```python
-@property
-def string_values() -> Dict[str, List[str]]
-```
-
-The string values for parameters.
-The key is the parameter ID the values belong to. The value is the string values of the parameter.
-Values are matched by index to timestamps.
-
-**Returns**:
-
- Dict[str, List[str]]: A dictionary mapping parameter IDs to lists of string values
-
-
-
-#### binary\_values
-
-```python
-@property
-def binary_values() -> Dict[str, List[bytes]]
-```
-
-The binary values for parameters.
-The key is the parameter ID the values belong to.
-The value is the binary values of the parameter. Values are matched by index to timestamps.
-
-**Returns**:
-
- Dict[str, List[bytes]]: A dictionary mapping parameter IDs to lists of bytes values
-
-
-
-#### tag\_values
-
-```python
-@property
-def tag_values() -> Dict[str, List[str]]
-```
-
-The tag values for parameters.
-The key is the parameter ID the values belong to. The value is the tag values of the parameter.
-Values are matched by index to timestamps.
-
-**Returns**:
-
- Dict[str, List[str]]: A dictionary mapping parameter IDs to lists of string values
-
-
-
-#### convert\_to\_timeseriesdata
-
-```python
-def convert_to_timeseriesdata() -> TimeseriesData
-```
-
-Converts TimeseriesDataRaw to TimeseriesData
-
-
-
-# quixstreams.models.timeseriesdatatimestamp
-
-
-
-## TimeseriesDataTimestamp Objects
-
-```python
-@nativedecorator
-class TimeseriesDataTimestamp()
-```
-
-Represents a single point in time with parameter values and tags attached to that time.
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
-
-Initializes a new instance of TimeseriesDataTimestamp.
-
-**Arguments**:
-
-- `net_pointer` - Pointer to an instance of a .net TimeseriesDataTimestamp.
-
-
-
-#### parameters
-
-```python
-@property
-def parameters() -> Dict[str, ParameterValue]
-```
-
-Gets the parameter values for the timestamp as a dictionary. If a key is not found, returns an empty ParameterValue.
-
-**Returns**:
-
- Dict[str, ParameterValue]: A dictionary with parameter id as key and ParameterValue as value.
-
-
-
-#### tags
-
-```python
-@property
-def tags() -> Dict[str, str]
-```
-
-Gets the tags for the timestamp as a dictionary.
-
-**Returns**:
-
- Dict[str, str]: A dictionary with tag id as key and tag value as value.
-
-
-
-#### timestamp\_nanoseconds
-
-```python
-@property
-def timestamp_nanoseconds() -> int
-```
-
-Gets the timestamp in nanoseconds.
-
-**Returns**:
-
-- `int` - The timestamp in nanoseconds.
-
-
-
-#### timestamp\_milliseconds
-
-```python
-@property
-def timestamp_milliseconds() -> int
-```
-
-Gets the timestamp in milliseconds.
-
-**Returns**:
-
-- `int` - The timestamp in milliseconds.
-
-
-
-#### timestamp
-
-```python
-@property
-def timestamp() -> datetime
-```
-
-Gets the timestamp in datetime format.
-
-**Returns**:
-
-- `datetime` - The timestamp in datetime format.
-
-
-
-#### timestamp\_as\_time\_span
-
-```python
-@property
-def timestamp_as_time_span() -> timedelta
-```
-
-Gets the timestamp in timespan format.
-
-**Returns**:
-
-- `timedelta` - The timestamp in timespan format.
-
-
-
-#### add\_value
-
-```python
-def add_value(
- parameter_id: str, value: Union[numbers.Number, str, bytearray, bytes]
-) -> 'TimeseriesDataTimestamp'
-```
-
-Adds a new value for the specified parameter.
-
-**Arguments**:
-
-- `parameter_id` - The parameter id to add the value for.
-- `value` - The value to add. Can be a number, string, bytearray, or bytes.
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
-
-
-#### remove\_value
-
-```python
-def remove_value(parameter_id: str) -> 'TimeseriesDataTimestamp'
-```
-
-Removes the value for the specified parameter.
-
-**Arguments**:
-
-- `parameter_id` - The parameter id to remove the value for.
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
-
-
-#### add\_tag
-
-```python
-def add_tag(tag_id: str, tag_value: str) -> 'TimeseriesDataTimestamp'
-```
-
-Adds a tag to the timestamp.
-
-**Arguments**:
-
-- `tag_id` - The id of the tag to add.
-- `tag_value` - The value of the tag to add.
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
-
-
-#### remove\_tag
-
-```python
-def remove_tag(tag_id: str) -> 'TimeseriesDataTimestamp'
-```
-
-Removes a tag from the timestamp.
-
-**Arguments**:
-
-- `tag_id` - The id of the tag to remove.
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
-
-
-#### add\_tags
-
-```python
-def add_tags(tags: Dict[str, str]) -> 'TimeseriesDataTimestamp'
-```
-
-Copies the tags from the specified dictionary. Conflicting tags will be overwritten.
-
-**Arguments**:
-
-- `tags` - The dictionary of tags to add, with tag id as key and tag value as value.
-
-
-**Returns**:
-
-- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
-
-
-#### get\_net\_pointer
-
-```python
-def get_net_pointer() -> ctypes.c_void_p
-```
-
-Gets the .net pointer of the TimeseriesDataTimestamp instance.
-
-**Returns**:
-
-- `ctypes.c_void_p` - The .net pointer of the TimeseriesDataTimestamp instance.
-
-
-
-# quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Array
-
-
-
-## Array Objects
-
-```python
-class Array()
-```
-
-
-
-#### ReadBlittables
-
-```python
-@staticmethod
-def ReadBlittables(array_uptr: ctypes.c_void_p,
- valuetype,
- valuemapper=None) -> []
-```
-
-Reads blittable values starting from the array pointer using the specified type and mapper then frees the pointer
-
-**Arguments**:
-
-- `array_uptr`: Unmanaged memory pointer to the first element of the array.
-- `valuetype`: Type of the value
-- `valuemapper`: Conversion function for the value
-
-**Returns**:
-
-The converted array to the given type using the mapper
-
-
-
-#### WriteBlittables
-
-```python
-@staticmethod
-def WriteBlittables(blittables: [any],
- valuetype,
- valuemapper=None) -> c_void_p
-```
-
-Writes a list of blittables (like int) into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### ReadArray
-
-```python
-@staticmethod
-def ReadArray(array_uptr: ctypes.c_void_p,
- valuemapper: Callable[[c_void_p], Any]) -> [[any]]
-```
-
-Reads from unmanaged memory, returning list of any sets (any[][])
-
-
-
-#### WriteArray
-
-```python
-@staticmethod
-def WriteArray(values: [[any]], valuemapper: Callable[[Any],
- c_void_p]) -> c_void_p
-```
-
-Writes an array of any sets (any[][]) into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### ReadNullables
-
-```python
-@staticmethod
-def ReadNullables(array_uptr: ctypes.c_void_p, nullable_type) -> [Any]
-```
-
-Parameters
-----------
-
-array_ptr: c_void_p
- Pointer to .Net nullable array.
-
-nullable_type:
- nullable type created by InteropUtils.create_nullable
-
-Returns
--------
-[]:
- array of underlying type with possible None values
-
-
-
-#### ReadLongs
-
-```python
-@staticmethod
-def ReadLongs(array_uptr: ctypes.c_void_p) -> [int]
-```
-
-Reads from unmanaged memory, returning list of int64
-
-
-
-#### ReadLongsArray
-
-```python
-@staticmethod
-def ReadLongsArray(array_uptr: ctypes.c_void_p) -> [[int]]
-```
-
-Reads from unmanaged memory, returning list of int64 lists
-
-
-
-#### WriteLongs
-
-```python
-@staticmethod
-def WriteLongs(longs: [int]) -> c_void_p
-```
-
-Writes list of int64 into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### WriteLongsArray
-
-```python
-@staticmethod
-def WriteLongsArray(longs_array: [[int]]) -> c_void_p
-```
-
-Writes list of int64 lists into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### ReadStrings
-
-```python
-@staticmethod
-def ReadStrings(array_uptr: ctypes.c_void_p) -> [str]
-```
-
-Reads from unmanaged memory, returning list of str
-
-
-
-#### ReadStringsArray
-
-```python
-@staticmethod
-def ReadStringsArray(array_uptr: ctypes.c_void_p) -> [[str]]
-```
-
-Reads from unmanaged memory, returning list of str lists
-
-
-
-#### WriteStrings
-
-```python
-@staticmethod
-def WriteStrings(strings: [str]) -> c_void_p
-```
-
-Writes list of str into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### WriteStringsArray
-
-```python
-@staticmethod
-def WriteStringsArray(strings_array: [[str]]) -> c_void_p
-```
-
-Writes list of str lists into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### ReadDoubles
-
-```python
-@staticmethod
-def ReadDoubles(array_uptr: ctypes.c_void_p) -> [float]
-```
-
-Reads from unmanaged memory, returning list of double (float)
-
-
-
-#### ReadDoublesArray
-
-```python
-@staticmethod
-def ReadDoublesArray(array_uptr: ctypes.c_void_p) -> [[float]]
-```
-
-Reads from unmanaged memory, returning list of double (float) lists
-
-
-
-#### WriteDoubles
-
-```python
-@staticmethod
-def WriteDoubles(doubles: [float]) -> c_void_p
-```
-
-Writes list of double (float) into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### WriteDoublesArray
-
-```python
-@staticmethod
-def WriteDoublesArray(doubles_array: [[float]]) -> c_void_p
-```
-
-Writes list of double (float) lists into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### ReadPointers
-
-```python
-@staticmethod
-def ReadPointers(pointers: [c_void_p]) -> c_void_p
-```
-
-Reads from unmanaged memory, returning list of pointers
-
-
-
-#### ReadPointersArray
-
-```python
-@staticmethod
-def ReadPointersArray(array_uptr: ctypes.c_void_p) -> [[c_void_p]]
-```
-
-Reads from unmanaged memory, returning list of pointer lists
-
-
-
-#### WritePointers
-
-```python
-@staticmethod
-def WritePointers(pointers: [c_void_p]) -> c_void_p
-```
-
-Writes list of pointer into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### WritePointersArray
-
-```python
-@staticmethod
-def WritePointersArray(pointers_array: [[c_void_p]]) -> c_void_p
-```
-
-Writes list of pointer lists into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### ReadBytes
-
-```python
-@staticmethod
-def ReadBytes(array_uptr: ctypes.c_void_p) -> bytes
-```
-
-Reads from unmanaged memory, returning bytes
-
-
-
-#### ReadBytesArray
-
-```python
-@staticmethod
-def ReadBytesArray(array_uptr: ctypes.c_void_p) -> [bytes]
-```
-
-Reads from unmanaged memory, returning list of bytes
-
-
-
-#### WriteBytes
-
-```python
-@staticmethod
-def WriteBytes(bytes_value: Union[bytes, bytearray]) -> c_void_p
-```
-
-Writes list of bytes into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### WriteBytesArray
-
-```python
-@staticmethod
-def WriteBytesArray(
- bytes_array: Union[List[bytes], List[bytearray]]) -> c_void_p
-```
-
-Writes list of bytes into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### ReadNullableDoubles
-
-```python
-@staticmethod
-def ReadNullableDoubles(array_uptr: ctypes.c_void_p) -> [Optional[float]]
-```
-
-Reads from unmanaged memory, returning list of Optional[float]
-
-
-
-#### ReadNullableDoublesArray
-
-```python
-@staticmethod
-def ReadNullableDoublesArray(
- array_uptr: ctypes.c_void_p) -> [[Optional[float]]]
-```
-
-Reads from unmanaged memory, returning list of Optional[float] lists
-
-
-
-#### WriteNullableDoubles
-
-```python
-@staticmethod
-def WriteNullableDoubles(nullable_doubles: [Optional[float]]) -> c_void_p
-```
-
-Writes list of Optional[float] into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-#### WriteNullableDoublesArray
-
-```python
-@staticmethod
-def WriteNullableDoublesArray(
- nullable_doubles_array: [[Optional[float]]]) -> c_void_p
-```
-
-Writes list of int64 lists into unmanaged memory, returning a pointer to the array, where first 4 bytes is the length
-
-
-
-# quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Collection
-
-
-
-# quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Dictionary
-
-
-
-## Dictionary Objects
-
-```python
-class Dictionary()
-```
-
-
-
-#### ReadAnyHPtrToUPtr
-
-```python
-@staticmethod
-def ReadAnyHPtrToUPtr(dictionary_hptr: c_void_p) -> c_void_p
-```
-
-Read any dictionary that implements IEnumerable>. Useful for dictionaries that do not implement
-
-IDictionary, such as ReadOnlyDictionary
-
-**Arguments**:
-
-- `dictionary_hptr`: Handler pointer to a dictionary
-
-**Returns**:
-
-Pointer to array with elements [c_void_p, c_void_p] where first is the key array, 2nd is the value array
-
-
-
-#### WriteBlittables
-
-```python
-@staticmethod
-def WriteBlittables(dictionary: Dict[any, any], key_converter,
- value_converter) -> c_void_p
-```
-
-Writes dictionary into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadBlittables
-
-```python
-@staticmethod
-def ReadBlittables(dict_uptr: c_void_p, key_converter,
- value_converter) -> c_void_p
-```
-
-Read a pointer into a managed dictionary. The pointer must be to a structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### WriteStringPointers
-
-```python
-@staticmethod
-def WriteStringPointers(dictionary: Dict[str, c_void_p]) -> c_void_p
-```
-
-Writes dictionary of [str, c_void_p] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadStringPointers
-
-```python
-@staticmethod
-def ReadStringPointers(dictionary_uptr: c_void_p,
- valuemapper=None) -> Dict[str, c_void_p]
-```
-
-Writes dictionary of [str, c_void_p] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### WriteStringDoublesArray
-
-```python
-@staticmethod
-def WriteStringDoublesArray(dictionary: Dict[str, List[float]]) -> c_void_p
-```
-
-Writes dictionary of [str, [float]] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadStringDoublesArray
-
-```python
-@staticmethod
-def ReadStringDoublesArray(dictionary: Dict[str, List[int]]) -> c_void_p
-```
-
-Reads unmanaged memory at address, converting it to managed [str, float[]] dictionary
-
-
-
-#### WriteStringLongsArray
-
-```python
-@staticmethod
-def WriteStringLongsArray(dictionary: Dict[str, List[int]]) -> c_void_p
-```
-
-Writes dictionary of [str, [int64]] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadStringLongsArray
-
-```python
-@staticmethod
-def ReadStringLongsArray(dictionary: Dict[str, List[int]]) -> c_void_p
-```
-
-Reads unmanaged memory at address, converting it to managed [str, int64p[]] dictionary
-
-
-
-#### WriteStringStrings
-
-```python
-@staticmethod
-def WriteStringStrings(dictionary: Dict[str, str]) -> c_void_p
-```
-
-Writes dictionary of [str, str] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadStringStrings
-
-```python
-@staticmethod
-def ReadStringStrings(dictionary: Dict[str, str]) -> c_void_p
-```
-
-Reads unmanaged memory at address, converting it to managed [str, str] dictionary
-
-
-
-#### WriteStringStringsArray
-
-```python
-@staticmethod
-def WriteStringStringsArray(dictionary: Dict[str, List[str]]) -> c_void_p
-```
-
-Writes dictionary of [str, [str]] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadStringStringsArray
-
-```python
-@staticmethod
-def ReadStringStringsArray(dictionary: Dict[str, List[str]]) -> c_void_p
-```
-
-Reads unmanaged memory at address, converting it to managed [str, str[]] dictionary
-
-
-
-#### WriteStringBytesArray
-
-```python
-@staticmethod
-def WriteStringBytesArray(dictionary: Dict[str, List[bytes]]) -> c_void_p
-```
-
-Writes dictionary of [str, [bytes]] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadStringBytesArray
-
-```python
-@staticmethod
-def ReadStringBytesArray(dictionary: Dict[str, List[bytes]]) -> c_void_p
-```
-
-Reads unmanaged memory at address, converting it to managed [str, [bytes]] dictionary
-
-
-
-#### WriteStringNullableDoublesArray
-
-```python
-@staticmethod
-def WriteStringNullableDoublesArray(
- dictionary: Dict[str, List[Optional[float]]]) -> c_void_p
-```
-
-Writes dictionary of [str, [Optional[float]]] into unmanaged memory, returning a pointer with structure [[keys],[values]], each array with a 4 byte length prefix
-
-
-
-#### ReadStringNullableDoublesArray
-
-```python
-@staticmethod
-def ReadStringNullableDoublesArray(
- dictionary: Dict[str, List[Optional[Optional[float]]]]) -> c_void_p
-```
-
-Reads unmanaged memory at address, converting it to managed [str, float[]] dictionary
-
-
-
-# quixstreams.native.Python.InteropHelpers.ExternalTypes.System.Enumerable
-
-
-
-## Enumerable Objects
-
-```python
-class Enumerable()
-```
-
-
-
-#### ReadAny
-
-```python
-@staticmethod
-def ReadAny(enumerable_hptr: c_void_p) -> c_void_p
-```
-
-Read any object that implements IEnumerable. Useful for cases when other enumerable methods don't fulfill the
-
-the role in a more efficient manner
-
-**Arguments**:
-
-- `enumerable_hptr`: Handler pointer to an object
-
-**Returns**:
-
-Handle pointer to an array of values which depend on the underlying value types
-
-
-
-# quixstreams.native.Python.InteropHelpers.ExternalTypes.System.List
-
-
-
-# quixstreams.native.Python.InteropHelpers.InteropUtils
-
-
-
-## InteropUtils Objects
-
-```python
-class InteropUtils(object)
-```
-
-
-
-#### set\_exception\_callback
-
-```python
-@staticmethod
-def set_exception_callback(callback: Callable[[InteropException], None])
-```
-
-Sets the exception handler for interop exceptions
-
-callback: Callable[[InteropException], None]
- The callback which takes InteropException and returns nothing
-
-
-
-#### log\_debug
-
-```python
-@staticmethod
-def log_debug(message: str)
-```
-
-Logs debug message if debugging is enabled
-
-message: str
- The message to log
-
-
-
-#### enable\_debug
-
-```python
-@staticmethod
-def enable_debug()
-```
-
-Enables Debugging logs
-
-
-
-#### disable\_debug
-
-```python
-@staticmethod
-def disable_debug()
-```
-
-Enables Debugging logs
-
-
-
-#### pin\_hptr\_target
-
-```python
-@staticmethod
-def pin_hptr_target(hptr: c_void_p) -> c_void_p
-```
-
-Creates a GC Handle with pinned type.
-Use get_pin_address to acquire the pinned resources's address
-Must be freed as soon as possible with free_hptr
-
-Parameters
-----------
-
-hptr: c_void_p
- Pointer to .Net GC Handle
-
-Returns
--------
-c_void_p:
- .Net pointer to the value
-
-
-
-#### get\_pin\_address
-
-```python
-@staticmethod
-def get_pin_address(hptr: c_void_p) -> c_void_p
-```
-
-Retrieves the address of the pinned resource from the provided GC Handle ptr
-
-Parameters
-----------
-
-hptr: c_void_p
- Pointer to .Net pinned GC Handle
-
-Returns
--------
-c_void_p:
- memory address of the underlying resource
-
-
-
-#### free\_hptr
-
-```python
-@staticmethod
-def free_hptr(hptr: c_void_p) -> None
-```
-
-Frees the provided GC Handle
-
-Parameters
-----------
-
-hptr: c_void_p
- Pointer to .Net GC Handle
-
-
-
-#### free\_uptr
-
-```python
-@staticmethod
-def free_uptr(uptr: c_void_p) -> None
-```
-
-Frees the provided unmanaged pointer
-
-Parameters
-----------
-
-uptr: c_void_p
- Unmanaged pointer
-
-
-
-#### allocate\_uptr
-
-```python
-@staticmethod
-def allocate_uptr(size: int) -> c_void_p
-```
-
-Allocated unmanaged memory pointer of the desired size
-
-Parameters
-----------
-
-size: c_void_p
- The desired size of the memory
-
-Returns
--------
-c_void_p:
- Unmanaged memory pointer
-
-
-
-#### invoke\_and\_free
-
-```python
-@staticmethod
-def invoke_and_free(hptr: ctypes.c_void_p, func, *args, **kwargs)
-```
-
-Invokes a function where first positional argument is a c# GC Handle pointer (hptr), then disposes it
-
-Parameters
-----------
-
-hptr: ctypes.c_void_p
- c# GC Handle pointer (hptr)
-
-func:
- callable function where first arg is the hptr
-
-Returns
--------
-Any:
- the function result
-
-
-
-#### dict\_nullables
-
-TODO Should I lock on this?
-
-
-
-#### create\_nullable
-
-```python
-@staticmethod
-def create_nullable(underlying_ctype)
-```
-
-Create a nullable type that is equivalent for serialization purposes to a nullable c# type in places where it is
-serialized as a struct. In this case byte prefix is added equivalent to minimum addressable memory size according
-to cpu architecture. For example a nullable double on 64 bit would be 8 bytes for boolean and 8 bytes for double.
-
-Parameters
-----------
-
-underlying_ctype:
- type defined by ctypes such as ctypes.c_double
-
-
-
-#### dict\_mem\_nullables
-
-TODO Should I lock on this?
-
-
-
-#### create\_mem\_nullable
-
-```python
-@staticmethod
-def create_mem_nullable(underlying_ctype)
-```
-
-Create a nullable type that is equivalent for serialization purposes to a nullable c# type in places where it is not
-serialized as a struct, but rather as a continuous memory segment to pointed at by either a pointer or array.
-In this case 1 byte prefix is added kept for the boolean flag rather than the min addressable memory size according
-to cpu architecture. For example a nullable double on 64 bit would be 1 byte for boolean and 8 bytes for double.
-
-Parameters
-----------
-
-underlying_ctype:
- type defined by ctypes such as ctypes.c_double
-
-
-
-# quixstreams.native.Python.MicrosoftExtensionsLoggingAbstractions.Microsoft.Extensions.Logging.LogLevel
-
-
-
-# quixstreams.native.Python.QuixStreamsState.StateValue
-
-
-
-## StateValue Objects
-
-```python
-class StateValue(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StateValue
-
-Returns
-----------
-
-StateValue:
- Instance wrapping the .net type StateValue
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StateValue
-
-Returns
-----------
-
-StateValue:
- Instance wrapping the .net type StateValue
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(value: bool) -> c_void_p
-```
-
-Parameters
-----------
-
-value: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StateValue
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2(value: int) -> c_void_p
-```
-
-Parameters
-----------
-
-value: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StateValue
-
-
-
-#### Constructor3
-
-```python
-@staticmethod
-def Constructor3(value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StateValue
-
-
-
-#### Constructor4
-
-```python
-@staticmethod
-def Constructor4(value: c_void_p, type: StateType) -> c_void_p
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-type: StateType
- Underlying .Net type is StateValue.StateType
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StateValue
-
-
-
-#### Constructor5
-
-```python
-@staticmethod
-def Constructor5(value: str) -> c_void_p
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StateValue
-
-
-
-#### Constructor6
-
-```python
-@staticmethod
-def Constructor6(value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StateValue
-
-
-
-#### get\_Type
-
-```python
-def get_Type() -> StateType
-```
-
-Parameters
-----------
-
-Returns
--------
-
-StateType:
- Underlying .Net type is StateValue.StateType
-
-
-
-#### get\_DoubleValue
-
-```python
-def get_DoubleValue() -> float
-```
-
-Parameters
-----------
-
-Returns
--------
-
-float:
- Underlying .Net type is double
-
-
-
-#### get\_LongValue
-
-```python
-def get_LongValue() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### get\_StringValue
-
-```python
-def get_StringValue() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_BoolValue
-
-```python
-def get_BoolValue() -> bool
-```
-
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### get\_BinaryValue
-
-```python
-def get_BinaryValue() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type byte[]
-
-
-
-#### Equals
-
-```python
-def Equals(other: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-other: c_void_p
- GC Handle Pointer to .Net type StateValue
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-# quixstreams.native.Python.QuixStreamsState.StateValue\_StateType
-
-
-
-# quixstreams.native.Python.QuixStreamsState.Storage.FileStorage.LocalFileStorage.LocalFileStorage
-
-
-
-## LocalFileStorage Objects
-
-```python
-class LocalFileStorage(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type LocalFileStorage
-
-Returns
-----------
-
-LocalFileStorage:
- Instance wrapping the .net type LocalFileStorage
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type LocalFileStorage
-
-Returns
-----------
-
-LocalFileStorage:
- Instance wrapping the .net type LocalFileStorage
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(storageDirectory: str = None,
- autoCreateDir: bool = True) -> c_void_p
-```
-
-Parameters
-----------
-
-storageDirectory: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-autoCreateDir: bool
- (Optional) Underlying .Net type is Boolean. Defaults to True
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type LocalFileStorage
-
-
-
-# quixstreams.native.Python.QuixStreamsState.Storage.IStateStorage
-
-
-
-## IStateStorage Objects
-
-```python
-class IStateStorage(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-Returns
-----------
-
-IStateStorage:
- Instance wrapping the .net type IStateStorage
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-Returns
-----------
-
-IStateStorage:
- Instance wrapping the .net type IStateStorage
-
-
-
-# quixstreams.native.Python.QuixStreamsState.Storage.StorageExtensions
-
-
-
-## StorageExtensions Objects
-
-```python
-class StorageExtensions(object)
-```
-
-
-
-#### Set
-
-```python
-@staticmethod
-def Set(stateStorage: c_void_p, key: str, value: int) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-value: int
- Underlying .Net type is long
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Set2
-
-```python
-@staticmethod
-def Set2(stateStorage: c_void_p, key: str, value: float) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Set3
-
-```python
-@staticmethod
-def Set3(stateStorage: c_void_p, key: str, value: str) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Set4
-
-```python
-@staticmethod
-def Set4(stateStorage: c_void_p, key: str, value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Set5
-
-```python
-@staticmethod
-def Set5(stateStorage: c_void_p, key: str, value: bool) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-value: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Set6
-
-```python
-@staticmethod
-def Set6(stateStorage: c_void_p, key: str, value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-value: c_void_p
- GC Handle Pointer to .Net type StateValue
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Get
-
-```python
-@staticmethod
-def Get(stateStorage: c_void_p, key: str) -> c_void_p
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StateValue
-
-
-
-#### GetDouble
-
-```python
-@staticmethod
-def GetDouble(stateStorage: c_void_p, key: str) -> float
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-float:
- Underlying .Net type is double
-
-
-
-#### GetString
-
-```python
-@staticmethod
-def GetString(stateStorage: c_void_p, key: str) -> str
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### GetBool
-
-```python
-@staticmethod
-def GetBool(stateStorage: c_void_p, key: str) -> bool
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetLong
-
-```python
-@staticmethod
-def GetLong(stateStorage: c_void_p, key: str) -> int
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### GetBinary
-
-```python
-@staticmethod
-def GetBinary(stateStorage: c_void_p, key: str) -> c_void_p
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type byte[]
-
-
-
-#### Remove
-
-```python
-@staticmethod
-def Remove(stateStorage: c_void_p, key: str) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### ContainsKey
-
-```python
-@staticmethod
-def ContainsKey(stateStorage: c_void_p, key: str) -> bool
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetAllKeys
-
-```python
-@staticmethod
-def GetAllKeys(stateStorage: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type string[]
-
-
-
-#### Clear
-
-```python
-@staticmethod
-def Clear(stateStorage: c_void_p) -> None
-```
-
-Parameters
-----------
-
-stateStorage: c_void_p
- GC Handle Pointer to .Net type IStateStorage
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.App
-
-
-
-## App Objects
-
-```python
-class App(object)
-```
-
-
-
-#### Run
-
-```python
-@staticmethod
-def Run(cancellationToken: c_void_p = None,
- beforeShutdown: Callable[[], None] = None) -> None
-```
-
-Parameters
-----------
-
-cancellationToken: c_void_p
- (Optional) GC Handle Pointer to .Net type CancellationToken. Defaults to None
-
-beforeShutdown: Callable[[], None]
- (Optional) Underlying .Net type is Action. Defaults to None
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Configuration.SaslMechanism
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Configuration.SecurityOptions
-
-
-
-## SecurityOptions Objects
-
-```python
-class SecurityOptions(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type SecurityOptions
-
-Returns
-----------
-
-SecurityOptions:
- Instance wrapping the .net type SecurityOptions
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type SecurityOptions
-
-Returns
-----------
-
-SecurityOptions:
- Instance wrapping the .net type SecurityOptions
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type SecurityOptions
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2(
- sslCertificates: str,
- username: str,
- password: str,
- saslMechanism: SaslMechanism = SaslMechanism.ScramSha256) -> c_void_p
-```
-
-Parameters
-----------
-
-sslCertificates: str
- Underlying .Net type is string
-
-username: str
- Underlying .Net type is string
-
-password: str
- Underlying .Net type is string
-
-saslMechanism: SaslMechanism
- (Optional) Underlying .Net type is SaslMechanism. Defaults to ScramSha256
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type SecurityOptions
-
-
-
-#### get\_SaslMechanism
-
-```python
-def get_SaslMechanism() -> Optional[SaslMechanism]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[SaslMechanism]:
- Underlying .Net type is SaslMechanism?
-
-
-
-#### set\_SaslMechanism
-
-```python
-def set_SaslMechanism(value: Optional[SaslMechanism]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[SaslMechanism]
- Underlying .Net type is SaslMechanism?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Username
-
-```python
-def get_Username() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Username
-
-```python
-def set_Username(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Password
-
-```python
-def get_Password() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Password
-
-```python
-def set_Password(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_SslCertificates
-
-```python
-def get_SslCertificates() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_SslCertificates
-
-```python
-def set_SslCertificates(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_UseSsl
-
-```python
-def get_UseSsl() -> bool
-```
-
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### set\_UseSsl
-
-```python
-def set_UseSsl(value: bool) -> None
-```
-
-Parameters
-----------
-
-value: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_UseSasl
-
-```python
-def get_UseSasl() -> bool
-```
-
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### set\_UseSasl
-
-```python
-def set_UseSasl(value: bool) -> None
-```
-
-Parameters
-----------
-
-value: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.IStreamConsumer
-
-
-
-## IStreamConsumer Objects
-
-```python
-class IStreamConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-Returns
-----------
-
-IStreamConsumer:
- Instance wrapping the .net type IStreamConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-Returns
-----------
-
-IStreamConsumer:
- Instance wrapping the .net type IStreamConsumer
-
-
-
-#### get\_StreamId
-
-```python
-def get_StreamId() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Properties
-
-```python
-def get_Properties() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamPropertiesConsumer
-
-
-
-#### get\_Timeseries
-
-```python
-def get_Timeseries() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamTimeseriesConsumer
-
-
-
-#### get\_Events
-
-```python
-def get_Events() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamEventsConsumer
-
-
-
-#### add\_OnPackageReceived
-
-```python
-def add_OnPackageReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnPackageReceived
-
-```python
-def remove_OnPackageReceived(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnStreamClosed
-
-```python
-def add_OnStreamClosed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnStreamClosed
-
-```python
-def remove_OnStreamClosed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.IStreamProducer
-
-
-
-## IStreamProducer Objects
-
-```python
-class IStreamProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStreamProducer
-
-Returns
-----------
-
-IStreamProducer:
- Instance wrapping the .net type IStreamProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStreamProducer
-
-Returns
-----------
-
-IStreamProducer:
- Instance wrapping the .net type IStreamProducer
-
-
-
-#### get\_StreamId
-
-```python
-def get_StreamId() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Epoch
-
-```python
-def get_Epoch() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### set\_Epoch
-
-```python
-def set_Epoch(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Properties
-
-```python
-def get_Properties() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamPropertiesProducer
-
-
-
-#### get\_Timeseries
-
-```python
-def get_Timeseries() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamTimeseriesProducer
-
-
-
-#### get\_Events
-
-```python
-def get_Events() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamEventsProducer
-
-
-
-#### Flush
-
-```python
-def Flush() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Close
-
-```python
-def Close(streamState: StreamEndType = StreamEndType.Closed) -> None
-```
-
-Parameters
-----------
-
-streamState: StreamEndType
- (Optional) Underlying .Net type is StreamEndType. Defaults to Closed
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnWriteException
-
-```python
-def add_OnWriteException(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnWriteException
-
-```python
-def remove_OnWriteException(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.ITopicConsumer
-
-
-
-## ITopicConsumer Objects
-
-```python
-class ITopicConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-Returns
-----------
-
-ITopicConsumer:
- Instance wrapping the .net type ITopicConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-Returns
-----------
-
-ITopicConsumer:
- Instance wrapping the .net type ITopicConsumer
-
-
-
-#### Subscribe
-
-```python
-def Subscribe() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnStreamReceived
-
-```python
-def add_OnStreamReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnStreamReceived
-
-```python
-def remove_OnStreamReceived(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnRevoking
-
-```python
-def add_OnRevoking(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnRevoking
-
-```python
-def remove_OnRevoking(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnStreamsRevoked
-
-```python
-def add_OnStreamsRevoked(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnStreamsRevoked
-
-```python
-def remove_OnStreamsRevoked(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnCommitted
-
-```python
-def add_OnCommitted(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnCommitted
-
-```python
-def remove_OnCommitted(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnCommitting
-
-```python
-def add_OnCommitting(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnCommitting
-
-```python
-def remove_OnCommitting(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Commit
-
-```python
-def Commit() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.ITopicProducer
-
-
-
-## ITopicProducer Objects
-
-```python
-class ITopicProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ITopicProducer
-
-Returns
-----------
-
-ITopicProducer:
- Instance wrapping the .net type ITopicProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ITopicProducer
-
-Returns
-----------
-
-ITopicProducer:
- Instance wrapping the .net type ITopicProducer
-
-
-
-#### CreateStream
-
-```python
-def CreateStream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### CreateStream2
-
-```python
-def CreateStream2(streamId: str) -> c_void_p
-```
-
-Parameters
-----------
-
-streamId: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### GetStream
-
-```python
-def GetStream(streamId: str) -> c_void_p
-```
-
-Parameters
-----------
-
-streamId: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### GetOrCreateStream
-
-```python
-def GetOrCreateStream(
- streamId: str,
- onStreamCreated: Callable[[c_void_p], None] = None) -> c_void_p
-```
-
-Parameters
-----------
-
-streamId: str
- Underlying .Net type is string
-
-onStreamCreated: Callable[[c_void_p], None]
- (Optional) Underlying .Net type is Action. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClient
-
-
-
-## KafkaStreamingClient Objects
-
-```python
-class KafkaStreamingClient(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type KafkaStreamingClient
-
-Returns
-----------
-
-KafkaStreamingClient:
- Instance wrapping the .net type KafkaStreamingClient
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type KafkaStreamingClient
-
-Returns
-----------
-
-KafkaStreamingClient:
- Instance wrapping the .net type KafkaStreamingClient
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(brokerAddress: str,
- securityOptions: c_void_p = None,
- properties: c_void_p = None,
- debug: bool = False) -> c_void_p
-```
-
-Parameters
-----------
-
-brokerAddress: str
- Underlying .Net type is string
-
-securityOptions: c_void_p
- (Optional) GC Handle Pointer to .Net type SecurityOptions. Defaults to None
-
-properties: c_void_p
- (Optional) GC Handle Pointer to .Net type IDictionary. Defaults to None
-
-debug: bool
- (Optional) Underlying .Net type is Boolean. Defaults to False
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type KafkaStreamingClient
-
-
-
-#### GetTopicConsumer
-
-```python
-def GetTopicConsumer(
- topic: str,
- consumerGroup: str = None,
- options: c_void_p = None,
- autoOffset: AutoOffsetReset = AutoOffsetReset.Latest) -> c_void_p
-```
-
-Parameters
-----------
-
-topic: str
- Underlying .Net type is string
-
-consumerGroup: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-options: c_void_p
- (Optional) GC Handle Pointer to .Net type CommitOptions. Defaults to None
-
-autoOffset: AutoOffsetReset
- (Optional) Underlying .Net type is AutoOffsetReset. Defaults to Latest
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### GetRawTopicConsumer
-
-```python
-def GetRawTopicConsumer(
- topic: str,
- consumerGroup: str = None,
- autoOffset: Optional[AutoOffsetReset] = None) -> c_void_p
-```
-
-Parameters
-----------
-
-topic: str
- Underlying .Net type is string
-
-consumerGroup: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-autoOffset: Optional[AutoOffsetReset]
- (Optional) Underlying .Net type is AutoOffsetReset?. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IRawTopicConsumer
-
-
-
-#### GetRawTopicProducer
-
-```python
-def GetRawTopicProducer(topic: str) -> c_void_p
-```
-
-Parameters
-----------
-
-topic: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IRawTopicProducer
-
-
-
-#### GetTopicProducer
-
-```python
-def GetTopicProducer(topic: str) -> c_void_p
-```
-
-Parameters
-----------
-
-topic: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicProducer
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.KafkaStreamingClientExtensions
-
-
-
-## KafkaStreamingClientExtensions Objects
-
-```python
-class KafkaStreamingClientExtensions(object)
-```
-
-
-
-#### GetTopicConsumer
-
-```python
-@staticmethod
-def GetTopicConsumer(
- client: c_void_p,
- topic: str,
- consumerGroup: str = None,
- commitMode: CommitMode = CommitMode.Automatic,
- autoOffset: AutoOffsetReset = AutoOffsetReset.Latest) -> c_void_p
-```
-
-Parameters
-----------
-
-client: c_void_p
- GC Handle Pointer to .Net type KafkaStreamingClient
-
-topic: str
- Underlying .Net type is string
-
-consumerGroup: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-commitMode: CommitMode
- (Optional) Underlying .Net type is CommitMode. Defaults to Automatic
-
-autoOffset: AutoOffsetReset
- (Optional) Underlying .Net type is AutoOffsetReset. Defaults to Latest
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.CommitMode
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.EventData
-
-
-
-## EventData Objects
-
-```python
-class EventData(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventData
-
-Returns
-----------
-
-EventData:
- Instance wrapping the .net type EventData
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventData
-
-Returns
-----------
-
-EventData:
- Instance wrapping the .net type EventData
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(eventId: str, timestampNanoseconds: int,
- eventValue: str) -> c_void_p
-```
-
-Parameters
-----------
-
-eventId: str
- Underlying .Net type is string
-
-timestampNanoseconds: int
- Underlying .Net type is long
-
-eventValue: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2(eventId: str, timestamp: c_void_p,
- eventValue: str) -> c_void_p
-```
-
-Parameters
-----------
-
-eventId: str
- Underlying .Net type is string
-
-timestamp: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-eventValue: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-#### Constructor3
-
-```python
-@staticmethod
-def Constructor3(eventId: str, timestamp: c_void_p,
- eventValue: str) -> c_void_p
-```
-
-Parameters
-----------
-
-eventId: str
- Underlying .Net type is string
-
-timestamp: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-eventValue: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-#### Clone
-
-```python
-def Clone() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-#### get\_Id
-
-```python
-def get_Id() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Id
-
-```python
-def set_Id(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Value
-
-```python
-def get_Value() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Value
-
-```python
-def set_Value(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Tags
-
-```python
-def get_Tags() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IDictionary
-
-
-
-#### AddTag
-
-```python
-def AddTag(tagId: str, tagValue: str) -> c_void_p
-```
-
-Parameters
-----------
-
-tagId: str
- Underlying .Net type is string
-
-tagValue: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-#### AddTags
-
-```python
-def AddTags(tags: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-tags: c_void_p
- GC Handle Pointer to .Net type IEnumerable>
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-#### RemoveTag
-
-```python
-def RemoveTag(tagId: str) -> c_void_p
-```
-
-Parameters
-----------
-
-tagId: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-#### get\_TimestampNanoseconds
-
-```python
-def get_TimestampNanoseconds() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### get\_TimestampMilliseconds
-
-```python
-def get_TimestampMilliseconds() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### get\_Timestamp
-
-```python
-def get_Timestamp() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### get\_TimestampAsTimeSpan
-
-```python
-def get_TimestampAsTimeSpan() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.EventDefinition
-
-
-
-## EventDefinition Objects
-
-```python
-class EventDefinition(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDefinition
-
-Returns
-----------
-
-EventDefinition:
- Instance wrapping the .net type EventDefinition
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDefinition
-
-Returns
-----------
-
-EventDefinition:
- Instance wrapping the .net type EventDefinition
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinition
-
-
-
-#### get\_Id
-
-```python
-def get_Id() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Name
-
-```python
-def get_Name() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Description
-
-```python
-def get_Description() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Location
-
-```python
-def get_Location() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_CustomProperties
-
-```python
-def get_CustomProperties() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Level
-
-```python
-def get_Level() -> EventLevel
-```
-
-Parameters
-----------
-
-Returns
--------
-
-EventLevel:
- Underlying .Net type is EventLevel
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterDefinition
-
-
-
-## ParameterDefinition Objects
-
-```python
-class ParameterDefinition(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterDefinition
-
-Returns
-----------
-
-ParameterDefinition:
- Instance wrapping the .net type ParameterDefinition
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterDefinition
-
-Returns
-----------
-
-ParameterDefinition:
- Instance wrapping the .net type ParameterDefinition
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinition
-
-
-
-#### get\_Id
-
-```python
-def get_Id() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Name
-
-```python
-def get_Name() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Description
-
-```python
-def get_Description() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Location
-
-```python
-def get_Location() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_MinimumValue
-
-```python
-def get_MinimumValue() -> Optional[float]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[float]:
- Underlying .Net type is double?
-
-
-
-#### get\_MaximumValue
-
-```python
-def get_MaximumValue() -> Optional[float]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[float]:
- Underlying .Net type is double?
-
-
-
-#### get\_Unit
-
-```python
-def get_Unit() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Format
-
-```python
-def get_Format() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_CustomProperties
-
-```python
-def get_CustomProperties() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValue
-
-
-
-## ParameterValue Objects
-
-```python
-class ParameterValue(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterValue
-
-Returns
-----------
-
-ParameterValue:
- Instance wrapping the .net type ParameterValue
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterValue
-
-Returns
-----------
-
-ParameterValue:
- Instance wrapping the .net type ParameterValue
-
-
-
-#### get\_ParameterId
-
-```python
-def get_ParameterId() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_NumericValue
-
-```python
-def get_NumericValue() -> Optional[float]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[float]:
- Underlying .Net type is double?
-
-
-
-#### set\_NumericValue
-
-```python
-def set_NumericValue(value: Optional[float]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[float]
- Underlying .Net type is double?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_StringValue
-
-```python
-def get_StringValue() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_StringValue
-
-```python
-def set_StringValue(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_BinaryValue
-
-```python
-def get_BinaryValue() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type byte[]
-
-
-
-#### set\_BinaryValue
-
-```python
-def set_BinaryValue(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Value
-
-```python
-def get_Value() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
-
-
-
-#### op\_Equality
-
-```python
-@staticmethod
-def op_Equality(lhs: c_void_p, rhs: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-lhs: c_void_p
- GC Handle Pointer to .Net type ParameterValue
-
-rhs: c_void_p
- GC Handle Pointer to .Net type ParameterValue
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### op\_Inequality
-
-```python
-@staticmethod
-def op_Inequality(lhs: c_void_p, rhs: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-lhs: c_void_p
- GC Handle Pointer to .Net type ParameterValue
-
-rhs: c_void_p
- GC Handle Pointer to .Net type ParameterValue
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### Equals
-
-```python
-def Equals(obj: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetHashCode
-
-```python
-def GetHashCode() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### ToString
-
-```python
-def ToString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Type
-
-```python
-def get_Type() -> ParameterValueType
-```
-
-Parameters
-----------
-
-Returns
--------
-
-ParameterValueType:
- Underlying .Net type is ParameterValueType
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.ParameterValueType
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDataReadEventArgs
-
-
-
-## EventDataReadEventArgs Objects
-
-```python
-class EventDataReadEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type EventDataReadEventArgs
-
-Returns
-----------
-
-EventDataReadEventArgs:
-Instance wrapping the .net type EventDataReadEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type EventDataReadEventArgs
-
-Returns
-----------
-
-EventDataReadEventArgs:
-Instance wrapping the .net type EventDataReadEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topicConsumer: c_void_p, consumer: c_void_p,
- data: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-topicConsumer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-consumer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-data: c_void_p
- GC Handle Pointer to .Net type EventData
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataReadEventArgs
-
-
-
-#### get\_TopicConsumer
-
-```python
-def get_TopicConsumer() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamConsumer
-
-
-
-#### get\_Data
-
-```python
-def get_Data() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventData
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.EventDefinitionsChangedEventArgs
-
-
-
-## EventDefinitionsChangedEventArgs Objects
-
-```python
-class EventDefinitionsChangedEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type EventDefinitionsChangedEventArgs
-
-Returns
-----------
-
-EventDefinitionsChangedEventArgs:
-Instance wrapping the .net type EventDefinitionsChangedEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type EventDefinitionsChangedEventArgs
-
-Returns
-----------
-
-EventDefinitionsChangedEventArgs:
-Instance wrapping the .net type EventDefinitionsChangedEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topicConsumer: c_void_p, consumer: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-topicConsumer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-consumer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinitionsChangedEventArgs
-
-
-
-#### get\_TopicConsumer
-
-```python
-def get_TopicConsumer() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamConsumer
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.ParameterDefinitionsChangedEventArgs
-
-
-
-## ParameterDefinitionsChangedEventArgs Objects
-
-```python
-class ParameterDefinitionsChangedEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type ParameterDefinitionsChangedEventArgs
-
-Returns
-----------
-
-ParameterDefinitionsChangedEventArgs:
-Instance wrapping the .net type ParameterDefinitionsChangedEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type ParameterDefinitionsChangedEventArgs
-
-Returns
-----------
-
-ParameterDefinitionsChangedEventArgs:
-Instance wrapping the .net type ParameterDefinitionsChangedEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topicConsumer: c_void_p, consumer: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-topicConsumer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-consumer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionsChangedEventArgs
-
-
-
-#### get\_TopicConsumer
-
-```python
-def get_TopicConsumer() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamConsumer
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamEventsConsumer
-
-
-
-## StreamEventsConsumer Objects
-
-```python
-class StreamEventsConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamEventsConsumer
-
-Returns
-----------
-
-StreamEventsConsumer:
- Instance wrapping the .net type StreamEventsConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamEventsConsumer
-
-Returns
-----------
-
-StreamEventsConsumer:
- Instance wrapping the .net type StreamEventsConsumer
-
-
-
-#### add\_OnDataReceived
-
-```python
-def add_OnDataReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDataReceived
-
-```python
-def remove_OnDataReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnDefinitionsChanged
-
-```python
-def add_OnDefinitionsChanged(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDefinitionsChanged
-
-```python
-def remove_OnDefinitionsChanged(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Definitions
-
-```python
-def get_Definitions() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IList
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesChangedEventArgs
-
-
-
-## StreamPropertiesChangedEventArgs Objects
-
-```python
-class StreamPropertiesChangedEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type StreamPropertiesChangedEventArgs
-
-Returns
-----------
-
-StreamPropertiesChangedEventArgs:
-Instance wrapping the .net type StreamPropertiesChangedEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type StreamPropertiesChangedEventArgs
-
-Returns
-----------
-
-StreamPropertiesChangedEventArgs:
-Instance wrapping the .net type StreamPropertiesChangedEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topicConsumer: c_void_p, consumer: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-topicConsumer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-consumer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamPropertiesChangedEventArgs
-
-
-
-#### get\_TopicConsumer
-
-```python
-def get_TopicConsumer() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamConsumer
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamPropertiesConsumer
-
-
-
-## StreamPropertiesConsumer Objects
-
-```python
-class StreamPropertiesConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamPropertiesConsumer
-
-Returns
-----------
-
-StreamPropertiesConsumer:
- Instance wrapping the .net type StreamPropertiesConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamPropertiesConsumer
-
-Returns
-----------
-
-StreamPropertiesConsumer:
- Instance wrapping the .net type StreamPropertiesConsumer
-
-
-
-#### add\_OnChanged
-
-```python
-def add_OnChanged(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnChanged
-
-```python
-def remove_OnChanged(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Name
-
-```python
-def get_Name() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Location
-
-```python
-def get_Location() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_TimeOfRecording
-
-```python
-def get_TimeOfRecording() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime?
-
-
-
-#### get\_Metadata
-
-```python
-def get_Metadata() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### get\_Parents
-
-```python
-def get_Parents() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type List
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.StreamTimeseriesConsumer
-
-
-
-## StreamTimeseriesConsumer Objects
-
-```python
-class StreamTimeseriesConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamTimeseriesConsumer
-
-Returns
-----------
-
-StreamTimeseriesConsumer:
- Instance wrapping the .net type StreamTimeseriesConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamTimeseriesConsumer
-
-Returns
-----------
-
-StreamTimeseriesConsumer:
- Instance wrapping the .net type StreamTimeseriesConsumer
-
-
-
-#### CreateBuffer
-
-```python
-def CreateBuffer(parametersFilter: c_void_p,
- bufferConfiguration: c_void_p = None) -> c_void_p
-```
-
-Parameters
-----------
-
-parametersFilter: c_void_p
- GC Handle Pointer to .Net type string[]
-
-bufferConfiguration: c_void_p
- (Optional) GC Handle Pointer to .Net type TimeseriesBufferConfiguration. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesBufferConsumer
-
-
-
-#### CreateBuffer2
-
-```python
-def CreateBuffer2(parametersFilter: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-parametersFilter: c_void_p
- GC Handle Pointer to .Net type string[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesBufferConsumer
-
-
-
-#### add\_OnDefinitionsChanged
-
-```python
-def add_OnDefinitionsChanged(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDefinitionsChanged
-
-```python
-def remove_OnDefinitionsChanged(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnDataReceived
-
-```python
-def add_OnDataReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDataReceived
-
-```python
-def remove_OnDataReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnRawReceived
-
-```python
-def add_OnRawReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnRawReceived
-
-```python
-def remove_OnRawReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Definitions
-
-```python
-def get_Definitions() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type List
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesBufferConsumer
-
-
-
-## TimeseriesBufferConsumer Objects
-
-```python
-class TimeseriesBufferConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBufferConsumer
-
-Returns
-----------
-
-TimeseriesBufferConsumer:
- Instance wrapping the .net type TimeseriesBufferConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBufferConsumer
-
-Returns
-----------
-
-TimeseriesBufferConsumer:
- Instance wrapping the .net type TimeseriesBufferConsumer
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataRawReadEventArgs
-
-
-
-## TimeseriesDataRawReadEventArgs Objects
-
-```python
-class TimeseriesDataRawReadEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type TimeseriesDataRawReadEventArgs
-
-Returns
-----------
-
-TimeseriesDataRawReadEventArgs:
-Instance wrapping the .net type TimeseriesDataRawReadEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type TimeseriesDataRawReadEventArgs
-
-Returns
-----------
-
-TimeseriesDataRawReadEventArgs:
-Instance wrapping the .net type TimeseriesDataRawReadEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topic: c_void_p, stream: c_void_p, data: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-topic: c_void_p
- GC Handle Pointer to .Net type Object
-
-stream: c_void_p
- GC Handle Pointer to .Net type Object
-
-data: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataRawReadEventArgs
-
-
-
-#### get\_Topic
-
-```python
-def get_Topic() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
-
-
-
-#### get\_Data
-
-```python
-def get_Data() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamConsumer.TimeseriesDataReadEventArgs
-
-
-
-## TimeseriesDataReadEventArgs Objects
-
-```python
-class TimeseriesDataReadEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type TimeseriesDataReadEventArgs
-
-Returns
-----------
-
-TimeseriesDataReadEventArgs:
-Instance wrapping the .net type TimeseriesDataReadEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type TimeseriesDataReadEventArgs
-
-Returns
-----------
-
-TimeseriesDataReadEventArgs:
-Instance wrapping the .net type TimeseriesDataReadEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topic: c_void_p, stream: c_void_p, data: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-topic: c_void_p
- GC Handle Pointer to .Net type Object
-
-stream: c_void_p
- GC Handle Pointer to .Net type Object
-
-data: c_void_p
- GC Handle Pointer to .Net type TimeseriesData
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataReadEventArgs
-
-
-
-#### get\_Topic
-
-```python
-def get_Topic() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
-
-
-
-#### get\_Data
-
-```python
-def get_Data() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesData
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDataBuilder
-
-
-
-## EventDataBuilder Objects
-
-```python
-class EventDataBuilder(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDataBuilder
-
-Returns
-----------
-
-EventDataBuilder:
- Instance wrapping the .net type EventDataBuilder
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDataBuilder
-
-Returns
-----------
-
-EventDataBuilder:
- Instance wrapping the .net type EventDataBuilder
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(streamEventsProducer: c_void_p,
- timestampNanoseconds: int) -> c_void_p
-```
-
-Parameters
-----------
-
-streamEventsProducer: c_void_p
- GC Handle Pointer to .Net type StreamEventsProducer
-
-timestampNanoseconds: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### AddValue
-
-```python
-def AddValue(eventId: str, value: str) -> c_void_p
-```
-
-Parameters
-----------
-
-eventId: str
- Underlying .Net type is string
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### AddTag
-
-```python
-def AddTag(tagId: str, value: str) -> c_void_p
-```
-
-Parameters
-----------
-
-tagId: str
- Underlying .Net type is string
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### AddTags
-
-```python
-def AddTags(tagsValues: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-tagsValues: c_void_p
- GC Handle Pointer to .Net type IEnumerable>
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### Publish
-
-```python
-def Publish() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.EventDefinitionBuilder
-
-
-
-## EventDefinitionBuilder Objects
-
-```python
-class EventDefinitionBuilder(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-Returns
-----------
-
-EventDefinitionBuilder:
- Instance wrapping the .net type EventDefinitionBuilder
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-Returns
-----------
-
-EventDefinitionBuilder:
- Instance wrapping the .net type EventDefinitionBuilder
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(streamEventsProducer: c_void_p,
- location: str,
- properties: c_void_p = None) -> c_void_p
-```
-
-Parameters
-----------
-
-streamEventsProducer: c_void_p
- GC Handle Pointer to .Net type StreamEventsProducer
-
-location: str
- Underlying .Net type is string
-
-properties: c_void_p
- (Optional) GC Handle Pointer to .Net type EventDefinition. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-
-
-#### SetLevel
-
-```python
-def SetLevel(level: EventLevel) -> c_void_p
-```
-
-Parameters
-----------
-
-level: EventLevel
- Underlying .Net type is EventLevel
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-
-
-#### SetCustomProperties
-
-```python
-def SetCustomProperties(customProperties: str) -> c_void_p
-```
-
-Parameters
-----------
-
-customProperties: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-
-
-#### AddDefinition
-
-```python
-def AddDefinition(eventId: str,
- name: str = None,
- description: str = None) -> c_void_p
-```
-
-Parameters
-----------
-
-eventId: str
- Underlying .Net type is string
-
-name: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-description: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.ParameterDefinitionBuilder
-
-
-
-## ParameterDefinitionBuilder Objects
-
-```python
-class ParameterDefinitionBuilder(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-Returns
-----------
-
-ParameterDefinitionBuilder:
- Instance wrapping the .net type ParameterDefinitionBuilder
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-Returns
-----------
-
-ParameterDefinitionBuilder:
- Instance wrapping the .net type ParameterDefinitionBuilder
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(streamTimeseriesProducer: c_void_p,
- location: str,
- definition: c_void_p = None) -> c_void_p
-```
-
-Parameters
-----------
-
-streamTimeseriesProducer: c_void_p
- GC Handle Pointer to .Net type StreamTimeseriesProducer
-
-location: str
- Underlying .Net type is string
-
-definition: c_void_p
- (Optional) GC Handle Pointer to .Net type ParameterDefinition. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-#### SetRange
-
-```python
-def SetRange(minimumValue: float, maximumValue: float) -> c_void_p
-```
-
-Parameters
-----------
-
-minimumValue: float
- Underlying .Net type is double
-
-maximumValue: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-#### SetUnit
-
-```python
-def SetUnit(unit: str) -> c_void_p
-```
-
-Parameters
-----------
-
-unit: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-#### SetFormat
-
-```python
-def SetFormat(format: str) -> c_void_p
-```
-
-Parameters
-----------
-
-format: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-#### SetCustomProperties
-
-```python
-def SetCustomProperties(customProperties: str) -> c_void_p
-```
-
-Parameters
-----------
-
-customProperties: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-#### AddDefinition
-
-```python
-def AddDefinition(parameterId: str,
- name: str = None,
- description: str = None) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-name: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-description: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamEventsProducer
-
-
-
-## StreamEventsProducer Objects
-
-```python
-class StreamEventsProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamEventsProducer
-
-Returns
-----------
-
-StreamEventsProducer:
- Instance wrapping the .net type StreamEventsProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamEventsProducer
-
-Returns
-----------
-
-StreamEventsProducer:
- Instance wrapping the .net type StreamEventsProducer
-
-
-
-#### get\_DefaultTags
-
-```python
-def get_DefaultTags() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### set\_DefaultTags
-
-```python
-def set_DefaultTags(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_DefaultLocation
-
-```python
-def get_DefaultLocation() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_DefaultLocation
-
-```python
-def set_DefaultLocation(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Epoch
-
-```python
-def get_Epoch() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### set\_Epoch
-
-```python
-def set_Epoch(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### AddTimestamp
-
-```python
-def AddTimestamp(dateTime: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-dateTime: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### AddTimestamp2
-
-```python
-def AddTimestamp2(timeSpan: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-timeSpan: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### AddTimestampMilliseconds
-
-```python
-def AddTimestampMilliseconds(timeMilliseconds: int) -> c_void_p
-```
-
-Parameters
-----------
-
-timeMilliseconds: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### AddTimestampNanoseconds
-
-```python
-def AddTimestampNanoseconds(timeNanoseconds: int) -> c_void_p
-```
-
-Parameters
-----------
-
-timeNanoseconds: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDataBuilder
-
-
-
-#### AddDefinitions
-
-```python
-def AddDefinitions(definitions: c_void_p) -> None
-```
-
-Parameters
-----------
-
-definitions: c_void_p
- GC Handle Pointer to .Net type List
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### AddDefinition
-
-```python
-def AddDefinition(eventId: str,
- name: str = None,
- description: str = None) -> c_void_p
-```
-
-Parameters
-----------
-
-eventId: str
- Underlying .Net type is string
-
-name: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-description: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-
-
-#### AddLocation
-
-```python
-def AddLocation(location: str) -> c_void_p
-```
-
-Parameters
-----------
-
-location: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinitionBuilder
-
-
-
-#### Flush
-
-```python
-def Flush() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Publish
-
-```python
-def Publish(data: c_void_p) -> None
-```
-
-Parameters
-----------
-
-data: c_void_p
- GC Handle Pointer to .Net type EventData
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Publish2
-
-```python
-def Publish2(events: c_void_p) -> None
-```
-
-Parameters
-----------
-
-events: c_void_p
- GC Handle Pointer to .Net type ICollection
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamPropertiesProducer
-
-
-
-## StreamPropertiesProducer Objects
-
-```python
-class StreamPropertiesProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamPropertiesProducer
-
-Returns
-----------
-
-StreamPropertiesProducer:
- Instance wrapping the .net type StreamPropertiesProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamPropertiesProducer
-
-Returns
-----------
-
-StreamPropertiesProducer:
- Instance wrapping the .net type StreamPropertiesProducer
-
-
-
-#### get\_FlushInterval
-
-```python
-def get_FlushInterval() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### set\_FlushInterval
-
-```python
-def set_FlushInterval(value: int) -> None
-```
-
-Parameters
-----------
-
-value: int
- Underlying .Net type is int
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Name
-
-```python
-def get_Name() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Name
-
-```python
-def set_Name(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Location
-
-```python
-def get_Location() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Location
-
-```python
-def set_Location(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TimeOfRecording
-
-```python
-def get_TimeOfRecording() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime?
-
-
-
-#### set\_TimeOfRecording
-
-```python
-def set_TimeOfRecording(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type DateTime?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Metadata
-
-```python
-def get_Metadata() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ObservableDictionary
-
-
-
-#### get\_Parents
-
-```python
-def get_Parents() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ObservableCollection
-
-
-
-#### AddParent
-
-```python
-def AddParent(parentStreamId: str) -> None
-```
-
-Parameters
-----------
-
-parentStreamId: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### RemoveParent
-
-```python
-def RemoveParent(parentStreamId: str) -> None
-```
-
-Parameters
-----------
-
-parentStreamId: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Flush
-
-```python
-def Flush() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.StreamTimeseriesProducer
-
-
-
-## StreamTimeseriesProducer Objects
-
-```python
-class StreamTimeseriesProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamTimeseriesProducer
-
-Returns
-----------
-
-StreamTimeseriesProducer:
- Instance wrapping the .net type StreamTimeseriesProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamTimeseriesProducer
-
-Returns
-----------
-
-StreamTimeseriesProducer:
- Instance wrapping the .net type StreamTimeseriesProducer
-
-
-
-#### get\_Buffer
-
-```python
-def get_Buffer() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesBufferProducer
-
-
-
-#### Publish
-
-```python
-def Publish(data: c_void_p) -> None
-```
-
-Parameters
-----------
-
-data: c_void_p
- GC Handle Pointer to .Net type TimeseriesData
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Publish2
-
-```python
-def Publish2(data: c_void_p) -> None
-```
-
-Parameters
-----------
-
-data: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_DefaultLocation
-
-```python
-def get_DefaultLocation() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_DefaultLocation
-
-```python
-def set_DefaultLocation(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### AddDefinitions
-
-```python
-def AddDefinitions(definitions: c_void_p) -> None
-```
-
-Parameters
-----------
-
-definitions: c_void_p
- GC Handle Pointer to .Net type List
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### AddDefinition
-
-```python
-def AddDefinition(parameterId: str,
- name: str = None,
- description: str = None) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-name: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-description: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-#### AddLocation
-
-```python
-def AddLocation(location: str) -> c_void_p
-```
-
-Parameters
-----------
-
-location: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinitionBuilder
-
-
-
-#### Flush
-
-```python
-def Flush() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesBufferProducer
-
-
-
-## TimeseriesBufferProducer Objects
-
-```python
-class TimeseriesBufferProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBufferProducer
-
-Returns
-----------
-
-TimeseriesBufferProducer:
- Instance wrapping the .net type TimeseriesBufferProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBufferProducer
-
-Returns
-----------
-
-TimeseriesBufferProducer:
- Instance wrapping the .net type TimeseriesBufferProducer
-
-
-
-#### get\_Epoch
-
-```python
-def get_Epoch() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### set\_Epoch
-
-```python
-def set_Epoch(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### AddTimestamp
-
-```python
-def AddTimestamp(dateTime: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-dateTime: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddTimestamp2
-
-```python
-def AddTimestamp2(timeSpan: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-timeSpan: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddTimestampMilliseconds
-
-```python
-def AddTimestampMilliseconds(timeMilliseconds: int) -> c_void_p
-```
-
-Parameters
-----------
-
-timeMilliseconds: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddTimestampNanoseconds
-
-```python
-def AddTimestampNanoseconds(timeNanoseconds: int) -> c_void_p
-```
-
-Parameters
-----------
-
-timeNanoseconds: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### Publish
-
-```python
-def Publish(data: c_void_p) -> None
-```
-
-Parameters
-----------
-
-data: c_void_p
- GC Handle Pointer to .Net type TimeseriesData
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_DefaultTags
-
-```python
-def get_DefaultTags() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### set\_DefaultTags
-
-```python
-def set_DefaultTags(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Flush
-
-```python
-def Flush() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.StreamProducer.TimeseriesDataBuilder
-
-
-
-## TimeseriesDataBuilder Objects
-
-```python
-class TimeseriesDataBuilder(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-Returns
-----------
-
-TimeseriesDataBuilder:
- Instance wrapping the .net type TimeseriesDataBuilder
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-Returns
-----------
-
-TimeseriesDataBuilder:
- Instance wrapping the .net type TimeseriesDataBuilder
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(buffer: c_void_p, data: c_void_p,
- timestamp: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-buffer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBufferProducer
-
-data: c_void_p
- GC Handle Pointer to .Net type TimeseriesData
-
-timestamp: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddValue
-
-```python
-def AddValue(parameterId: str, value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddValue2
-
-```python
-def AddValue2(parameterId: str, value: str) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddValue3
-
-```python
-def AddValue3(parameterId: str, value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddTag
-
-```python
-def AddTag(tagId: str, value: str) -> c_void_p
-```
-
-Parameters
-----------
-
-tagId: str
- Underlying .Net type is string
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### AddTags
-
-```python
-def AddTags(tags: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-tags: c_void_p
- GC Handle Pointer to .Net type IEnumerable>
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataBuilder
-
-
-
-#### Publish
-
-```python
-def Publish() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBuffer
-
-
-
-## TimeseriesBuffer Objects
-
-```python
-class TimeseriesBuffer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBuffer
-
-Returns
-----------
-
-TimeseriesBuffer:
- Instance wrapping the .net type TimeseriesBuffer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBuffer
-
-Returns
-----------
-
-TimeseriesBuffer:
- Instance wrapping the .net type TimeseriesBuffer
-
-
-
-#### add\_OnDataReleased
-
-```python
-def add_OnDataReleased(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDataReleased
-
-```python
-def remove_OnDataReleased(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnRawReleased
-
-```python
-def add_OnRawReleased(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnRawReleased
-
-```python
-def remove_OnRawReleased(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_PacketSize
-
-```python
-def get_PacketSize() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is int?
-
-
-
-#### set\_PacketSize
-
-```python
-def set_PacketSize(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is int?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_BufferTimeout
-
-```python
-def get_BufferTimeout() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is int?
-
-
-
-#### set\_BufferTimeout
-
-```python
-def set_BufferTimeout(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is int?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TimeSpanInNanoseconds
-
-```python
-def get_TimeSpanInNanoseconds() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is long?
-
-
-
-#### set\_TimeSpanInNanoseconds
-
-```python
-def set_TimeSpanInNanoseconds(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is long?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TimeSpanInMilliseconds
-
-```python
-def get_TimeSpanInMilliseconds() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is long?
-
-
-
-#### set\_TimeSpanInMilliseconds
-
-```python
-def set_TimeSpanInMilliseconds(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is long?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Filter
-
-```python
-def get_Filter() -> Callable[[c_void_p], bool]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Callable[[c_void_p], bool]:
- Underlying .Net type is Func
-
-
-
-#### set\_Filter
-
-```python
-def set_Filter(value: Callable[[c_void_p], bool]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], bool]
- Underlying .Net type is Func
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CustomTriggerBeforeEnqueue
-
-```python
-def get_CustomTriggerBeforeEnqueue() -> Callable[[c_void_p], bool]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Callable[[c_void_p], bool]:
- Underlying .Net type is Func
-
-
-
-#### set\_CustomTriggerBeforeEnqueue
-
-```python
-def set_CustomTriggerBeforeEnqueue(value: Callable[[c_void_p], bool]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], bool]
- Underlying .Net type is Func
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CustomTrigger
-
-```python
-def get_CustomTrigger() -> Callable[[c_void_p], bool]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Callable[[c_void_p], bool]:
- Underlying .Net type is Func
-
-
-
-#### set\_CustomTrigger
-
-```python
-def set_CustomTrigger(value: Callable[[c_void_p], bool]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], bool]
- Underlying .Net type is Func
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesBufferConfiguration
-
-
-
-## TimeseriesBufferConfiguration Objects
-
-```python
-class TimeseriesBufferConfiguration(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBufferConfiguration
-
-Returns
-----------
-
-TimeseriesBufferConfiguration:
- Instance wrapping the .net type TimeseriesBufferConfiguration
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesBufferConfiguration
-
-Returns
-----------
-
-TimeseriesBufferConfiguration:
- Instance wrapping the .net type TimeseriesBufferConfiguration
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesBufferConfiguration
-
-
-
-#### get\_PacketSize
-
-```python
-def get_PacketSize() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is int?
-
-
-
-#### set\_PacketSize
-
-```python
-def set_PacketSize(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is int?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TimeSpanInNanoseconds
-
-```python
-def get_TimeSpanInNanoseconds() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is long?
-
-
-
-#### set\_TimeSpanInNanoseconds
-
-```python
-def set_TimeSpanInNanoseconds(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is long?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TimeSpanInMilliseconds
-
-```python
-def get_TimeSpanInMilliseconds() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is long?
-
-
-
-#### set\_TimeSpanInMilliseconds
-
-```python
-def set_TimeSpanInMilliseconds(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is long?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CustomTriggerBeforeEnqueue
-
-```python
-def get_CustomTriggerBeforeEnqueue() -> Callable[[c_void_p], bool]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Callable[[c_void_p], bool]:
- Underlying .Net type is Func
-
-
-
-#### set\_CustomTriggerBeforeEnqueue
-
-```python
-def set_CustomTriggerBeforeEnqueue(value: Callable[[c_void_p], bool]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], bool]
- Underlying .Net type is Func
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CustomTrigger
-
-```python
-def get_CustomTrigger() -> Callable[[c_void_p], bool]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Callable[[c_void_p], bool]:
- Underlying .Net type is Func
-
-
-
-#### set\_CustomTrigger
-
-```python
-def set_CustomTrigger(value: Callable[[c_void_p], bool]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], bool]
- Underlying .Net type is Func
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Filter
-
-```python
-def get_Filter() -> Callable[[c_void_p], bool]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Callable[[c_void_p], bool]:
- Underlying .Net type is Func
-
-
-
-#### set\_Filter
-
-```python
-def set_Filter(value: Callable[[c_void_p], bool]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], bool]
- Underlying .Net type is Func
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_BufferTimeout
-
-```python
-def get_BufferTimeout() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is int?
-
-
-
-#### set\_BufferTimeout
-
-```python
-def set_BufferTimeout(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is int?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesData
-
-
-
-## TimeseriesData Objects
-
-```python
-class TimeseriesData(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesData
-
-Returns
-----------
-
-TimeseriesData:
- Instance wrapping the .net type TimeseriesData
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesData
-
-Returns
-----------
-
-TimeseriesData:
- Instance wrapping the .net type TimeseriesData
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(capacity: int = None) -> c_void_p
-```
-
-Parameters
-----------
-
-capacity: int
- (Optional) Underlying .Net type is int. Defaults to 10
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesData
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2(rawData: c_void_p,
- parametersFilter: c_void_p = None,
- merge: bool = True,
- clean: bool = True) -> c_void_p
-```
-
-Parameters
-----------
-
-rawData: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-parametersFilter: c_void_p
- (Optional) GC Handle Pointer to .Net type string[]. Defaults to None
-
-merge: bool
- (Optional) Underlying .Net type is Boolean. Defaults to True
-
-clean: bool
- (Optional) Underlying .Net type is Boolean. Defaults to True
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesData
-
-
-
-#### Constructor3
-
-```python
-@staticmethod
-def Constructor3(timestamps: c_void_p,
- merge: bool = True,
- clean: bool = True) -> c_void_p
-```
-
-Parameters
-----------
-
-timestamps: c_void_p
- GC Handle Pointer to .Net type List
-
-merge: bool
- (Optional) Underlying .Net type is Boolean. Defaults to True
-
-clean: bool
- (Optional) Underlying .Net type is Boolean. Defaults to True
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesData
-
-
-
-#### Clone
-
-```python
-def Clone(parametersFilter: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-parametersFilter: c_void_p
- GC Handle Pointer to .Net type string[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesData
-
-
-
-#### get\_Timestamps
-
-```python
-def get_Timestamps() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamps
-
-
-
-#### AddTimestamp
-
-```python
-def AddTimestamp(dateTime: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-dateTime: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddTimestamp2
-
-```python
-def AddTimestamp2(timeSpan: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-timeSpan: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddTimestampMilliseconds
-
-```python
-def AddTimestampMilliseconds(timeMilliseconds: int) -> c_void_p
-```
-
-Parameters
-----------
-
-timeMilliseconds: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddTimestampNanoseconds
-
-```python
-def AddTimestampNanoseconds(timeNanoseconds: int) -> c_void_p
-```
-
-Parameters
-----------
-
-timeNanoseconds: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### Equals
-
-```python
-def Equals(obj: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetHashCode
-
-```python
-def GetHashCode() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Models.TimeseriesDataTimestamp
-
-
-
-## TimeseriesDataTimestamp Objects
-
-```python
-class TimeseriesDataTimestamp(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-Returns
-----------
-
-TimeseriesDataTimestamp:
- Instance wrapping the .net type TimeseriesDataTimestamp
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-Returns
-----------
-
-TimeseriesDataTimestamp:
- Instance wrapping the .net type TimeseriesDataTimestamp
-
-
-
-#### get\_Parameters
-
-```python
-def get_Parameters() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestampValues
-
-
-
-#### get\_Tags
-
-```python
-def get_Tags() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestampTags
-
-
-
-#### get\_TimestampNanoseconds
-
-```python
-def get_TimestampNanoseconds() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### set\_TimestampNanoseconds
-
-```python
-def set_TimestampNanoseconds(value: int) -> None
-```
-
-Parameters
-----------
-
-value: int
- Underlying .Net type is long
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TimestampMilliseconds
-
-```python
-def get_TimestampMilliseconds() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### get\_Timestamp
-
-```python
-def get_Timestamp() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### get\_TimestampAsTimeSpan
-
-```python
-def get_TimestampAsTimeSpan() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
-
-
-
-#### AddValue
-
-```python
-def AddValue(parameterId: str, value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddValue2
-
-```python
-def AddValue2(parameterId: str, value: str) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddValue3
-
-```python
-def AddValue3(parameterId: str, value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddValue4
-
-```python
-def AddValue4(parameterId: str, value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-value: c_void_p
- GC Handle Pointer to .Net type ParameterValue
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### RemoveValue
-
-```python
-def RemoveValue(parameterId: str) -> c_void_p
-```
-
-Parameters
-----------
-
-parameterId: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddTag
-
-```python
-def AddTag(tagId: str, tagValue: str) -> c_void_p
-```
-
-Parameters
-----------
-
-tagId: str
- Underlying .Net type is string
-
-tagValue: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### AddTags
-
-```python
-def AddTags(tags: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-tags: c_void_p
- GC Handle Pointer to .Net type IEnumerable>
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### RemoveTag
-
-```python
-def RemoveTag(tagId: str) -> c_void_p
-```
-
-Parameters
-----------
-
-tagId: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### Equals
-
-```python
-def Equals(obj: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetHashCode
-
-```python
-def GetHashCode() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### ToString
-
-```python
-def ToString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.PackageReceivedEventArgs
-
-
-
-## PackageReceivedEventArgs Objects
-
-```python
-class PackageReceivedEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type PackageReceivedEventArgs
-
-Returns
-----------
-
-PackageReceivedEventArgs:
-Instance wrapping the .net type PackageReceivedEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type PackageReceivedEventArgs
-
-Returns
-----------
-
-PackageReceivedEventArgs:
-Instance wrapping the .net type PackageReceivedEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topicConsumer: c_void_p, consumer: c_void_p,
- package: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-topicConsumer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-consumer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-package: c_void_p
- GC Handle Pointer to .Net type StreamPackage
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type PackageReceivedEventArgs
-
-
-
-#### get\_TopicConsumer
-
-```python
-def get_TopicConsumer() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamConsumer
-
-
-
-#### get\_Package
-
-```python
-def get_Package() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamPackage
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient
-
-
-
-## QuixStreamingClient Objects
-
-```python
-class QuixStreamingClient(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type QuixStreamingClient
-
-Returns
-----------
-
-QuixStreamingClient:
- Instance wrapping the .net type QuixStreamingClient
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type QuixStreamingClient
-
-Returns
-----------
-
-QuixStreamingClient:
- Instance wrapping the .net type QuixStreamingClient
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(token: str = None,
- autoCreateTopics: bool = True,
- properties: c_void_p = None,
- debug: bool = False,
- httpClient: c_void_p = None) -> c_void_p
-```
-
-Parameters
-----------
-
-token: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-autoCreateTopics: bool
- (Optional) Underlying .Net type is Boolean. Defaults to True
-
-properties: c_void_p
- (Optional) GC Handle Pointer to .Net type IDictionary. Defaults to None
-
-debug: bool
- (Optional) Underlying .Net type is Boolean. Defaults to False
-
-httpClient: c_void_p
- (Optional) GC Handle Pointer to .Net type HttpClient. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type QuixStreamingClient
-
-
-
-#### get\_TokenValidationConfig
-
-```python
-def get_TokenValidationConfig() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type QuixStreamingClient.TokenValidationConfiguration
-
-
-
-#### set\_TokenValidationConfig
-
-```python
-def set_TokenValidationConfig(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type QuixStreamingClient.TokenValidationConfiguration
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### GetTopicConsumer
-
-```python
-def GetTopicConsumer(
- topicIdOrName: str,
- consumerGroup: str = None,
- options: c_void_p = None,
- autoOffset: AutoOffsetReset = AutoOffsetReset.Latest) -> c_void_p
-```
-
-Parameters
-----------
-
-topicIdOrName: str
- Underlying .Net type is string
-
-consumerGroup: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-options: c_void_p
- (Optional) GC Handle Pointer to .Net type CommitOptions. Defaults to None
-
-autoOffset: AutoOffsetReset
- (Optional) Underlying .Net type is AutoOffsetReset. Defaults to Latest
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### GetRawTopicConsumer
-
-```python
-def GetRawTopicConsumer(
- topicIdOrName: str,
- consumerGroup: str = None,
- autoOffset: Optional[AutoOffsetReset] = None) -> c_void_p
-```
-
-Parameters
-----------
-
-topicIdOrName: str
- Underlying .Net type is string
-
-consumerGroup: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-autoOffset: Optional[AutoOffsetReset]
- (Optional) Underlying .Net type is AutoOffsetReset?. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IRawTopicConsumer
-
-
-
-#### GetRawTopicProducer
-
-```python
-def GetRawTopicProducer(topicIdOrName: str) -> c_void_p
-```
-
-Parameters
-----------
-
-topicIdOrName: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IRawTopicProducer
-
-
-
-#### GetTopicProducer
-
-```python
-def GetTopicProducer(topicIdOrName: str) -> c_void_p
-```
-
-Parameters
-----------
-
-topicIdOrName: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicProducer
-
-
-
-#### get\_ApiUrl
-
-```python
-def get_ApiUrl() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Uri
-
-
-
-#### set\_ApiUrl
-
-```python
-def set_ApiUrl(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Uri
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CachePeriod
-
-```python
-def get_CachePeriod() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
-
-
-
-#### set\_CachePeriod
-
-```python
-def set_CachePeriod(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClientExtensions
-
-
-
-## QuixStreamingClientExtensions Objects
-
-```python
-class QuixStreamingClientExtensions(object)
-```
-
-
-
-#### GetTopicConsumer
-
-```python
-@staticmethod
-def GetTopicConsumer(
- client: c_void_p,
- topicId: str,
- consumerGroup: str = None,
- commitMode: CommitMode = CommitMode.Automatic,
- autoOffset: AutoOffsetReset = AutoOffsetReset.Latest) -> c_void_p
-```
-
-Parameters
-----------
-
-client: c_void_p
- GC Handle Pointer to .Net type QuixStreamingClient
-
-topicId: str
- Underlying .Net type is string
-
-consumerGroup: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-commitMode: CommitMode
- (Optional) Underlying .Net type is CommitMode. Defaults to Automatic
-
-autoOffset: AutoOffsetReset
- (Optional) Underlying .Net type is AutoOffsetReset. Defaults to Latest
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.QuixStreamingClient\_TokenValidationConfiguration
-
-
-
-## TokenValidationConfiguration Objects
-
-```python
-class TokenValidationConfiguration(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TokenValidationConfiguration
-
-Returns
-----------
-
-TokenValidationConfiguration:
- Instance wrapping the .net type TokenValidationConfiguration
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TokenValidationConfiguration
-
-Returns
-----------
-
-TokenValidationConfiguration:
- Instance wrapping the .net type TokenValidationConfiguration
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type QuixStreamingClient.TokenValidationConfiguration
-
-
-
-#### get\_Enabled
-
-```python
-def get_Enabled() -> bool
-```
-
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### set\_Enabled
-
-```python
-def set_Enabled(value: bool) -> None
-```
-
-Parameters
-----------
-
-value: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_WarningBeforeExpiry
-
-```python
-def get_WarningBeforeExpiry() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan?
-
-
-
-#### set\_WarningBeforeExpiry
-
-```python
-def set_WarningBeforeExpiry(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type TimeSpan?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_WarnAboutNonPatToken
-
-```python
-def get_WarnAboutNonPatToken() -> bool
-```
-
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### set\_WarnAboutNonPatToken
-
-```python
-def set_WarnAboutNonPatToken(value: bool) -> None
-```
-
-Parameters
-----------
-
-value: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicConsumer
-
-
-
-## IRawTopicConsumer Objects
-
-```python
-class IRawTopicConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IRawTopicConsumer
-
-Returns
-----------
-
-IRawTopicConsumer:
- Instance wrapping the .net type IRawTopicConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IRawTopicConsumer
-
-Returns
-----------
-
-IRawTopicConsumer:
- Instance wrapping the .net type IRawTopicConsumer
-
-
-
-#### Subscribe
-
-```python
-def Subscribe() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnMessageReceived
-
-```python
-def add_OnMessageReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnMessageReceived
-
-```python
-def remove_OnMessageReceived(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnErrorOccurred
-
-```python
-def add_OnErrorOccurred(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnErrorOccurred
-
-```python
-def remove_OnErrorOccurred(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Raw.IRawTopicProducer
-
-
-
-## IRawTopicProducer Objects
-
-```python
-class IRawTopicProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IRawTopicProducer
-
-Returns
-----------
-
-IRawTopicProducer:
- Instance wrapping the .net type IRawTopicProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IRawTopicProducer
-
-Returns
-----------
-
-IRawTopicProducer:
- Instance wrapping the .net type IRawTopicProducer
-
-
-
-#### Publish
-
-```python
-def Publish(data: c_void_p) -> None
-```
-
-Parameters
-----------
-
-data: c_void_p
- GC Handle Pointer to .Net type RawMessage
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Raw.RawMessage
-
-
-
-## RawMessage Objects
-
-```python
-class RawMessage(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type RawMessage
-
-Returns
-----------
-
-RawMessage:
- Instance wrapping the .net type RawMessage
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type RawMessage
-
-Returns
-----------
-
-RawMessage:
- Instance wrapping the .net type RawMessage
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(key: c_void_p, value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-key: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type RawMessage
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2(value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type RawMessage
-
-
-
-#### get\_Metadata
-
-```python
-def get_Metadata() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ReadOnlyDictionary
-
-
-
-#### get\_Key
-
-```python
-def get_Key() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type byte[]
-
-
-
-#### set\_Key
-
-```python
-def set_Key(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Value
-
-```python
-def get_Value() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type byte[]
-
-
-
-#### set\_Value
-
-```python
-def set_Value(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicConsumer
-
-
-
-## RawTopicConsumer Objects
-
-```python
-class RawTopicConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type RawTopicConsumer
-
-Returns
-----------
-
-RawTopicConsumer:
- Instance wrapping the .net type RawTopicConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type RawTopicConsumer
-
-Returns
-----------
-
-RawTopicConsumer:
- Instance wrapping the .net type RawTopicConsumer
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(brokerAddress: str,
- topicName: str,
- consumerGroup: str,
- brokerProperties: c_void_p = None,
- autoOffset: Optional[AutoOffsetReset] = None) -> c_void_p
-```
-
-Parameters
-----------
-
-brokerAddress: str
- Underlying .Net type is string
-
-topicName: str
- Underlying .Net type is string
-
-consumerGroup: str
- Underlying .Net type is string
-
-brokerProperties: c_void_p
- (Optional) GC Handle Pointer to .Net type Dictionary. Defaults to None
-
-autoOffset: Optional[AutoOffsetReset]
- (Optional) Underlying .Net type is AutoOffsetReset?. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type RawTopicConsumer
-
-
-
-#### add\_OnMessageReceived
-
-```python
-def add_OnMessageReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnMessageReceived
-
-```python
-def remove_OnMessageReceived(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnErrorOccurred
-
-```python
-def add_OnErrorOccurred(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnErrorOccurred
-
-```python
-def remove_OnErrorOccurred(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Subscribe
-
-```python
-def Subscribe() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Raw.RawTopicProducer
-
-
-
-## RawTopicProducer Objects
-
-```python
-class RawTopicProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type RawTopicProducer
-
-Returns
-----------
-
-RawTopicProducer:
- Instance wrapping the .net type RawTopicProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type RawTopicProducer
-
-Returns
-----------
-
-RawTopicProducer:
- Instance wrapping the .net type RawTopicProducer
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(brokerAddress: str,
- topicName: str,
- brokerProperties: c_void_p = None) -> c_void_p
-```
-
-Parameters
-----------
-
-brokerAddress: str
- Underlying .Net type is string
-
-topicName: str
- Underlying .Net type is string
-
-brokerProperties: c_void_p
- (Optional) GC Handle Pointer to .Net type Dictionary. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type RawTopicProducer
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Publish
-
-```python
-def Publish(message: c_void_p) -> None
-```
-
-Parameters
-----------
-
-message: c_void_p
- GC Handle Pointer to .Net type RawMessage
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.StreamClosedEventArgs
-
-
-
-## StreamClosedEventArgs Objects
-
-```python
-class StreamClosedEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type StreamClosedEventArgs
-
-Returns
-----------
-
-StreamClosedEventArgs:
-Instance wrapping the .net type StreamClosedEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type StreamClosedEventArgs
-
-Returns
-----------
-
-StreamClosedEventArgs:
-Instance wrapping the .net type StreamClosedEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(topicConsumer: c_void_p, consumer: c_void_p,
- endType: StreamEndType) -> c_void_p
-```
-
-Parameters
-----------
-
-topicConsumer: c_void_p
- GC Handle Pointer to .Net type ITopicConsumer
-
-consumer: c_void_p
- GC Handle Pointer to .Net type IStreamConsumer
-
-endType: StreamEndType
- Underlying .Net type is StreamEndType
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamClosedEventArgs
-
-
-
-#### get\_TopicConsumer
-
-```python
-def get_TopicConsumer() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ITopicConsumer
-
-
-
-#### get\_Stream
-
-```python
-def get_Stream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamConsumer
-
-
-
-#### get\_EndType
-
-```python
-def get_EndType() -> StreamEndType
-```
-
-Parameters
-----------
-
-Returns
--------
-
-StreamEndType:
- Underlying .Net type is StreamEndType
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.TimeseriesDataTimestampValues
-
-
-
-## TimeseriesDataTimestampValues Objects
-
-```python
-class TimeseriesDataTimestampValues(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestampValues
-
-Returns
-----------
-
-TimeseriesDataTimestampValues:
- Instance wrapping the .net type TimeseriesDataTimestampValues
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestampValues
-
-Returns
-----------
-
-TimeseriesDataTimestampValues:
- Instance wrapping the .net type TimeseriesDataTimestampValues
-
-
-
-#### get\_Values
-
-```python
-def get_Values() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IEnumerable
-
-
-
-#### ContainsKey
-
-```python
-def ContainsKey(key: str) -> bool
-```
-
-Parameters
-----------
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### TryGetValue
-
-```python
-def TryGetValue(key: str, value: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-key: str
- Underlying .Net type is string
-
-value: c_void_p
- GC Handle Pointer to .Net type ParameterValue&
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### get\_Count
-
-```python
-def get_Count() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Keys
-
-```python
-def get_Keys() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IEnumerable
-
-
-
-#### get\_Item
-
-```python
-def get_Item(key: str) -> c_void_p
-```
-
-Parameters
-----------
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterValue
-
-
-
-#### Equals
-
-```python
-def Equals(obj: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetHashCode
-
-```python
-def GetHashCode() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### ToString
-
-```python
-def ToString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.TopicConsumer
-
-
-
-## TopicConsumer Objects
-
-```python
-class TopicConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TopicConsumer
-
-Returns
-----------
-
-TopicConsumer:
- Instance wrapping the .net type TopicConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TopicConsumer
-
-Returns
-----------
-
-TopicConsumer:
- Instance wrapping the .net type TopicConsumer
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(telemetryKafkaConsumer: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-telemetryKafkaConsumer: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaConsumer
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TopicConsumer
-
-
-
-#### add\_OnStreamReceived
-
-```python
-def add_OnStreamReceived(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnStreamReceived
-
-```python
-def remove_OnStreamReceived(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnRevoking
-
-```python
-def add_OnRevoking(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnRevoking
-
-```python
-def remove_OnRevoking(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnStreamsRevoked
-
-```python
-def add_OnStreamsRevoked(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnStreamsRevoked
-
-```python
-def remove_OnStreamsRevoked(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnCommitted
-
-```python
-def add_OnCommitted(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnCommitted
-
-```python
-def remove_OnCommitted(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnCommitting
-
-```python
-def add_OnCommitting(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnCommitting
-
-```python
-def remove_OnCommitting(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Commit
-
-```python
-def Commit() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Subscribe
-
-```python
-def Subscribe() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.TopicProducer
-
-
-
-## TopicProducer Objects
-
-```python
-class TopicProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TopicProducer
-
-Returns
-----------
-
-TopicProducer:
- Instance wrapping the .net type TopicProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TopicProducer
-
-Returns
-----------
-
-TopicProducer:
- Instance wrapping the .net type TopicProducer
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(createKafkaProducer: Callable[[str], c_void_p]) -> c_void_p
-```
-
-Parameters
-----------
-
-createKafkaProducer: Callable[[str], c_void_p]
- Underlying .Net type is Func
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TopicProducer
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2(config: c_void_p, topic: str) -> c_void_p
-```
-
-Parameters
-----------
-
-config: c_void_p
- GC Handle Pointer to .Net type KafkaProducerConfiguration
-
-topic: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TopicProducer
-
-
-
-#### add\_OnDisposed
-
-```python
-def add_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnDisposed
-
-```python
-def remove_OnDisposed(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### CreateStream
-
-```python
-def CreateStream() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### CreateStream2
-
-```python
-def CreateStream2(streamId: str) -> c_void_p
-```
-
-Parameters
-----------
-
-streamId: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### GetStream
-
-```python
-def GetStream(streamId: str) -> c_void_p
-```
-
-Parameters
-----------
-
-streamId: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### GetOrCreateStream
-
-```python
-def GetOrCreateStream(
- streamId: str,
- onStreamCreated: Callable[[c_void_p], None] = None) -> c_void_p
-```
-
-Parameters
-----------
-
-streamId: str
- Underlying .Net type is string
-
-onStreamCreated: Callable[[c_void_p], None]
- (Optional) Underlying .Net type is Action. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamProducer
-
-
-
-#### RemoveStream
-
-```python
-def RemoveStream(streamId: str) -> None
-```
-
-Parameters
-----------
-
-streamId: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Utils.CodecSettings
-
-
-
-## CodecSettings Objects
-
-```python
-class CodecSettings(object)
-```
-
-
-
-#### SetGlobalCodecType
-
-```python
-@staticmethod
-def SetGlobalCodecType(codecType: CodecType) -> None
-```
-
-Parameters
-----------
-
-codecType: CodecType
- Underlying .Net type is CodecType
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CurrentCodec
-
-```python
-@staticmethod
-def get_CurrentCodec() -> CodecType
-```
-
-Parameters
-----------
-
-Returns
--------
-
-CodecType:
- Underlying .Net type is CodecType
-
-
-
-#### set\_CurrentCodec
-
-```python
-@staticmethod
-def set_CurrentCodec(value: CodecType) -> None
-```
-
-Parameters
-----------
-
-value: CodecType
- Underlying .Net type is CodecType
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Utils.QuixUtils
-
-
-
-## QuixUtils Objects
-
-```python
-class QuixUtils(object)
-```
-
-
-
-#### TryGetWorkspaceIdPrefix
-
-```python
-@staticmethod
-def TryGetWorkspaceIdPrefix(topicId: str, workspaceId: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-topicId: str
- Underlying .Net type is string
-
-workspaceId: c_void_p
- GC Handle Pointer to .Net type String&
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestampTags
-
-
-
-## TimeseriesDataTimestampTags Objects
-
-```python
-class TimeseriesDataTimestampTags(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestampTags
-
-Returns
-----------
-
-TimeseriesDataTimestampTags:
- Instance wrapping the .net type TimeseriesDataTimestampTags
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestampTags
-
-Returns
-----------
-
-TimeseriesDataTimestampTags:
- Instance wrapping the .net type TimeseriesDataTimestampTags
-
-
-
-#### GetEnumerator
-
-```python
-def GetEnumerator() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IEnumerator>
-
-
-
-#### get\_Item
-
-```python
-def get_Item(key: str) -> str
-```
-
-Parameters
-----------
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Keys
-
-```python
-def get_Keys() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IEnumerable
-
-
-
-#### get\_Values
-
-```python
-def get_Values() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IEnumerable
-
-
-
-#### get\_Count
-
-```python
-def get_Count() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### ContainsKey
-
-```python
-def ContainsKey(key: str) -> bool
-```
-
-Parameters
-----------
-
-key: str
- Underlying .Net type is string
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### TryGetValue
-
-```python
-def TryGetValue(key: str, value: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-key: str
- Underlying .Net type is string
-
-value: c_void_p
- GC Handle Pointer to .Net type String&
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### Equals
-
-```python
-def Equals(obj: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetHashCode
-
-```python
-def GetHashCode() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### ToString
-
-```python
-def ToString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.QuixStreamsStreaming.Utils.TimeseriesDataTimestamps
-
-
-
-## TimeseriesDataTimestamps Objects
-
-```python
-class TimeseriesDataTimestamps(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestamps
-
-Returns
-----------
-
-TimeseriesDataTimestamps:
- Instance wrapping the .net type TimeseriesDataTimestamps
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataTimestamps
-
-Returns
-----------
-
-TimeseriesDataTimestamps:
- Instance wrapping the .net type TimeseriesDataTimestamps
-
-
-
-#### GetEnumerator
-
-```python
-def GetEnumerator() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IEnumerator
-
-
-
-#### get\_Item
-
-```python
-def get_Item(index: int) -> c_void_p
-```
-
-Parameters
-----------
-
-index: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataTimestamp
-
-
-
-#### get\_Count
-
-```python
-def get_Count() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### Equals
-
-```python
-def Equals(obj: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### GetHashCode
-
-```python
-def GetHashCode() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### ToString
-
-```python
-def ToString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.IStreamPipeline
-
-
-
-## IStreamPipeline Objects
-
-```python
-class IStreamPipeline(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStreamPipeline
-
-Returns
-----------
-
-IStreamPipeline:
- Instance wrapping the .net type IStreamPipeline
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IStreamPipeline
-
-Returns
-----------
-
-IStreamPipeline:
- Instance wrapping the .net type IStreamPipeline
-
-
-
-#### get\_StreamId
-
-```python
-def get_StreamId() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_SourceMetadata
-
-```python
-def get_SourceMetadata() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### set\_SourceMetadata
-
-```python
-def set_SourceMetadata(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Subscribe3
-
-```python
-def Subscribe3(
- onStreamPackage: Callable[[c_void_p, c_void_p], None]) -> c_void_p
-```
-
-Parameters
-----------
-
-onStreamPackage: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is Action
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IStreamPipeline
-
-
-
-#### Close
-
-```python
-def Close() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnClosing
-
-```python
-def add_OnClosing(value: Callable[[], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[], None]
- Underlying .Net type is Action
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnClosing
-
-```python
-def remove_OnClosing(value: Callable[[], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[], None]
- Underlying .Net type is Action
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnClosed
-
-```python
-def add_OnClosed(value: Callable[[], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[], None]
- Underlying .Net type is Action
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnClosed
-
-```python
-def remove_OnClosed(value: Callable[[], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[], None]
- Underlying .Net type is Action
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Kafka.AutoOffsetReset
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Kafka.KafkaProducerConfiguration
-
-
-
-## KafkaProducerConfiguration Objects
-
-```python
-class KafkaProducerConfiguration(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type KafkaProducerConfiguration
-
-Returns
-----------
-
-KafkaProducerConfiguration:
- Instance wrapping the .net type KafkaProducerConfiguration
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type KafkaProducerConfiguration
-
-Returns
-----------
-
-KafkaProducerConfiguration:
- Instance wrapping the .net type KafkaProducerConfiguration
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(brokerList: str, properties: c_void_p = None) -> c_void_p
-```
-
-Parameters
-----------
-
-brokerList: str
- Underlying .Net type is string
-
-properties: c_void_p
- (Optional) GC Handle Pointer to .Net type IDictionary. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type KafkaProducerConfiguration
-
-
-
-#### get\_BrokerList
-
-```python
-def get_BrokerList() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_MaxMessageSize
-
-```python
-def get_MaxMessageSize() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_MaxKeySize
-
-```python
-def get_MaxKeySize() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Properties
-
-```python
-def get_Properties() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IDictionary
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumer
-
-
-
-## TelemetryKafkaConsumer Objects
-
-```python
-class TelemetryKafkaConsumer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaConsumer
-
-Returns
-----------
-
-TelemetryKafkaConsumer:
- Instance wrapping the .net type TelemetryKafkaConsumer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaConsumer
-
-Returns
-----------
-
-TelemetryKafkaConsumer:
- Instance wrapping the .net type TelemetryKafkaConsumer
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(telemetryKafkaConsumerConfiguration: c_void_p,
- topic: str) -> c_void_p
-```
-
-Parameters
-----------
-
-telemetryKafkaConsumerConfiguration: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaConsumerConfiguration
-
-topic: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TelemetryKafkaConsumer
-
-
-
-#### add\_OnReceiveException
-
-```python
-def add_OnReceiveException(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnReceiveException
-
-```python
-def remove_OnReceiveException(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnStreamsRevoked
-
-```python
-def add_OnStreamsRevoked(value: Callable[[c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], None]
- Underlying .Net type is Action
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnStreamsRevoked
-
-```python
-def remove_OnStreamsRevoked(value: Callable[[c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p], None]
- Underlying .Net type is Action
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnRevoking
-
-```python
-def add_OnRevoking(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnRevoking
-
-```python
-def remove_OnRevoking(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnCommitted
-
-```python
-def add_OnCommitted(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnCommitted
-
-```python
-def remove_OnCommitted(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### add\_OnCommitting
-
-```python
-def add_OnCommitting(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnCommitting
-
-```python
-def remove_OnCommitting(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Start
-
-```python
-def Start() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### ForEach
-
-```python
-def ForEach(streamPipelineFactoryHandler: Callable[[str], c_void_p]) -> None
-```
-
-Parameters
-----------
-
-streamPipelineFactoryHandler: Callable[[str], c_void_p]
- Underlying .Net type is Func
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Stop
-
-```python
-def Stop() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Commit
-
-```python
-def Commit() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaConsumerConfiguration
-
-
-
-## TelemetryKafkaConsumerConfiguration Objects
-
-```python
-class TelemetryKafkaConsumerConfiguration(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaConsumerConfiguration
-
-Returns
-----------
-
-TelemetryKafkaConsumerConfiguration:
- Instance wrapping the .net type TelemetryKafkaConsumerConfiguration
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaConsumerConfiguration
-
-Returns
-----------
-
-TelemetryKafkaConsumerConfiguration:
- Instance wrapping the .net type TelemetryKafkaConsumerConfiguration
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(brokerList: str,
- consumerGroupId: str = None,
- properties: c_void_p = None) -> c_void_p
-```
-
-Parameters
-----------
-
-brokerList: str
- Underlying .Net type is string
-
-consumerGroupId: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-properties: c_void_p
- (Optional) GC Handle Pointer to .Net type IDictionary. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TelemetryKafkaConsumerConfiguration
-
-
-
-#### get\_BrokerList
-
-```python
-def get_BrokerList() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_ConsumerGroupId
-
-```python
-def get_ConsumerGroupId() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_CommitOptions
-
-```python
-def get_CommitOptions() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type CommitOptions
-
-
-
-#### set\_CommitOptions
-
-```python
-def set_CommitOptions(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type CommitOptions
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Properties
-
-```python
-def get_Properties() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IDictionary
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Kafka.TelemetryKafkaProducer
-
-
-
-## TelemetryKafkaProducer Objects
-
-```python
-class TelemetryKafkaProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaProducer
-
-Returns
-----------
-
-TelemetryKafkaProducer:
- Instance wrapping the .net type TelemetryKafkaProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TelemetryKafkaProducer
-
-Returns
-----------
-
-TelemetryKafkaProducer:
- Instance wrapping the .net type TelemetryKafkaProducer
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(producer: c_void_p,
- byteSplitter: c_void_p,
- streamId: str = None) -> c_void_p
-```
-
-Parameters
-----------
-
-producer: c_void_p
- GC Handle Pointer to .Net type IProducer
-
-byteSplitter: c_void_p
- GC Handle Pointer to .Net type IByteSplitter
-
-streamId: str
- (Optional) Underlying .Net type is string. Defaults to None
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TelemetryKafkaProducer
-
-
-
-#### get\_StreamId
-
-```python
-def get_StreamId() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### add\_OnWriteException
-
-```python
-def add_OnWriteException(value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### remove\_OnWriteException
-
-```python
-def remove_OnWriteException(
- value: Callable[[c_void_p, c_void_p], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[c_void_p, c_void_p], None]
- Underlying .Net type is EventHandler
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Dispose
-
-```python
-def Dispose() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_OnStreamPipelineAssigned
-
-```python
-def get_OnStreamPipelineAssigned() -> Callable[[], None]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Callable[[], None]:
- Underlying .Net type is Action
-
-
-
-#### set\_OnStreamPipelineAssigned
-
-```python
-def set_OnStreamPipelineAssigned(value: Callable[[], None]) -> None
-```
-
-Parameters
-----------
-
-value: Callable[[], None]
- Underlying .Net type is Action
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Models.CodecType
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Models.EventDefinition
-
-
-
-## EventDefinition Objects
-
-```python
-class EventDefinition(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDefinition
-
-Returns
-----------
-
-EventDefinition:
- Instance wrapping the .net type EventDefinition
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type EventDefinition
-
-Returns
-----------
-
-EventDefinition:
- Instance wrapping the .net type EventDefinition
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type EventDefinition
-
-
-
-#### get\_Id
-
-```python
-def get_Id() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Id
-
-```python
-def set_Id(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Name
-
-```python
-def get_Name() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Name
-
-```python
-def set_Name(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Description
-
-```python
-def get_Description() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Description
-
-```python
-def set_Description(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CustomProperties
-
-```python
-def get_CustomProperties() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_CustomProperties
-
-```python
-def set_CustomProperties(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Level
-
-```python
-def get_Level() -> EventLevel
-```
-
-Parameters
-----------
-
-Returns
--------
-
-EventLevel:
- Underlying .Net type is EventLevel
-
-
-
-#### set\_Level
-
-```python
-def set_Level(value: EventLevel) -> None
-```
-
-Parameters
-----------
-
-value: EventLevel
- Underlying .Net type is EventLevel
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Models.EventLevel
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Models.ParameterDefinition
-
-
-
-## ParameterDefinition Objects
-
-```python
-class ParameterDefinition(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterDefinition
-
-Returns
-----------
-
-ParameterDefinition:
- Instance wrapping the .net type ParameterDefinition
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type ParameterDefinition
-
-Returns
-----------
-
-ParameterDefinition:
- Instance wrapping the .net type ParameterDefinition
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type ParameterDefinition
-
-
-
-#### get\_Id
-
-```python
-def get_Id() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Id
-
-```python
-def set_Id(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Name
-
-```python
-def get_Name() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Name
-
-```python
-def set_Name(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Description
-
-```python
-def get_Description() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Description
-
-```python
-def set_Description(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_MinimumValue
-
-```python
-def get_MinimumValue() -> Optional[float]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[float]:
- Underlying .Net type is double?
-
-
-
-#### set\_MinimumValue
-
-```python
-def set_MinimumValue(value: Optional[float]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[float]
- Underlying .Net type is double?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_MaximumValue
-
-```python
-def get_MaximumValue() -> Optional[float]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[float]:
- Underlying .Net type is double?
-
-
-
-#### set\_MaximumValue
-
-```python
-def set_MaximumValue(value: Optional[float]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[float]
- Underlying .Net type is double?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Unit
-
-```python
-def get_Unit() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Unit
-
-```python
-def set_Unit(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Format
-
-```python
-def get_Format() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_Format
-
-```python
-def set_Format(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CustomProperties
-
-```python
-def get_CustomProperties() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### set\_CustomProperties
-
-```python
-def set_CustomProperties(value: str) -> None
-```
-
-Parameters
-----------
-
-value: str
- Underlying .Net type is string
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamEndType
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Models.StreamPackage
-
-
-
-## StreamPackage Objects
-
-```python
-class StreamPackage(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamPackage
-
-Returns
-----------
-
-StreamPackage:
- Instance wrapping the .net type StreamPackage
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type StreamPackage
-
-Returns
-----------
-
-StreamPackage:
- Instance wrapping the .net type StreamPackage
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(type: c_void_p, value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-type: c_void_p
- GC Handle Pointer to .Net type Type
-
-value: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type StreamPackage
-
-
-
-#### get\_Type
-
-```python
-def get_Type() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
-
-
-
-#### set\_Type
-
-```python
-def set_Type(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Type
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TransportContext
-
-```python
-def get_TransportContext() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TransportContext
-
-
-
-#### set\_TransportContext
-
-```python
-def set_TransportContext(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type TransportContext
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Value
-
-```python
-def get_Value() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
-
-
-
-#### set\_Value
-
-```python
-def set_Value(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### ToJson
-
-```python
-def ToJson() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.QuixStreamsTelemetry.Models.TimeseriesDataRaw
-
-
-
-## TimeseriesDataRaw Objects
-
-```python
-class TimeseriesDataRaw(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-Returns
-----------
-
-TimeseriesDataRaw:
- Instance wrapping the .net type TimeseriesDataRaw
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-Returns
-----------
-
-TimeseriesDataRaw:
- Instance wrapping the .net type TimeseriesDataRaw
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2(epoch: int, timestamps: c_void_p, numericValues: c_void_p,
- stringValues: c_void_p, binaryValues: c_void_p,
- tagValues: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-epoch: int
- Underlying .Net type is long
-
-timestamps: c_void_p
- GC Handle Pointer to .Net type long[]
-
-numericValues: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-stringValues: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-binaryValues: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-tagValues: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeseriesDataRaw
-
-
-
-#### ToJson
-
-```python
-def ToJson() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_Epoch
-
-```python
-def get_Epoch() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### set\_Epoch
-
-```python
-def set_Epoch(value: int) -> None
-```
-
-Parameters
-----------
-
-value: int
- Underlying .Net type is long
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Timestamps
-
-```python
-def get_Timestamps() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type long[]
-
-
-
-#### set\_Timestamps
-
-```python
-def set_Timestamps(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type long[]
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_NumericValues
-
-```python
-def get_NumericValues() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### set\_NumericValues
-
-```python
-def set_NumericValues(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_StringValues
-
-```python
-def get_StringValues() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### set\_StringValues
-
-```python
-def set_StringValues(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_BinaryValues
-
-```python
-def get_BinaryValues() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### set\_BinaryValues
-
-```python
-def set_BinaryValues(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_TagValues
-
-```python
-def get_TagValues() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Dictionary
-
-
-
-#### set\_TagValues
-
-```python
-def set_TagValues(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Dictionary
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsTransport.Fw.CommitOptions
-
-
-
-## CommitOptions Objects
-
-```python
-class CommitOptions(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type CommitOptions
-
-Returns
-----------
-
-CommitOptions:
- Instance wrapping the .net type CommitOptions
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type CommitOptions
-
-Returns
-----------
-
-CommitOptions:
- Instance wrapping the .net type CommitOptions
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type CommitOptions
-
-
-
-#### get\_AutoCommitEnabled
-
-```python
-def get_AutoCommitEnabled() -> bool
-```
-
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### set\_AutoCommitEnabled
-
-```python
-def set_AutoCommitEnabled(value: bool) -> None
-```
-
-Parameters
-----------
-
-value: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CommitInterval
-
-```python
-def get_CommitInterval() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is int?
-
-
-
-#### set\_CommitInterval
-
-```python
-def set_CommitInterval(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is int?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_CommitEvery
-
-```python
-def get_CommitEvery() -> Optional[int]
-```
-
-Parameters
-----------
-
-Returns
--------
-
-Optional[int]:
- Underlying .Net type is int?
-
-
-
-#### set\_CommitEvery
-
-```python
-def set_CommitEvery(value: Optional[int]) -> None
-```
-
-Parameters
-----------
-
-value: Optional[int]
- Underlying .Net type is int?
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.QuixStreamsTransport.Fw.IByteSplitter
-
-
-
-## IByteSplitter Objects
-
-```python
-class IByteSplitter(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IByteSplitter
-
-Returns
-----------
-
-IByteSplitter:
- Instance wrapping the .net type IByteSplitter
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IByteSplitter
-
-Returns
-----------
-
-IByteSplitter:
- Instance wrapping the .net type IByteSplitter
-
-
-
-#### Split
-
-```python
-def Split(msgBytes: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-msgBytes: c_void_p
- GC Handle Pointer to .Net type byte[]
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type IEnumerable
-
-
-
-# quixstreams.native.Python.QuixStreamsTransport.IO.IProducer
-
-
-
-## IProducer Objects
-
-```python
-class IProducer(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IProducer
-
-Returns
-----------
-
-IProducer:
- Instance wrapping the .net type IProducer
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IProducer
-
-Returns
-----------
-
-IProducer:
- Instance wrapping the .net type IProducer
-
-
-
-# quixstreams.native.Python.QuixStreamsTransport.IO.TransportContext
-
-
-
-## TransportContext Objects
-
-```python
-class TransportContext(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TransportContext
-
-Returns
-----------
-
-TransportContext:
- Instance wrapping the .net type TransportContext
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type TransportContext
-
-Returns
-----------
-
-TransportContext:
- Instance wrapping the .net type TransportContext
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(dictionary: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-dictionary: c_void_p
- GC Handle Pointer to .Net type IDictionary
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TransportContext
-
-
-
-#### Constructor2
-
-```python
-@staticmethod
-def Constructor2() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TransportContext
-
-
-
-# quixstreams.native.Python.QuixStreamsTransport.QuixStreams.Logging
-
-
-
-## Logging Objects
-
-```python
-class Logging(object)
-```
-
-
-
-#### UpdateFactory
-
-```python
-@staticmethod
-def UpdateFactory(logLevel: LogLevel) -> None
-```
-
-Parameters
-----------
-
-logLevel: LogLevel
- Underlying .Net type is LogLevel
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.SystemNetHttp.HttpClient
-
-
-
-## HttpClient Objects
-
-```python
-class HttpClient(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type HttpClient
-
-Returns
-----------
-
-HttpClient:
- Instance wrapping the .net type HttpClient
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type HttpClient
-
-Returns
-----------
-
-HttpClient:
- Instance wrapping the .net type HttpClient
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type HttpClient
-
-
-
-#### get\_BaseAddress
-
-```python
-def get_BaseAddress() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Uri
-
-
-
-#### set\_BaseAddress
-
-```python
-def set_BaseAddress(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Uri
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_Timeout
-
-```python
-def get_Timeout() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
-
-
-
-#### set\_Timeout
-
-```python
-def set_Timeout(value: c_void_p) -> None
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### get\_MaxResponseContentBufferSize
-
-```python
-def get_MaxResponseContentBufferSize() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### set\_MaxResponseContentBufferSize
-
-```python
-def set_MaxResponseContentBufferSize(value: int) -> None
-```
-
-Parameters
-----------
-
-value: int
- Underlying .Net type is long
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### CancelPendingRequests
-
-```python
-def CancelPendingRequests() -> None
-```
-
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-# quixstreams.native.Python.SystemNetPrimitives.System.Net.HttpStatusCode
-
-
-
-# quixstreams.native.Python.SystemObjectModel.System.Collections.Specialized.NotifyCollectionChangedEventArgs
-
-
-
-## NotifyCollectionChangedEventArgs Objects
-
-```python
-class NotifyCollectionChangedEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type NotifyCollectionChangedEventArgs
-
-Returns
-----------
-
-NotifyCollectionChangedEventArgs:
-Instance wrapping the .net type NotifyCollectionChangedEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type NotifyCollectionChangedEventArgs
-
-Returns
-----------
-
-NotifyCollectionChangedEventArgs:
-Instance wrapping the .net type NotifyCollectionChangedEventArgs
-
-
-
-#### get\_NewStartingIndex
-
-```python
-def get_NewStartingIndex() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_OldStartingIndex
-
-```python
-def get_OldStartingIndex() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-# quixstreams.native.Python.SystemObjectModel.System.ComponentModel.PropertyChangedEventArgs
-
-
-
-## PropertyChangedEventArgs Objects
-
-```python
-class PropertyChangedEventArgs(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type PropertyChangedEventArgs
-
-Returns
-----------
-
-PropertyChangedEventArgs:
-Instance wrapping the .net type PropertyChangedEventArgs
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
-GC Handle Pointer to .Net type PropertyChangedEventArgs
-
-Returns
-----------
-
-PropertyChangedEventArgs:
-Instance wrapping the .net type PropertyChangedEventArgs
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(propertyName: str) -> c_void_p
-```
-
-Parameters
-----------
-
-propertyName: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type PropertyChangedEventArgs
-
-
-
-#### get\_PropertyName
-
-```python
-def get_PropertyName() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.SystemPrivateCoreLib.System.DateTime
-
-
-
-## DateTime Objects
-
-```python
-class DateTime(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
-----------
-
-DateTime:
- Instance wrapping the .net type DateTime
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
-----------
-
-DateTime:
- Instance wrapping the .net type DateTime
-
-
-
-#### Constructor
-
-```python
-@staticmethod
-def Constructor(ticks: int) -> c_void_p
-```
-
-Parameters
-----------
-
-ticks: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Constructor5
-
-```python
-@staticmethod
-def Constructor5(year: int, month: int, day: int) -> c_void_p
-```
-
-Parameters
-----------
-
-year: int
- Underlying .Net type is int
-
-month: int
- Underlying .Net type is int
-
-day: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Constructor8
-
-```python
-@staticmethod
-def Constructor8(year: int, month: int, day: int, hour: int, minute: int,
- second: int) -> c_void_p
-```
-
-Parameters
-----------
-
-year: int
- Underlying .Net type is int
-
-month: int
- Underlying .Net type is int
-
-day: int
- Underlying .Net type is int
-
-hour: int
- Underlying .Net type is int
-
-minute: int
- Underlying .Net type is int
-
-second: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Constructor11
-
-```python
-@staticmethod
-def Constructor11(year: int, month: int, day: int, hour: int, minute: int,
- second: int, millisecond: int) -> c_void_p
-```
-
-Parameters
-----------
-
-year: int
- Underlying .Net type is int
-
-month: int
- Underlying .Net type is int
-
-day: int
- Underlying .Net type is int
-
-hour: int
- Underlying .Net type is int
-
-minute: int
- Underlying .Net type is int
-
-second: int
- Underlying .Net type is int
-
-millisecond: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Constructor14
-
-```python
-@staticmethod
-def Constructor14(year: int, month: int, day: int, hour: int, minute: int,
- second: int, millisecond: int, microsecond: int) -> c_void_p
-```
-
-Parameters
-----------
-
-year: int
- Underlying .Net type is int
-
-month: int
- Underlying .Net type is int
-
-day: int
- Underlying .Net type is int
-
-hour: int
- Underlying .Net type is int
-
-minute: int
- Underlying .Net type is int
-
-second: int
- Underlying .Net type is int
-
-millisecond: int
- Underlying .Net type is int
-
-microsecond: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Add
-
-```python
-def Add(value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddDays
-
-```python
-def AddDays(value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddHours
-
-```python
-def AddHours(value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddMilliseconds
-
-```python
-def AddMilliseconds(value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddMicroseconds
-
-```python
-def AddMicroseconds(value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddMinutes
-
-```python
-def AddMinutes(value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddMonths
-
-```python
-def AddMonths(months: int) -> c_void_p
-```
-
-Parameters
-----------
-
-months: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddSeconds
-
-```python
-def AddSeconds(value: float) -> c_void_p
-```
-
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddTicks
-
-```python
-def AddTicks(value: int) -> c_void_p
-```
-
-Parameters
-----------
-
-value: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### AddYears
-
-```python
-def AddYears(value: int) -> c_void_p
-```
-
-Parameters
-----------
-
-value: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Compare
-
-```python
-@staticmethod
-def Compare(t1: c_void_p, t2: c_void_p) -> int
-```
-
-Parameters
-----------
-
-t1: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-t2: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### CompareTo
-
-```python
-def CompareTo(value: c_void_p) -> int
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### CompareTo2
-
-```python
-def CompareTo2(value: c_void_p) -> int
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### DaysInMonth
-
-```python
-@staticmethod
-def DaysInMonth(year: int, month: int) -> int
-```
-
-Parameters
-----------
-
-year: int
- Underlying .Net type is int
-
-month: int
- Underlying .Net type is int
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### Equals
-
-```python
-def Equals(value: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### Equals2
-
-```python
-def Equals2(value: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### Equals3
-
-```python
-@staticmethod
-def Equals3(t1: c_void_p, t2: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-t1: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-t2: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### FromBinary
-
-```python
-@staticmethod
-def FromBinary(dateData: int) -> c_void_p
-```
-
-Parameters
-----------
-
-dateData: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### FromFileTime
-
-```python
-@staticmethod
-def FromFileTime(fileTime: int) -> c_void_p
-```
-
-Parameters
-----------
-
-fileTime: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### FromFileTimeUtc
-
-```python
-@staticmethod
-def FromFileTimeUtc(fileTime: int) -> c_void_p
-```
-
-Parameters
-----------
-
-fileTime: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### FromOADate
-
-```python
-@staticmethod
-def FromOADate(d: float) -> c_void_p
-```
-
-Parameters
-----------
-
-d: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### IsDaylightSavingTime
-
-```python
-def IsDaylightSavingTime() -> bool
-```
-
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### ToBinary
-
-```python
-def ToBinary() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### get\_Date
-
-```python
-def get_Date() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### get\_Day
-
-```python
-def get_Day() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_DayOfYear
-
-```python
-def get_DayOfYear() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### GetHashCode
-
-```python
-def GetHashCode() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Hour
-
-```python
-def get_Hour() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Millisecond
-
-```python
-def get_Millisecond() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Microsecond
-
-```python
-def get_Microsecond() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Nanosecond
-
-```python
-def get_Nanosecond() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Minute
-
-```python
-def get_Minute() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Month
-
-```python
-def get_Month() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Now
-
-```python
-@staticmethod
-def get_Now() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### get\_Second
-
-```python
-def get_Second() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### get\_Ticks
-
-```python
-def get_Ticks() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### get\_TimeOfDay
-
-```python
-def get_TimeOfDay() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
-
-
-
-#### get\_Today
-
-```python
-@staticmethod
-def get_Today() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### get\_Year
-
-```python
-def get_Year() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
-
-
-
-#### IsLeapYear
-
-```python
-@staticmethod
-def IsLeapYear(year: int) -> bool
-```
-
-Parameters
-----------
-
-year: int
- Underlying .Net type is int
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### Parse
-
-```python
-@staticmethod
-def Parse(s: str) -> c_void_p
-```
-
-Parameters
-----------
-
-s: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Parse2
-
-```python
-@staticmethod
-def Parse2(s: str, provider: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-s: str
- Underlying .Net type is string
-
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### ParseExact
-
-```python
-@staticmethod
-def ParseExact(s: str, format: str, provider: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-s: str
- Underlying .Net type is string
-
-format: str
- Underlying .Net type is string
-
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### Subtract
-
-```python
-def Subtract(value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
-
-
-
-#### Subtract2
-
-```python
-def Subtract2(value: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### ToOADate
-
-```python
-def ToOADate() -> float
-```
-
-Parameters
-----------
-
-Returns
--------
-
-float:
- Underlying .Net type is double
-
-
-
-#### ToFileTime
-
-```python
-def ToFileTime() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### ToFileTimeUtc
-
-```python
-def ToFileTimeUtc() -> int
-```
-
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
-
-
-
-#### ToLocalTime
-
-```python
-def ToLocalTime() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### ToLongDateString
-
-```python
-def ToLongDateString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToLongTimeString
-
-```python
-def ToLongTimeString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToShortDateString
-
-```python
-def ToShortDateString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToShortTimeString
-
-```python
-def ToShortTimeString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToString
-
-```python
-def ToString() -> str
-```
-
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToString2
-
-```python
-def ToString2(format: str) -> str
-```
-
-Parameters
-----------
-
-format: str
- Underlying .Net type is string
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToString3
-
-```python
-def ToString3(provider: c_void_p) -> str
-```
-
-Parameters
-----------
-
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToString4
-
-```python
-def ToString4(format: str, provider: c_void_p) -> str
-```
-
-Parameters
-----------
-
-format: str
- Underlying .Net type is string
-
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### ToUniversalTime
-
-```python
-def ToUniversalTime() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### TryParse
-
-```python
-@staticmethod
-def TryParse(s: str, result: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-s: str
- Underlying .Net type is string
-
-result: c_void_p
- GC Handle Pointer to .Net type DateTime&
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### op\_Equality
-
-```python
-@staticmethod
-def op_Equality(d1: c_void_p, d2: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-d1: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-d2: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### op\_Inequality
-
-```python
-@staticmethod
-def op_Inequality(d1: c_void_p, d2: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-d1: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-d2: c_void_p
- GC Handle Pointer to .Net type DateTime
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### Deconstruct2
-
-```python
-def Deconstruct2(year: c_void_p, month: c_void_p, day: c_void_p) -> None
-```
-
-Parameters
-----------
-
-year: c_void_p
- GC Handle Pointer to .Net type Int32&
-
-month: c_void_p
- GC Handle Pointer to .Net type Int32&
-
-day: c_void_p
- GC Handle Pointer to .Net type Int32&
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### GetDateTimeFormats
-
-```python
-def GetDateTimeFormats() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type string[]
-
-
-
-#### GetDateTimeFormats2
-
-```python
-def GetDateTimeFormats2(provider: c_void_p) -> c_void_p
-```
-
-Parameters
-----------
-
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type string[]
-
-
-
-#### GetTypeCode
-
-```python
-def GetTypeCode() -> TypeCode
-```
-
-Parameters
-----------
-
-Returns
--------
-
-TypeCode:
- Underlying .Net type is TypeCode
-
-
-
-#### TryParse5
-
-```python
-@staticmethod
-def TryParse5(s: str, provider: c_void_p, result: c_void_p) -> bool
-```
-
-Parameters
-----------
-
-s: str
- Underlying .Net type is string
+ * [parameters](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.parameters)
+ * [tags](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.tags)
+ * [timestamp\_nanoseconds](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp_nanoseconds)
+ * [timestamp\_milliseconds](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp_milliseconds)
+ * [timestamp](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp)
+ * [timestamp\_as\_time\_span](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.timestamp_as_time_span)
+ * [add\_value](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.add_value)
+ * [remove\_value](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.remove_value)
+ * [add\_tag](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.add_tag)
+ * [remove\_tag](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.remove_tag)
+ * [add\_tags](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.add_tags)
+ * [get\_net\_pointer](#quixstreams.models.timeseriesdatatimestamp.TimeseriesDataTimestamp.get_net_pointer)
+* [quixstreams.models.streamendtype](#quixstreams.models.streamendtype)
+* [quixstreams.models.eventdata](#quixstreams.models.eventdata)
+ * [EventData](#quixstreams.models.eventdata.EventData)
+ * [\_\_init\_\_](#quixstreams.models.eventdata.EventData.__init__)
+ * [id](#quixstreams.models.eventdata.EventData.id)
+ * [id](#quixstreams.models.eventdata.EventData.id)
+ * [value](#quixstreams.models.eventdata.EventData.value)
+ * [value](#quixstreams.models.eventdata.EventData.value)
+ * [tags](#quixstreams.models.eventdata.EventData.tags)
+ * [timestamp\_nanoseconds](#quixstreams.models.eventdata.EventData.timestamp_nanoseconds)
+ * [timestamp\_milliseconds](#quixstreams.models.eventdata.EventData.timestamp_milliseconds)
+ * [timestamp](#quixstreams.models.eventdata.EventData.timestamp)
+ * [timestamp\_as\_time\_span](#quixstreams.models.eventdata.EventData.timestamp_as_time_span)
+ * [clone](#quixstreams.models.eventdata.EventData.clone)
+ * [add\_tag](#quixstreams.models.eventdata.EventData.add_tag)
+ * [add\_tags](#quixstreams.models.eventdata.EventData.add_tags)
+ * [remove\_tag](#quixstreams.models.eventdata.EventData.remove_tag)
+ * [get\_net\_pointer](#quixstreams.models.eventdata.EventData.get_net_pointer)
+* [quixstreams.models](#quixstreams.models)
+* [quixstreams.models.autooffsetreset](#quixstreams.models.autooffsetreset)
+ * [AutoOffsetReset](#quixstreams.models.autooffsetreset.AutoOffsetReset)
+ * [Latest](#quixstreams.models.autooffsetreset.AutoOffsetReset.Latest)
+ * [Earliest](#quixstreams.models.autooffsetreset.AutoOffsetReset.Earliest)
+ * [Error](#quixstreams.models.autooffsetreset.AutoOffsetReset.Error)
+* [quixstreams.app](#quixstreams.app)
+ * [CancellationTokenSource](#quixstreams.app.CancellationTokenSource)
+ * [\_\_init\_\_](#quixstreams.app.CancellationTokenSource.__init__)
+ * [is\_cancellation\_requested](#quixstreams.app.CancellationTokenSource.is_cancellation_requested)
+ * [cancel](#quixstreams.app.CancellationTokenSource.cancel)
+ * [token](#quixstreams.app.CancellationTokenSource.token)
+ * [get\_net\_pointer](#quixstreams.app.CancellationTokenSource.get_net_pointer)
+ * [App](#quixstreams.app.App)
+ * [run](#quixstreams.app.App.run)
+ * [get\_state\_manager](#quixstreams.app.App.get_state_manager)
+ * [set\_state\_storage](#quixstreams.app.App.set_state_storage)
+* [quixstreams.states.topicstatemanager](#quixstreams.states.topicstatemanager)
+ * [TopicStateManager](#quixstreams.states.topicstatemanager.TopicStateManager)
+ * [\_\_init\_\_](#quixstreams.states.topicstatemanager.TopicStateManager.__init__)
+ * [get\_stream\_states](#quixstreams.states.topicstatemanager.TopicStateManager.get_stream_states)
+ * [get\_stream\_state\_manager](#quixstreams.states.topicstatemanager.TopicStateManager.get_stream_state_manager)
+ * [delete\_stream\_state](#quixstreams.states.topicstatemanager.TopicStateManager.delete_stream_state)
+ * [delete\_stream\_states](#quixstreams.states.topicstatemanager.TopicStateManager.delete_stream_states)
+* [quixstreams.states.streamstatemanager](#quixstreams.states.streamstatemanager)
+ * [StreamStateManager](#quixstreams.states.streamstatemanager.StreamStateManager)
+ * [\_\_init\_\_](#quixstreams.states.streamstatemanager.StreamStateManager.__init__)
+ * [get\_dict\_state](#quixstreams.states.streamstatemanager.StreamStateManager.get_dict_state)
+ * [get\_states](#quixstreams.states.streamstatemanager.StreamStateManager.get_states)
+ * [delete\_state](#quixstreams.states.streamstatemanager.StreamStateManager.delete_state)
+ * [delete\_states](#quixstreams.states.streamstatemanager.StreamStateManager.delete_states)
+* [quixstreams.states.streamstate](#quixstreams.states.streamstate)
+ * [StreamState](#quixstreams.states.streamstate.StreamState)
+ * [\_\_init\_\_](#quixstreams.states.streamstate.StreamState.__init__)
+ * [type](#quixstreams.states.streamstate.StreamState.type)
+ * [on\_flushed](#quixstreams.states.streamstate.StreamState.on_flushed)
+ * [on\_flushed](#quixstreams.states.streamstate.StreamState.on_flushed)
+ * [on\_flushing](#quixstreams.states.streamstate.StreamState.on_flushing)
+ * [on\_flushing](#quixstreams.states.streamstate.StreamState.on_flushing)
+ * [flush](#quixstreams.states.streamstate.StreamState.flush)
+ * [reset](#quixstreams.states.streamstate.StreamState.reset)
+* [quixstreams.states](#quixstreams.states)
+* [quixstreams.states.appstatemanager](#quixstreams.states.appstatemanager)
+ * [AppStateManager](#quixstreams.states.appstatemanager.AppStateManager)
+ * [\_\_init\_\_](#quixstreams.states.appstatemanager.AppStateManager.__init__)
+ * [get\_topic\_states](#quixstreams.states.appstatemanager.AppStateManager.get_topic_states)
+ * [get\_topic\_state\_manager](#quixstreams.states.appstatemanager.AppStateManager.get_topic_state_manager)
+ * [delete\_topic\_state](#quixstreams.states.appstatemanager.AppStateManager.delete_topic_state)
+ * [delete\_topic\_states](#quixstreams.states.appstatemanager.AppStateManager.delete_topic_states)
+* [quixstreams.topicconsumer](#quixstreams.topicconsumer)
+ * [TopicConsumer](#quixstreams.topicconsumer.TopicConsumer)
+ * [\_\_init\_\_](#quixstreams.topicconsumer.TopicConsumer.__init__)
+ * [on\_stream\_received](#quixstreams.topicconsumer.TopicConsumer.on_stream_received)
+ * [on\_stream\_received](#quixstreams.topicconsumer.TopicConsumer.on_stream_received)
+ * [on\_streams\_revoked](#quixstreams.topicconsumer.TopicConsumer.on_streams_revoked)
+ * [on\_streams\_revoked](#quixstreams.topicconsumer.TopicConsumer.on_streams_revoked)
+ * [on\_revoking](#quixstreams.topicconsumer.TopicConsumer.on_revoking)
+ * [on\_revoking](#quixstreams.topicconsumer.TopicConsumer.on_revoking)
+ * [on\_committed](#quixstreams.topicconsumer.TopicConsumer.on_committed)
+ * [on\_committed](#quixstreams.topicconsumer.TopicConsumer.on_committed)
+ * [on\_committing](#quixstreams.topicconsumer.TopicConsumer.on_committing)
+ * [on\_committing](#quixstreams.topicconsumer.TopicConsumer.on_committing)
+ * [subscribe](#quixstreams.topicconsumer.TopicConsumer.subscribe)
+ * [commit](#quixstreams.topicconsumer.TopicConsumer.commit)
+ * [get\_net\_pointer](#quixstreams.topicconsumer.TopicConsumer.get_net_pointer)
+* [quixstreams.streamconsumer](#quixstreams.streamconsumer)
+ * [StreamConsumer](#quixstreams.streamconsumer.StreamConsumer)
+ * [\_\_init\_\_](#quixstreams.streamconsumer.StreamConsumer.__init__)
+ * [topic](#quixstreams.streamconsumer.StreamConsumer.topic)
+ * [on\_stream\_closed](#quixstreams.streamconsumer.StreamConsumer.on_stream_closed)
+ * [on\_stream\_closed](#quixstreams.streamconsumer.StreamConsumer.on_stream_closed)
+ * [on\_package\_received](#quixstreams.streamconsumer.StreamConsumer.on_package_received)
+ * [on\_package\_received](#quixstreams.streamconsumer.StreamConsumer.on_package_received)
+ * [stream\_id](#quixstreams.streamconsumer.StreamConsumer.stream_id)
+ * [properties](#quixstreams.streamconsumer.StreamConsumer.properties)
+ * [events](#quixstreams.streamconsumer.StreamConsumer.events)
+ * [timeseries](#quixstreams.streamconsumer.StreamConsumer.timeseries)
+ * [get\_dict\_state](#quixstreams.streamconsumer.StreamConsumer.get_dict_state)
+ * [get\_state\_manager](#quixstreams.streamconsumer.StreamConsumer.get_state_manager)
+ * [get\_net\_pointer](#quixstreams.streamconsumer.StreamConsumer.get_net_pointer)
+* [quixstreams.state.localfilestorage](#quixstreams.state.localfilestorage)
+ * [LocalFileStorage](#quixstreams.state.localfilestorage.LocalFileStorage)
+ * [\_\_init\_\_](#quixstreams.state.localfilestorage.LocalFileStorage.__init__)
+* [quixstreams.state.inmemorystorage](#quixstreams.state.inmemorystorage)
+ * [InMemoryStorage](#quixstreams.state.inmemorystorage.InMemoryStorage)
+ * [\_\_init\_\_](#quixstreams.state.inmemorystorage.InMemoryStorage.__init__)
+* [quixstreams.state.statetype](#quixstreams.state.statetype)
+* [quixstreams.state.statevalue](#quixstreams.state.statevalue)
+ * [StateValue](#quixstreams.state.statevalue.StateValue)
+ * [\_\_init\_\_](#quixstreams.state.statevalue.StateValue.__init__)
+ * [type](#quixstreams.state.statevalue.StateValue.type)
+ * [value](#quixstreams.state.statevalue.StateValue.value)
+ * [get\_net\_pointer](#quixstreams.state.statevalue.StateValue.get_net_pointer)
+* [quixstreams.state.istatestorage](#quixstreams.state.istatestorage)
+ * [IStateStorage](#quixstreams.state.istatestorage.IStateStorage)
+ * [\_\_init\_\_](#quixstreams.state.istatestorage.IStateStorage.__init__)
+ * [is\_case\_sensitive](#quixstreams.state.istatestorage.IStateStorage.is_case_sensitive)
+ * [get\_or\_create\_sub\_storage](#quixstreams.state.istatestorage.IStateStorage.get_or_create_sub_storage)
+ * [delete\_sub\_storages](#quixstreams.state.istatestorage.IStateStorage.delete_sub_storages)
+ * [delete\_sub\_storage](#quixstreams.state.istatestorage.IStateStorage.delete_sub_storage)
+ * [get\_sub\_storages](#quixstreams.state.istatestorage.IStateStorage.get_sub_storages)
+ * [get](#quixstreams.state.istatestorage.IStateStorage.get)
+ * [set](#quixstreams.state.istatestorage.IStateStorage.set)
+ * [contains\_key](#quixstreams.state.istatestorage.IStateStorage.contains_key)
+ * [get\_all\_keys](#quixstreams.state.istatestorage.IStateStorage.get_all_keys)
+ * [remove](#quixstreams.state.istatestorage.IStateStorage.remove)
+ * [clear](#quixstreams.state.istatestorage.IStateStorage.clear)
+* [quixstreams.state](#quixstreams.state)
+* [quixstreams.streamproducer](#quixstreams.streamproducer)
+ * [StreamProducer](#quixstreams.streamproducer.StreamProducer)
+ * [\_\_init\_\_](#quixstreams.streamproducer.StreamProducer.__init__)
+ * [topic](#quixstreams.streamproducer.StreamProducer.topic)
+ * [on\_write\_exception](#quixstreams.streamproducer.StreamProducer.on_write_exception)
+ * [on\_write\_exception](#quixstreams.streamproducer.StreamProducer.on_write_exception)
+ * [stream\_id](#quixstreams.streamproducer.StreamProducer.stream_id)
+ * [epoch](#quixstreams.streamproducer.StreamProducer.epoch)
+ * [epoch](#quixstreams.streamproducer.StreamProducer.epoch)
+ * [properties](#quixstreams.streamproducer.StreamProducer.properties)
+ * [timeseries](#quixstreams.streamproducer.StreamProducer.timeseries)
+ * [events](#quixstreams.streamproducer.StreamProducer.events)
+ * [flush](#quixstreams.streamproducer.StreamProducer.flush)
+ * [close](#quixstreams.streamproducer.StreamProducer.close)
+* [quixstreams.builders.parameterdefinitionbuilder](#quixstreams.builders.parameterdefinitionbuilder)
+ * [ParameterDefinitionBuilder](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder)
+ * [\_\_init\_\_](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.__init__)
+ * [set\_range](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_range)
+ * [set\_unit](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_unit)
+ * [set\_format](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_format)
+ * [set\_custom\_properties](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.set_custom_properties)
+ * [add\_definition](#quixstreams.builders.parameterdefinitionbuilder.ParameterDefinitionBuilder.add_definition)
+* [quixstreams.builders.eventdatabuilder](#quixstreams.builders.eventdatabuilder)
+ * [EventDataBuilder](#quixstreams.builders.eventdatabuilder.EventDataBuilder)
+ * [\_\_init\_\_](#quixstreams.builders.eventdatabuilder.EventDataBuilder.__init__)
+ * [add\_value](#quixstreams.builders.eventdatabuilder.EventDataBuilder.add_value)
+ * [add\_tag](#quixstreams.builders.eventdatabuilder.EventDataBuilder.add_tag)
+ * [add\_tags](#quixstreams.builders.eventdatabuilder.EventDataBuilder.add_tags)
+ * [publish](#quixstreams.builders.eventdatabuilder.EventDataBuilder.publish)
+* [quixstreams.builders.timeseriesdatabuilder](#quixstreams.builders.timeseriesdatabuilder)
+ * [TimeseriesDataBuilder](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder)
+ * [\_\_init\_\_](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.__init__)
+ * [add\_value](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.add_value)
+ * [add\_tag](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.add_tag)
+ * [add\_tags](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.add_tags)
+ * [publish](#quixstreams.builders.timeseriesdatabuilder.TimeseriesDataBuilder.publish)
+* [quixstreams.builders.eventdefinitionbuilder](#quixstreams.builders.eventdefinitionbuilder)
+ * [EventDefinitionBuilder](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder)
+ * [\_\_init\_\_](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.__init__)
+ * [set\_level](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.set_level)
+ * [set\_custom\_properties](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.set_custom_properties)
+ * [add\_definition](#quixstreams.builders.eventdefinitionbuilder.EventDefinitionBuilder.add_definition)
+* [quixstreams.builders](#quixstreams.builders)
+* [quixstreams.kafkastreamingclient](#quixstreams.kafkastreamingclient)
+ * [KafkaStreamingClient](#quixstreams.kafkastreamingclient.KafkaStreamingClient)
+ * [\_\_init\_\_](#quixstreams.kafkastreamingclient.KafkaStreamingClient.__init__)
+ * [get\_topic\_consumer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_topic_consumer)
+ * [get\_topic\_producer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_topic_producer)
+ * [get\_raw\_topic\_consumer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_raw_topic_consumer)
+ * [get\_raw\_topic\_producer](#quixstreams.kafkastreamingclient.KafkaStreamingClient.get_raw_topic_producer)
+* [quixstreams.exceptions.quixapiexception](#quixstreams.exceptions.quixapiexception)
+* [quixstreams.logging](#quixstreams.logging)
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+
-result: c_void_p
- GC Handle Pointer to .Net type DateTime&
+# quixstreams
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.helpers.dotnet.datetimeconverter
-
+
-#### get\_UtcNow
+## DateTimeConverter Objects
```python
-@staticmethod
-def get_UtcNow() -> c_void_p
+class DateTimeConverter()
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
+
-#### get\_MinValue
+#### datetime\_to\_python
```python
@staticmethod
-def get_MinValue() -> c_void_p
+def datetime_to_python(hptr: ctypes.c_void_p) -> datetime.datetime
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-#### get\_MaxValue
+Converts dotnet pointer to DateTime and frees the pointer.
-```python
-@staticmethod
-def get_MaxValue() -> c_void_p
-```
+**Arguments**:
-Parameters
-----------
+- `hptr` - Handler Pointer to .Net type DateTime
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type DateTime
+ datetime.datetime:
+ Python type datetime
-
+
-#### get\_UnixEpoch
+#### datetime\_to\_dotnet
```python
@staticmethod
-def get_UnixEpoch() -> c_void_p
-```
-
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type DateTime
-
-
-
-# quixstreams.native.Python.SystemPrivateCoreLib.System.Enum
-
-
-
-## Enum Objects
-
-```python
-class Enum(object)
-```
-
-
-
-#### \_\_new\_\_
-
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
-
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type Enum
-
-Returns
-----------
-
-Enum:
- Instance wrapping the .net type Enum
-
-
-
-#### \_\_init\_\_
-
-```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
+def datetime_to_dotnet(value: datetime.datetime) -> ctypes.c_void_p
```
-Parameters
-----------
+**Arguments**:
-net_pointer: c_void_p
- GC Handle Pointer to .Net type Enum
+- `value` - Python type datetime
+
-Returns
-----------
+**Returns**:
-Enum:
- Instance wrapping the .net type Enum
+ ctypes.c_void_p:
+ Handler Pointer to .Net type DateTime
-
+
-#### GetName2
+#### timespan\_to\_python
```python
@staticmethod
-def GetName2(enumType: c_void_p, value: c_void_p) -> str
+def timespan_to_python(uptr: ctypes.c_void_p) -> datetime.timedelta
```
-Parameters
-----------
+Converts dotnet pointer to Timespan as binary and frees the pointer.
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+**Arguments**:
-value: c_void_p
- GC Handle Pointer to .Net type Object
+- `uptr` - Pointer to .Net type TimeSpan
+
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+ datetime.timedelta:
+ Python type timedelta
-
+
-#### GetNames
+#### timedelta\_to\_dotnet
```python
@staticmethod
-def GetNames(enumType: c_void_p) -> c_void_p
+def timedelta_to_dotnet(value: datetime.timedelta) -> ctypes.c_void_p
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type string[]
-
-
-
-#### GetUnderlyingType
+**Arguments**:
-```python
-@staticmethod
-def GetUnderlyingType(enumType: c_void_p) -> c_void_p
-```
+- `value` - Python type timedelta
+
-Parameters
-----------
+**Returns**:
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+ ctypes.c_void_p:
+ Pointer to unmanaged memory containing TimeSpan
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Type
+# quixstreams.helpers.timeconverter
-
+
-#### GetValues
+## TimeConverter Objects
```python
-@staticmethod
-def GetValues(enumType: c_void_p) -> c_void_p
+class TimeConverter()
```
-Parameters
-----------
+A utility class for converting between different time representations.
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+
-Returns
--------
+#### offset\_from\_utc
-c_void_p:
- GC Handle Pointer to .Net type Array
+The local time ahead of utc by this amount of nanoseconds
-
+
-#### GetValuesAsUnderlyingType
+#### to\_unix\_nanoseconds
```python
@staticmethod
-def GetValuesAsUnderlyingType(enumType: c_void_p) -> c_void_p
+def to_unix_nanoseconds(value: datetime) -> int
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Array
-
-
-
-#### HasFlag
-
-```python
-def HasFlag(flag: c_void_p) -> bool
-```
+Converts a datetime object to UNIX timestamp in nanoseconds.
-Parameters
-----------
+**Arguments**:
-flag: c_void_p
- GC Handle Pointer to .Net type Enum
+- `value` - The datetime object to be converted.
+
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `int` - The UNIX timestamp in nanoseconds.
-
+
-#### IsDefined2
+#### to\_nanoseconds
```python
@staticmethod
-def IsDefined2(enumType: c_void_p, value: c_void_p) -> bool
+def to_nanoseconds(value: timedelta) -> int
```
-Parameters
-----------
+Converts a timedelta object to nanoseconds.
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+**Arguments**:
-value: c_void_p
- GC Handle Pointer to .Net type Object
+- `value` - The timedelta object to be converted.
+
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `int` - The duration in nanoseconds.
-
+
-#### Parse
+#### from\_nanoseconds
```python
@staticmethod
-def Parse(enumType: c_void_p, value: str) -> c_void_p
+def from_nanoseconds(value: int) -> timedelta
```
-Parameters
-----------
+Converts a duration in nanoseconds to a timedelta object.
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+**Arguments**:
-value: str
- Underlying .Net type is string
+- `value` - The duration in nanoseconds.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Object
+- `timedelta` - The corresponding timedelta object.
-
+
-#### Parse3
+#### from\_unix\_nanoseconds
```python
@staticmethod
-def Parse3(enumType: c_void_p, value: str, ignoreCase: bool) -> c_void_p
+def from_unix_nanoseconds(value: int) -> datetime
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+Converts a UNIX timestamp in nanoseconds to a datetime object.
-value: str
- Underlying .Net type is string
+**Arguments**:
-ignoreCase: bool
- Underlying .Net type is Boolean
+- `value` - The UNIX timestamp in nanoseconds.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Object
+- `datetime` - The corresponding datetime object.
-
+
-#### TryParse
+#### from\_string
```python
@staticmethod
-def TryParse(enumType: c_void_p, value: str, result: c_void_p) -> bool
+def from_string(value: str) -> int
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+Converts a string representation of a timestamp to a UNIX timestamp in nanoseconds.
-value: str
- Underlying .Net type is string
+**Arguments**:
-result: c_void_p
- GC Handle Pointer to .Net type Object&
+- `value` - The string representation of a timestamp.
+
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `int` - The corresponding UNIX timestamp in nanoseconds.
-
+
-#### TryParse3
+# quixstreams.helpers.exceptionconverter
-```python
-@staticmethod
-def TryParse3(enumType: c_void_p, value: str, ignoreCase: bool,
- result: c_void_p) -> bool
-```
+
-Parameters
-----------
+# quixstreams.helpers.nativedecorator
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+
-value: str
- Underlying .Net type is string
+# quixstreams.helpers
-ignoreCase: bool
- Underlying .Net type is Boolean
+
-result: c_void_p
- GC Handle Pointer to .Net type Object&
+# quixstreams.helpers.enumconverter
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.raw.rawtopicproducer
-
+
-#### Equals
+## RawTopicProducer Objects
```python
-def Equals(obj: c_void_p) -> bool
+@nativedecorator
+class RawTopicProducer(object)
```
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type Object
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Class to produce raw messages into a Topic (capable of producing non-quixstreams messages)
-
+
-#### GetHashCode
+#### \_\_init\_\_
```python
-def GetHashCode() -> int
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of the RawTopicProducer class.
-Returns
--------
+**Arguments**:
-int:
- Underlying .Net type is int
+- `net_pointer` - Pointer to an instance of a .NET RawTopicProducer object.
-
+
-#### CompareTo
+#### publish
```python
-def CompareTo(target: c_void_p) -> int
+def publish(message: Union[RawMessage, bytes, bytearray])
```
-Parameters
-----------
+Publishes the given message to the associated topic producer.
+
+**Arguments**:
-target: c_void_p
- GC Handle Pointer to .Net type Object
+- `message` - The message to be published, which can be either
+ a RawMessage instance, bytes, or a bytearray.
-Returns
--------
+
-int:
- Underlying .Net type is int
+# quixstreams.raw.rawtopicconsumer
-
+
-#### ToString
+## RawTopicConsumer Objects
```python
-def ToString() -> str
+@nativedecorator
+class RawTopicConsumer(object)
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Topic class to consume incoming raw messages (capable to consuming non-quixstreams messages).
-
+
-#### ToString2
+#### \_\_init\_\_
```python
-def ToString2(format: str) -> str
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of RawTopicConsumer.
+
+**Notes**:
-format: str
- Underlying .Net type is string
+ Do not initialize this class manually, use KafkaStreamingClient.get_raw_topic_consumer.
+
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `net_pointer` - Pointer to an instance of a .net RawTopicConsumer.
-
+
-#### ToString3
+#### on\_message\_received
```python
-def ToString3(provider: c_void_p) -> str
+@property
+def on_message_received() -> Callable[['RawTopicConsumer', RawMessage], None]
```
-Parameters
-----------
-
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+Gets the handler for when a topic receives a message.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+ Callable[[RawTopicConsumer, RawMessage], None]: The event handler for when a topic receives a message.
+ The first parameter is the RawTopicConsumer instance for which the message is received, and the second is the RawMessage.
-
+
-#### ToString4
+#### on\_message\_received
```python
-def ToString4(format: str, provider: c_void_p) -> str
+@on_message_received.setter
+def on_message_received(
+ value: Callable[['RawTopicConsumer', RawMessage], None]) -> None
```
-Parameters
-----------
-
-format: str
- Underlying .Net type is string
-
-provider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+Sets the handler for when a topic receives a message.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `value` - The new event handler for when a topic receives a message.
+ The first parameter is the RawTopicConsumer instance for which the message is received, and the second is the RawMessage.
-
+
-#### Format
+#### on\_error\_occurred
```python
-@staticmethod
-def Format(enumType: c_void_p, value: c_void_p, format: str) -> str
+@property
+def on_error_occurred() -> Callable[['RawTopicConsumer', BaseException], None]
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
-
-value: c_void_p
- GC Handle Pointer to .Net type Object
-
-format: str
- Underlying .Net type is string
+Gets the handler for when a stream experiences an exception during the asynchronous write process.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+ Callable[[RawTopicConsumer, BaseException], None]: The event handler for when a stream experiences an exception during the asynchronous write process.
+ The first parameter is the RawTopicConsumer instance for which the error is received, and the second is the exception.
-
+
-#### GetTypeCode
+#### on\_error\_occurred
```python
-def GetTypeCode() -> TypeCode
+@on_error_occurred.setter
+def on_error_occurred(
+ value: Callable[['RawTopicConsumer', BaseException], None]) -> None
```
-Parameters
-----------
+Sets the handler for when a stream experiences an exception during the asynchronous write process.
-Returns
--------
+**Arguments**:
-TypeCode:
- Underlying .Net type is TypeCode
+- `value` - The new handler for when a stream experiences an exception during the asynchronous write process.
+ The first parameter is the RawTopicConsumer instance for which the error is received, and the second is the exception.
-
+
-#### ToObject
+#### subscribe
```python
-@staticmethod
-def ToObject(enumType: c_void_p, value: c_void_p) -> c_void_p
+def subscribe()
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
-
-value: c_void_p
- GC Handle Pointer to .Net type Object
+Starts subscribing to the streams.
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Object
+# quixstreams.raw.rawmessage
-
+
-#### ToObject4
+## RawMessage Objects
```python
-@staticmethod
-def ToObject4(enumType: c_void_p, value: int) -> c_void_p
+@nativedecorator
+class RawMessage(object)
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
-
-value: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
+The message consumed from topic without any transformation.
-
+
-#### ToObject5
+#### \_\_init\_\_
```python
-@staticmethod
-def ToObject5(enumType: c_void_p, value: int) -> c_void_p
+def __init__(data: Union[ctypes.c_void_p, bytes, bytearray])
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
-
-value: int
- Underlying .Net type is byte
+Initializes a new instance of RawMessage.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Object
+- `data` - The raw data to be stored in the message. Must be one of ctypes_c.void_p, bytes, or bytearray.
-
+
-#### ToObject8
+#### get\_net\_pointer
```python
-@staticmethod
-def ToObject8(enumType: c_void_p, value: int) -> c_void_p
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-enumType: c_void_p
- GC Handle Pointer to .Net type Type
+Gets the associated .net object pointer of the RawMessage instance.
-value: int
- Underlying .Net type is long
+**Returns**:
-Returns
--------
+- `ctypes.c_void_p` - The .net object pointer of the RawMessage instance.
-c_void_p:
- GC Handle Pointer to .Net type Object
+
-
+#### key
-# quixstreams.native.Python.SystemPrivateCoreLib.System.IFormatProvider
+```python
+@property
+def key() -> bytes
+```
-
+Gets the optional key of the message. Depending on the broker and message, it is not guaranteed.
-## IFormatProvider Objects
+**Returns**:
-```python
-class IFormatProvider(object)
-```
+- `bytes` - The optional key of the message.
-
+
-#### \_\_new\_\_
+#### key
```python
-def __new__(cls, net_pointer: c_void_p)
+@key.setter
+def key(value: Union[bytearray, bytes])
```
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+Sets the message key.
-Returns
-----------
+**Arguments**:
-IFormatProvider:
- Instance wrapping the .net type IFormatProvider
+- `value` - The key to set for the message.
-
+
-#### \_\_init\_\_
+#### value
```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
+@property
+def value()
```
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+Gets the message value (bytes content of the message).
-Returns
-----------
+**Returns**:
-IFormatProvider:
- Instance wrapping the .net type IFormatProvider
+ Union[bytearray, bytes]: The message value (bytes content of the message).
-
+
-#### GetFormat
+#### value
```python
-def GetFormat(formatType: c_void_p) -> c_void_p
+@value.setter
+def value(value: Union[bytearray, bytes])
```
-Parameters
-----------
-
-formatType: c_void_p
- GC Handle Pointer to .Net type Type
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object
+Sets the message value (bytes content of the message).
-
+**Arguments**:
-# quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationToken
+- `value` - The value to set for the message.
-
+
-## CancellationToken Objects
+#### metadata
```python
-class CancellationToken(object)
+@property
+def metadata() -> Dict[str, str]
```
-
+Gets the wrapped message metadata.
-#### \_\_new\_\_
+**Returns**:
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
+ Dict[str, str]: The wrapped message metadata.
-Parameters
-----------
+
-net_pointer: c_void_p
- GC Handle Pointer to .Net type CancellationToken
+# quixstreams.raw
-Returns
-----------
+
-CancellationToken:
- Instance wrapping the .net type CancellationToken
+# quixstreams.configuration.securityoptions
-
+
-#### \_\_init\_\_
+## SecurityOptions Objects
```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
+class SecurityOptions(object)
```
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type CancellationToken
-
-Returns
-----------
-
-CancellationToken:
- Instance wrapping the .net type CancellationToken
+A class representing security options for configuring SSL encryption with SASL authentication in Kafka.
-
+
-#### Constructor
+#### \_\_init\_\_
```python
-@staticmethod
-def Constructor(canceled: bool) -> c_void_p
+def __init__(ssl_certificates: str,
+ username: str,
+ password: str,
+ sasl_mechanism: SaslMechanism = SaslMechanism.ScramSha256)
```
-Parameters
-----------
-
-canceled: bool
- Underlying .Net type is Boolean
+Initializes a new instance of SecurityOptions configured for SSL encryption with SASL authentication.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationToken
+- `ssl_certificates` - The path to the folder or file containing the certificate authority
+ certificate(s) used to validate the SSL connection.
+- `Example` - "./certificates/ca.cert"
+- `username` - The username for SASL authentication.
+- `password` - The password for SASL authentication.
+- `sasl_mechanism` - The SASL mechanism to use. Defaults to ScramSha256.
-
+
-#### get\_None
+#### get\_net\_pointer
```python
-@staticmethod
-def get_None() -> c_void_p
+def get_net_pointer()
```
-Parameters
-----------
+Retrieves the .NET pointer for the current SecurityOptions instance.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationToken
+- `ctypes.c_void_p` - The .NET pointer.
-
+
-#### get\_IsCancellationRequested
+# quixstreams.configuration.saslmechanism
-```python
-def get_IsCancellationRequested() -> bool
-```
+
-Parameters
-----------
+# quixstreams.configuration
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.quixstreamingclient
-
+
-#### get\_CanBeCanceled
+## TokenValidationConfiguration Objects
```python
-def get_CanBeCanceled() -> bool
+@nativedecorator
+class TokenValidationConfiguration(object)
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
+
-#### Equals
+#### \_\_init\_\_
```python
-def Equals(other: c_void_p) -> bool
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
-
-other: c_void_p
- GC Handle Pointer to .Net type CancellationToken
+Initializes a new instance of TokenValidationConfiguration.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `net_pointer` - Pointer to an instance of a .NET TokenValidationConfiguration.
-
+
-#### Equals2
+#### enabled
```python
-def Equals2(other: c_void_p) -> bool
+@property
+def enabled() -> bool
```
-Parameters
-----------
-
-other: c_void_p
- GC Handle Pointer to .Net type Object
+Gets whether token validation and warnings are enabled. Defaults to true.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `bool` - True if token validation and warnings are enabled, False otherwise.
-
+
-#### GetHashCode
+#### enabled
```python
-def GetHashCode() -> int
+@enabled.setter
+def enabled(value: bool)
```
-Parameters
-----------
+Sets whether token validation and warnings are enabled. Defaults to true.
-Returns
--------
+**Arguments**:
-int:
- Underlying .Net type is int
+- `value` - True to enable token validation and warnings, False to disable.
-
+
-#### op\_Equality
+#### warning\_before\_expiry
```python
-@staticmethod
-def op_Equality(left: c_void_p, right: c_void_p) -> bool
+@property
+def warning_before_expiry() -> Union[timedelta, None]
```
-Parameters
-----------
-
-left: c_void_p
- GC Handle Pointer to .Net type CancellationToken
-
-right: c_void_p
- GC Handle Pointer to .Net type CancellationToken
+Gets the period within which, if the token expires, a warning will be displayed. Defaults to 2 days. Set to None to disable the check.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Union[timedelta, None]: The period within which a warning will be displayed if the token expires or None if the check is disabled.
-
+
-#### op\_Inequality
+#### warning\_before\_expiry
```python
-@staticmethod
-def op_Inequality(left: c_void_p, right: c_void_p) -> bool
+@warning_before_expiry.setter
+def warning_before_expiry(value: Union[timedelta, None])
```
-Parameters
-----------
-
-left: c_void_p
- GC Handle Pointer to .Net type CancellationToken
-
-right: c_void_p
- GC Handle Pointer to .Net type CancellationToken
+Sets the period within which, if the token expires, a warning will be displayed. Defaults to 2 days. Set to None to disable the check.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The new period within which a warning will be displayed if the token expires or None to disable the check.
-
+
-#### ThrowIfCancellationRequested
+#### warn\_about\_pat\_token
```python
-def ThrowIfCancellationRequested() -> None
+@property
+def warn_about_pat_token() -> bool
```
-Parameters
-----------
+Gets whether to warn if the provided token is not a PAT token. Defaults to true.
+
+**Returns**:
-Returns
--------
-None:
- Underlying .Net type is void
+- `bool` - True if the warning is enabled, False otherwise.
-
+
-#### ToString
+#### warn\_about\_pat\_token
```python
-def ToString() -> str
+@warn_about_pat_token.setter
+def warn_about_pat_token(value: bool)
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-# quixstreams.native.Python.SystemPrivateCoreLib.System.Threading.CancellationTokenSource
-
-
+Sets whether to warn if the provided token is not a PAT token. Defaults to true.
-## CancellationTokenSource Objects
+**Arguments**:
-```python
-class CancellationTokenSource(object)
-```
+- `value` - True to enable the warning, False to disable.
-
+
-#### \_\_new\_\_
+#### get\_net\_pointer
```python
-def __new__(cls, net_pointer: c_void_p)
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type CancellationTokenSource
+Gets the associated .NET object pointer.
-Returns
-----------
+**Returns**:
-CancellationTokenSource:
- Instance wrapping the .net type CancellationTokenSource
+- `ctypes.c_void_p` - The .NET pointer
-
+
-#### \_\_init\_\_
+## QuixStreamingClient Objects
```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
+class QuixStreamingClient(object)
```
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type CancellationTokenSource
-
-Returns
-----------
-
-CancellationTokenSource:
- Instance wrapping the .net type CancellationTokenSource
+Streaming client for Kafka configured automatically using Environment Variables and Quix platform endpoints.
+Use this Client when you use this library together with Quix platform.
-
+
-#### Constructor
+#### \_\_init\_\_
```python
-@staticmethod
-def Constructor() -> c_void_p
+def __init__(token: str = None,
+ auto_create_topics: bool = True,
+ properties: Dict[str, str] = None,
+ debug: bool = False)
```
-Parameters
-----------
+Initializes a new instance of the QuixStreamingClient capable of creating topic consumers and producers.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationTokenSource
+- `token` - The token to use when talking to Quix. If not provided, the Quix__Sdk__Token environment variable will be used. Defaults to None.
+- `auto_create_topics` - Whether topics should be auto-created if they don't exist yet. Defaults to True.
+- `properties` - Additional broker properties. Defaults to None.
+- `debug` - Whether debugging should be enabled. Defaults to False.
-
+
-#### Constructor2
+#### get\_topic\_consumer
```python
-@staticmethod
-def Constructor2(delay: c_void_p) -> c_void_p
+def get_topic_consumer(
+ topic_id_or_name: str,
+ consumer_group: str = None,
+ commit_settings: Union[CommitOptions, CommitMode] = None,
+ auto_offset_reset: AutoOffsetReset = AutoOffsetReset.Latest
+) -> TopicConsumer
```
-Parameters
-----------
+Opens a topic consumer capable of subscribing to receive incoming streams.
+
+**Arguments**:
-delay: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
+- `consumer_group` - The consumer group ID to use for consuming messages. If None, the consumer group is not used, and only consuming new messages. Defaults to None.
+- `commit_settings` - The settings to use for committing. If not provided, defaults to committing every 5000 messages or 5 seconds, whichever is sooner.
+- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to AutoOffsetReset.Latest.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationTokenSource
+- `TopicConsumer` - An instance of TopicConsumer for the specified topic.
-
+
-#### Constructor3
+#### get\_topic\_producer
```python
-@staticmethod
-def Constructor3(millisecondsDelay: int) -> c_void_p
+def get_topic_producer(topic_id_or_name: str) -> TopicProducer
```
-Parameters
-----------
+Gets a topic producer capable of producing outgoing streams.
+
+**Arguments**:
-millisecondsDelay: int
- Underlying .Net type is int
+- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationTokenSource
+- `TopicProducer` - An instance of TopicProducer for the specified topic.
-
+
-#### get\_IsCancellationRequested
+#### get\_raw\_topic\_consumer
```python
-def get_IsCancellationRequested() -> bool
+def get_raw_topic_consumer(
+ topic_id_or_name: str,
+ consumer_group: str = None,
+ auto_offset_reset: Union[AutoOffsetReset,
+ None] = None) -> RawTopicConsumer
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
-
-
-
-#### get\_Token
+Gets a topic consumer for consuming raw data from the stream.
-```python
-def get_Token() -> c_void_p
-```
+**Arguments**:
-Parameters
-----------
+- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
+- `consumer_group` - The consumer group ID to use for consuming messages. Defaults to None.
+- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to None.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationToken
+- `RawTopicConsumer` - An instance of RawTopicConsumer for the specified topic.
-
+
-#### Cancel
+#### get\_raw\_topic\_producer
```python
-def Cancel() -> None
+def get_raw_topic_producer(topic_id_or_name: str) -> RawTopicProducer
```
-Parameters
-----------
-
-Returns
--------
-None:
- Underlying .Net type is void
-
-
-
-#### Cancel2
+Gets a topic producer for producing raw data to the stream.
-```python
-def Cancel2(throwOnFirstException: bool) -> None
-```
+**Arguments**:
-Parameters
-----------
+- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
+
-throwOnFirstException: bool
- Underlying .Net type is Boolean
+**Returns**:
-Returns
--------
-None:
- Underlying .Net type is void
+- `RawTopicProducer` - An instance of RawTopicProducer for the specified topic.
-
+
-#### CancelAfter
+#### token\_validation\_config
```python
-def CancelAfter(delay: c_void_p) -> None
+@property
+def token_validation_config() -> TokenValidationConfiguration
```
-Parameters
-----------
+Gets the configuration for token validation.
-delay: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+**Returns**:
-Returns
--------
-None:
- Underlying .Net type is void
+- `TokenValidationConfiguration` - The current token validation configuration.
-
+
-#### CancelAfter2
+#### token\_validation\_config
```python
-def CancelAfter2(millisecondsDelay: int) -> None
+@token_validation_config.setter
+def token_validation_config(value: TokenValidationConfiguration)
```
-Parameters
-----------
+Sets the configuration for token validation.
-millisecondsDelay: int
- Underlying .Net type is int
+**Arguments**:
-Returns
--------
-None:
- Underlying .Net type is void
+- `value` - The new token validation configuration.
-
+
-#### TryReset
+#### api\_url
```python
-def TryReset() -> bool
+@property
+def api_url() -> str
```
-Parameters
-----------
+Gets the base API URI. Defaults to https://portal-api.platform.quix.ai, or environment variable Quix__Portal__Api if available.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `str` - The current base API URI.
-
+
-#### Dispose
+#### api\_url
```python
-def Dispose() -> None
+@api_url.setter
+def api_url(value: str)
```
-Parameters
-----------
+Sets the base API URI. Defaults to https://portal-api.platform.quix.ai, or environment variable Quix__Portal__Api if available.
+
+**Arguments**:
-Returns
--------
-None:
- Underlying .Net type is void
+- `value` - The new base API URI.
-
+
-#### CreateLinkedTokenSource
+#### cache\_period
```python
-@staticmethod
-def CreateLinkedTokenSource(token1: c_void_p, token2: c_void_p) -> c_void_p
+@property
+def cache_period() -> timedelta
```
-Parameters
-----------
-
-token1: c_void_p
- GC Handle Pointer to .Net type CancellationToken
-
-token2: c_void_p
- GC Handle Pointer to .Net type CancellationToken
+Gets the period for which some API responses will be cached to avoid an excessive amount of calls. Defaults to 1 minute.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationTokenSource
+- `timedelta` - The current cache period.
-
+
-#### CreateLinkedTokenSource2
+#### cache\_period
```python
-@staticmethod
-def CreateLinkedTokenSource2(token: c_void_p) -> c_void_p
+@cache_period.setter
+def cache_period(value: timedelta)
```
-Parameters
-----------
-
-token: c_void_p
- GC Handle Pointer to .Net type CancellationToken
+Sets the period for which some API responses will be cached to avoid an excessive amount of calls. Defaults to 1 minute.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationTokenSource
+- `value` - The new cache period.
-
+
-#### CreateLinkedTokenSource3
+#### get\_net\_pointer
```python
-@staticmethod
-def CreateLinkedTokenSource3(tokens: c_void_p) -> c_void_p
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-tokens: c_void_p
- GC Handle Pointer to .Net type CancellationToken[]
+Gets the associated .NET object pointer.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type CancellationTokenSource
+- `ctypes.c_void_p` - The .NET pointer
-
+
-# quixstreams.native.Python.SystemPrivateCoreLib.System.TimeSpan
+# quixstreams.topicproducer
-
+
-## TimeSpan Objects
+## TopicProducer Objects
```python
-class TimeSpan(object)
+@nativedecorator
+class TopicProducer(object)
```
-
+Interface to operate with the streaming platform for publishing messages
+
+
#### \_\_init\_\_
```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of TopicProducer.
-net_pointer: c_void_p
- Pointer to .Net type TimeSpan in memory as bytes
+NOTE: Do not initialize this class manually, use KafkaStreamingClient.get_topic_producer to create it.
-Returns
-----------
+**Arguments**:
-TimeSpan:
- Instance wrapping the .net type TimeSpan
+- `net_pointer` - The .net object representing a StreamingClient.
-
+
-#### Constructor
+#### on\_disposed
```python
-@staticmethod
-def Constructor(ticks: int) -> c_void_p
+@property
+def on_disposed() -> Callable[['TopicProducer'], None]
```
-Parameters
-----------
-
-ticks: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
-
-
+Gets the handler for when the topic is disposed.
-#### Constructor2
+**Returns**:
-```python
-@staticmethod
-def Constructor2(hours: int, minutes: int, seconds: int) -> c_void_p
-```
+ Callable[[TopicProducer], None]: The event handler for topic disposal.
+ The first parameter is the TopicProducer instance that got disposed.
-Parameters
-----------
+
-hours: int
- Underlying .Net type is int
+#### on\_disposed
-minutes: int
- Underlying .Net type is int
+```python
+@on_disposed.setter
+def on_disposed(value: Callable[['TopicProducer'], None]) -> None
+```
-seconds: int
- Underlying .Net type is int
+Sets the handler for when the topic is disposed.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `value` - The event handler for topic disposal.
+ The first parameter is the TopicProducer instance that got disposed.
-
+
-#### Constructor3
+#### create\_stream
```python
-@staticmethod
-def Constructor3(days: int, hours: int, minutes: int,
- seconds: int) -> c_void_p
+def create_stream(stream_id: str = None) -> StreamProducer
```
-Parameters
-----------
-
-days: int
- Underlying .Net type is int
-
-hours: int
- Underlying .Net type is int
+Create a new stream and returns the related StreamProducer to operate it.
-minutes: int
- Underlying .Net type is int
+**Arguments**:
-seconds: int
- Underlying .Net type is int
+- `stream_id` - Provide if you wish to overwrite the generated stream id. Useful if you wish
+ to always stream a certain source into the same stream.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `StreamProducer` - The created StreamProducer instance.
-
+
-#### Constructor4
+#### get\_stream
```python
-@staticmethod
-def Constructor4(days: int, hours: int, minutes: int, seconds: int,
- milliseconds: int) -> c_void_p
+def get_stream(stream_id: str) -> StreamProducer
```
-Parameters
-----------
-
-days: int
- Underlying .Net type is int
-
-hours: int
- Underlying .Net type is int
-
-minutes: int
- Underlying .Net type is int
+Retrieves a stream that was previously created by this instance, if the stream is not closed.
-seconds: int
- Underlying .Net type is int
+**Arguments**:
-milliseconds: int
- Underlying .Net type is int
+- `stream_id` - The id of the stream.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `StreamProducer` - The retrieved StreamProducer instance or None if not found.
-
+
-#### Constructor5
+#### get\_or\_create\_stream
```python
-@staticmethod
-def Constructor5(days: int, hours: int, minutes: int, seconds: int,
- milliseconds: int, microseconds: int) -> c_void_p
+def get_or_create_stream(
+ stream_id: str,
+ on_stream_created: Callable[[StreamProducer],
+ None] = None) -> StreamProducer
```
-Parameters
-----------
+Retrieves a stream that was previously created by this instance if the stream is not closed, otherwise creates a new stream.
+
+**Arguments**:
-days: int
- Underlying .Net type is int
+- `stream_id` - The id of the stream you want to get or create.
+- `on_stream_created` - A callback function that takes a StreamProducer as a parameter.
+
-hours: int
- Underlying .Net type is int
+**Returns**:
-minutes: int
- Underlying .Net type is int
+- `StreamProducer` - The retrieved or created StreamProducer instance.
-seconds: int
- Underlying .Net type is int
+
-milliseconds: int
- Underlying .Net type is int
+# quixstreams.models.commitoptions
-microseconds: int
- Underlying .Net type is int
+
-Returns
--------
+## CommitOptions Objects
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+```python
+@nativedecorator
+class CommitOptions(object)
+```
-
+
-#### get\_Ticks
+#### \_\_init\_\_
```python
-def get_Ticks() -> int
+def __init__(net_pointer: ctypes.c_void_p = None)
```
-Parameters
-----------
+Initializes a new instance of CommitOptions
-Returns
--------
+**Arguments**:
-int:
- Underlying .Net type is long
+- `net_pointer`: Pointer to an instance of a .net CommitOptions.
-
+
-#### get\_Days
+#### auto\_commit\_enabled
```python
-def get_Days() -> int
+@property
+def auto_commit_enabled() -> bool
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Gets whether automatic committing is enabled.
+If automatic committing is not enabled, other values are ignored.
+Default is True.
-
+
-#### get\_Hours
+#### auto\_commit\_enabled
```python
-def get_Hours() -> int
+@auto_commit_enabled.setter
+def auto_commit_enabled(value: bool) -> None
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Sets whether automatic committing is enabled.
+If automatic committing is not enabled, other values are ignored.
+Default is True.
-
+
-#### get\_Milliseconds
+#### commit\_interval
```python
-def get_Milliseconds() -> int
+@property
+def commit_interval() -> Optional[int]
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Gets the interval of automatic commit in ms. Default is 5000.
-
+
-#### get\_Microseconds
+#### commit\_interval
```python
-def get_Microseconds() -> int
+@commit_interval.setter
+def commit_interval(value: Optional[int]) -> None
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Sets the interval of automatic commit in ms. Default is 5000.
-
+
-#### get\_Nanoseconds
+#### commit\_every
```python
-def get_Nanoseconds() -> int
+@property
+def commit_every() -> Optional[int]
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Gets the number of messages to automatically commit at. Default is 5000.
-
+
-#### get\_Minutes
+#### commit\_every
```python
-def get_Minutes() -> int
+@commit_every.setter
+def commit_every(value: Optional[int]) -> None
```
-Parameters
-----------
+Sets the number of messages to automatically commit at. Default is 5000.
-Returns
--------
+
-int:
- Underlying .Net type is int
+# quixstreams.models.eventlevel
-
+
-#### get\_Seconds
+# quixstreams.models.timeseriesdata
-```python
-def get_Seconds() -> int
-```
+
-Parameters
-----------
+## TimeseriesData Objects
-Returns
--------
+```python
+@nativedecorator
+class TimeseriesData(object)
+```
-int:
- Underlying .Net type is int
+Describes timeseries data for multiple timestamps.
-
+
-#### get\_TotalDays
+#### \_\_init\_\_
```python
-def get_TotalDays() -> float
+def __init__(net_pointer: ctypes.c_void_p = None)
```
-Parameters
-----------
+Initializes a new instance of TimeseriesData.
-Returns
--------
+**Arguments**:
-float:
- Underlying .Net type is double
+- `net_pointer` - Pointer to an instance of a .net TimeseriesData.
-
+
-#### get\_TotalHours
+#### clone
```python
-def get_TotalHours() -> float
+def clone(parameter_filter: Optional[List[str]] = None)
```
-Parameters
-----------
+Initializes a new instance of timeseries data with parameters matching the filter if one is provided.
+
+**Arguments**:
+
+- `parameter_filter` - The parameter filter. If one is provided, only parameters
+ present in the list will be cloned.
+
-Returns
--------
+**Returns**:
-float:
- Underlying .Net type is double
+- `TimeseriesData` - A new instance of TimeseriesData with filtered parameters.
-
+
-#### get\_TotalMilliseconds
+#### add\_timestamp
```python
-def get_TotalMilliseconds() -> float
+def add_timestamp(time: Union[datetime, timedelta]) -> TimeseriesDataTimestamp
```
-Parameters
-----------
+Start adding a new set of parameters and their tags at the specified time.
+
+**Arguments**:
+
+- `time` - The time to use for adding new event values.
+ | datetime: The datetime to use for adding new event values. Epoch will never be added to this
+ | timedelta: The time since the default epoch to add the event values at
+
-Returns
--------
+**Returns**:
-float:
- Underlying .Net type is double
+- `TimeseriesDataTimestamp` - A new TimeseriesDataTimestamp instance.
-
+
-#### get\_TotalMicroseconds
+#### add\_timestamp\_milliseconds
```python
-def get_TotalMicroseconds() -> float
+def add_timestamp_milliseconds(milliseconds: int) -> TimeseriesDataTimestamp
```
-Parameters
-----------
+Start adding a new set of parameters and their tags at the specified time.
+
+**Arguments**:
+
+- `milliseconds` - The time in milliseconds since the default epoch to add the event values at.
+
-Returns
--------
+**Returns**:
-float:
- Underlying .Net type is double
+- `TimeseriesDataTimestamp` - A new TimeseriesDataTimestamp instance.
-
+
-#### get\_TotalNanoseconds
+#### add\_timestamp\_nanoseconds
```python
-def get_TotalNanoseconds() -> float
+def add_timestamp_nanoseconds(nanoseconds: int) -> TimeseriesDataTimestamp
```
-Parameters
-----------
+Start adding a new set of parameters and their tags at the specified time.
+
+**Arguments**:
+
+- `nanoseconds` - The time in nanoseconds since the default epoch to add the event values at.
+
-Returns
--------
+**Returns**:
-float:
- Underlying .Net type is double
+- `TimeseriesDataTimestamp` - A new TimeseriesDataTimestamp instance.
-
+
-#### get\_TotalMinutes
+#### timestamps
```python
-def get_TotalMinutes() -> float
+@property
+def timestamps() -> List[TimeseriesDataTimestamp]
```
-Parameters
-----------
+Gets the data as rows of TimeseriesDataTimestamp.
-Returns
--------
+**Returns**:
-float:
- Underlying .Net type is double
+- `List[TimeseriesDataTimestamp]` - A list of TimeseriesDataTimestamp instances.
-
+
-#### get\_TotalSeconds
+#### timestamps
```python
-def get_TotalSeconds() -> float
+@timestamps.setter
+def timestamps(timestamp_list: List[TimeseriesDataTimestamp]) -> None
```
-Parameters
-----------
+Sets the data as rows of TimeseriesDataTimestamp.
-Returns
--------
+**Arguments**:
-float:
- Underlying .Net type is double
+- `timestamp_list` - A list of TimeseriesDataTimestamp instances to set.
-
+
-#### Add
+#### to\_dataframe
```python
-def Add(ts: c_void_p) -> c_void_p
+def to_dataframe() -> pd.DataFrame
```
-Parameters
-----------
-
-ts: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+Converts TimeseriesData to pandas DataFrame.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `pd.DataFrame` - Converted pandas DataFrame.
-
+
-#### Compare
+#### from\_panda\_dataframe
```python
@staticmethod
-def Compare(t1: c_void_p, t2: c_void_p) -> int
+def from_panda_dataframe(data_frame: pd.DataFrame,
+ epoch: int = 0) -> 'TimeseriesData'
```
-Parameters
-----------
+Converts pandas DataFrame to TimeseriesData.
-t1: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+**Arguments**:
-t2: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+- `data_frame` - The pandas DataFrame to convert to TimeseriesData.
+- `epoch` - The epoch to add to each time value when converting to TimeseriesData. Defaults to 0.
+
-Returns
--------
+**Returns**:
-int:
- Underlying .Net type is int
+- `TimeseriesData` - Converted TimeseriesData instance.
-
+
-#### CompareTo
+#### get\_net\_pointer
```python
-def CompareTo(value: c_void_p) -> int
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
+Gets the .net pointer of the current instance.
+
+**Returns**:
-value: c_void_p
- GC Handle Pointer to .Net type Object
+- `ctypes.c_void_p` - The .net pointer of the current instance
-Returns
--------
+
-int:
- Underlying .Net type is int
+# quixstreams.models.eventdefinition
-
+
-#### CompareTo2
+## EventDefinition Objects
```python
-def CompareTo2(value: c_void_p) -> int
+class EventDefinition(object)
```
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Describes additional context for the event
-
+
-#### FromDays
+#### \_\_init\_\_
```python
-@staticmethod
-def FromDays(value: float) -> c_void_p
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of EventDefinition
-value: float
- Underlying .Net type is double
+NOTE: Do not initialize this class manually. Instances of it are available on StreamEventsConsumer.definitions
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `net_pointer`: Pointer to an instance of a .net EventDefinition
-
+
-#### Duration
+# quixstreams.models.streamproducer.streameventsproducer
-```python
-def Duration() -> c_void_p
-```
+
-Parameters
-----------
+## StreamEventsProducer Objects
-Returns
--------
+```python
+@nativedecorator
+class StreamEventsProducer(object)
+```
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+Helper class for producing EventDefinitions and EventData.
-
+
-#### Equals
+#### \_\_init\_\_
```python
-def Equals(value: c_void_p) -> bool
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
-
-value: c_void_p
- GC Handle Pointer to .Net type Object
+Initializes a new instance of StreamEventsProducer.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `net_pointer` - Pointer to an instance of a .NET StreamEventsProducer.
-
+
-#### Equals2
+#### flush
```python
-def Equals2(obj: c_void_p) -> bool
+def flush()
```
-Parameters
-----------
-
-obj: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Immediately publishes the event definitions from the buffer without waiting for buffer condition to fulfill
+(200ms timeout). TODO: Verify 200ms timeout value.
-
+
-#### Equals3
+#### default\_tags
```python
-@staticmethod
-def Equals3(t1: c_void_p, t2: c_void_p) -> bool
+@property
+def default_tags() -> Dict[str, str]
```
-Parameters
-----------
+Gets default tags injected to all event values sent by the producer.
-t1: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+
-t2: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+#### default\_location
-Returns
--------
+```python
+@property
+def default_location() -> str
+```
-bool:
- Underlying .Net type is Boolean
+Gets the default Location of the events. Event definitions added with add_definition will be inserted at this location.
+See add_location for adding definitions at a different location without changing default.
+Example: "/Group1/SubGroup2"
-
+
-#### GetHashCode
+#### default\_location
```python
-def GetHashCode() -> int
+@default_location.setter
+def default_location(value: str)
```
-Parameters
-----------
+Sets the default Location of the events. Event definitions added with add_definition will be inserted at this location.
+See add_location for adding definitions at a different location without changing default.
-Returns
--------
+**Arguments**:
-int:
- Underlying .Net type is int
+- `value` - Location string, e.g., "/Group1/SubGroup2".
-
+
-#### FromHours
+#### epoch
```python
-@staticmethod
-def FromHours(value: float) -> c_void_p
+@property
+def epoch() -> datetime
```
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+The unix epoch from, which all other timestamps in this model are measured from in nanoseconds.
-
+
-#### FromMilliseconds
+#### epoch
```python
-@staticmethod
-def FromMilliseconds(value: float) -> c_void_p
+@epoch.setter
+def epoch(value: datetime)
```
-Parameters
-----------
-
-value: float
- Underlying .Net type is double
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+Sets the default epoch used for event values.
-
+
-#### FromMicroseconds
+#### publish
```python
-@staticmethod
-def FromMicroseconds(value: float) -> c_void_p
+def publish(data: Union[EventData, pd.DataFrame], **columns) -> None
```
-Parameters
-----------
+Publish an event into the stream.
+
+**Arguments**:
-value: float
- Underlying .Net type is double
+- `data` - EventData object or a pandas dataframe.
+- `columns` - Column names if the dataframe has different columns from 'id', 'timestamp', and 'value'.
+ For instance, if 'id' is in the column 'event_id', id='event_id' must be passed as an argument.
+
-Returns
--------
+**Raises**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `TypeError` - If the data argument is neither an EventData nor pandas dataframe.
-
+
-#### FromMinutes
+#### add\_timestamp
```python
-@staticmethod
-def FromMinutes(value: float) -> c_void_p
+def add_timestamp(time: Union[datetime, timedelta]) -> EventDataBuilder
```
-Parameters
-----------
+Start adding a new set of event values at the given timestamp.
+
+**Arguments**:
-value: float
- Underlying .Net type is double
+- `time` - The time to use for adding new event values.
+ * datetime: The datetime to use for adding new event values. NOTE, epoch is not used.
+ * timedelta: The time since the default epoch to add the event values at
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `EventDataBuilder` - Event data builder to add event values at the provided time.
-
+
-#### Negate
+#### add\_timestamp\_milliseconds
```python
-def Negate() -> c_void_p
+def add_timestamp_milliseconds(milliseconds: int) -> EventDataBuilder
```
-Parameters
-----------
+Start adding a new set of event values at the given timestamp.
+
+**Arguments**:
+
+- `milliseconds` - The time in milliseconds since the default epoch to add the event values at.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `EventDataBuilder` - Event data builder to add event values at the provided time.
-
+
-#### FromSeconds
+#### add\_timestamp\_nanoseconds
```python
-@staticmethod
-def FromSeconds(value: float) -> c_void_p
+def add_timestamp_nanoseconds(nanoseconds: int) -> EventDataBuilder
```
-Parameters
-----------
+Start adding a new set of event values at the given timestamp.
+
+**Arguments**:
-value: float
- Underlying .Net type is double
+- `nanoseconds` - The time in nanoseconds since the default epoch to add the event values at.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `EventDataBuilder` - Event data builder to add event values at the provided time.
-
+
-#### Subtract
+#### add\_definition
```python
-def Subtract(ts: c_void_p) -> c_void_p
+def add_definition(event_id: str,
+ name: str = None,
+ description: str = None) -> EventDefinitionBuilder
```
-Parameters
-----------
+Add new Event definition to define properties like Name or Level, among others.
+
+**Arguments**:
-ts: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+- `event_id` - The id of the event. Must match the event id used to send data.
+- `name` - The human-friendly display name of the event.
+- `description` - The description of the event.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `EventDefinitionBuilder` - EventDefinitionBuilder to define properties of the event or add additional events.
-
+
-#### Multiply
+#### add\_location
```python
-def Multiply(factor: float) -> c_void_p
+def add_location(location: str) -> EventDefinitionBuilder
```
-Parameters
-----------
+Add a new location in the events groups hierarchy.
-factor: float
- Underlying .Net type is double
+**Arguments**:
-Returns
--------
+- `location` - The group location.
+
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+**Returns**:
-
+- `EventDefinitionBuilder` - EventDefinitionBuilder to define the events under the specified location.
-#### Divide
+
-```python
-def Divide(divisor: float) -> c_void_p
-```
+# quixstreams.models.streamproducer.streamtimeseriesproducer
-Parameters
-----------
+
-divisor: float
- Underlying .Net type is double
+## StreamTimeseriesProducer Objects
-Returns
--------
+```python
+@nativedecorator
+class StreamTimeseriesProducer(object)
+```
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+Helper class for producing ParameterDefinition and TimeseriesData.
-
+
-#### Divide2
+#### \_\_init\_\_
```python
-def Divide2(ts: c_void_p) -> float
+def __init__(stream_producer, net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
-
-ts: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+Initializes a new instance of StreamTimeseriesProducer.
-Returns
--------
+**Arguments**:
-float:
- Underlying .Net type is double
+- `stream_producer` - The Stream producer which owns this stream timeseries producer.
+- `net_pointer` - Pointer to an instance of a .net StreamTimeseriesProducer.
-
+
-#### FromTicks
+#### flush
```python
-@staticmethod
-def FromTicks(value: int) -> c_void_p
+def flush()
```
-Parameters
-----------
-
-value: int
- Underlying .Net type is long
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+Immediately publish timeseries data and definitions from the buffer without waiting for buffer condition to fulfill for either.
-
+
-#### Parse
+#### add\_definition
```python
-@staticmethod
-def Parse(s: str) -> c_void_p
+def add_definition(parameter_id: str,
+ name: str = None,
+ description: str = None) -> ParameterDefinitionBuilder
```
-Parameters
-----------
+Add new parameter definition to the StreamTimeseriesProducer. Configure it with the builder methods.
+
+**Arguments**:
-s: str
- Underlying .Net type is string
+- `parameter_id` - The id of the parameter. Must match the parameter id used to send data.
+- `name` - The human friendly display name of the parameter.
+- `description` - The description of the parameter.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `ParameterDefinitionBuilder` - Builder to define the parameter properties.
-
+
-#### Parse2
+#### add\_location
```python
-@staticmethod
-def Parse2(input: str, formatProvider: c_void_p) -> c_void_p
+def add_location(location: str) -> ParameterDefinitionBuilder
```
-Parameters
-----------
+Add a new location in the parameters groups hierarchy.
-input: str
- Underlying .Net type is string
+**Arguments**:
-formatProvider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+- `location` - The group location.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `ParameterDefinitionBuilder` - Builder to define the parameters under the specified location.
-
+
-#### ParseExact
+#### default\_location
```python
-@staticmethod
-def ParseExact(input: str, format: str, formatProvider: c_void_p) -> c_void_p
+@property
+def default_location() -> str
```
-Parameters
-----------
-
-input: str
- Underlying .Net type is string
-
-format: str
- Underlying .Net type is string
-
-formatProvider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+Gets the default location of the parameters. Parameter definitions added with add_definition will be inserted at this location.
+See add_location for adding definitions at a different location without changing default.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `str` - The default location of the parameters, e.g., "/Group1/SubGroup2".
-
+
-#### ParseExact2
+#### default\_location
```python
-@staticmethod
-def ParseExact2(input: str, formats: c_void_p,
- formatProvider: c_void_p) -> c_void_p
+@default_location.setter
+def default_location(value: str)
```
-Parameters
-----------
-
-input: str
- Underlying .Net type is string
-
-formats: c_void_p
- GC Handle Pointer to .Net type string[]
-
-formatProvider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+Sets the default location of the parameters. Parameter definitions added with add_definition will be inserted at this location.
+See add_location for adding definitions at a different location without changing default.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `value` - The new default location of the parameters, e.g., "/Group1/SubGroup2".
-
+
-#### TryParse
+#### buffer
```python
-@staticmethod
-def TryParse(s: str, result: c_void_p) -> bool
+@property
+def buffer() -> TimeseriesBufferProducer
```
-Parameters
-----------
-
-s: str
- Underlying .Net type is string
-
-result: c_void_p
- GC Handle Pointer to .Net type TimeSpan&
+Get the buffer for producing timeseries data.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `TimeseriesBufferProducer` - The buffer for producing timeseries data.
-
+
-#### TryParse3
+#### publish
```python
-@staticmethod
-def TryParse3(input: str, formatProvider: c_void_p, result: c_void_p) -> bool
+def publish(
+ packet: Union[TimeseriesData, pd.DataFrame,
+ TimeseriesDataRaw]) -> None
```
-Parameters
-----------
-
-input: str
- Underlying .Net type is string
+Publish the given packet to the stream without any buffering.
-formatProvider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+**Arguments**:
-result: c_void_p
- GC Handle Pointer to .Net type TimeSpan&
+- `packet` - The packet containing TimeseriesData, TimeseriesDataRaw, or pandas DataFrame.
+
-Returns
--------
+**Notes**:
-bool:
- Underlying .Net type is Boolean
+ - Pandas DataFrame should contain 'time' label, else the first integer label will be taken as time.
+ - Tags should be prefixed by TAG__ or they will be treated as parameters.
+
-
+**Examples**:
-#### TryParseExact
+ Send a pandas DataFrame:
+ pdf = pandas.DataFrame({'time': [1, 5],
+- `'panda_param'` - [123.2, 5]})
+ instance.publish(pdf)
+
+ Send a pandas DataFrame with multiple values:
+ pdf = pandas.DataFrame({'time': [1, 5, 10],
+- `'panda_param'` - [123.2, None, 12],
+- `'panda_param2'` - ["val1", "val2", None]})
+ instance.publish(pdf)
+
+ Send a pandas DataFrame with tags:
+ pdf = pandas.DataFrame({'time': [1, 5, 10],
+- `'panda_param'` - [123.2, 5, 12],
+- `'TAG__Tag1'` - ["v1", 2, None],
+- `'TAG__Tag2'` - [1, None, 3]})
+ instance.publish(pdf)
+
-```python
-@staticmethod
-def TryParseExact(input: str, format: str, formatProvider: c_void_p,
- result: c_void_p) -> bool
-```
+**Raises**:
-Parameters
-----------
+- `Exception` - If the given type is not supported for publishing.
-input: str
- Underlying .Net type is string
+
-format: str
- Underlying .Net type is string
+# quixstreams.models.streamproducer.streampropertiesproducer
-formatProvider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+
-result: c_void_p
- GC Handle Pointer to .Net type TimeSpan&
+## StreamPropertiesProducer Objects
-Returns
--------
+```python
+@nativedecorator
+class StreamPropertiesProducer(object)
+```
-bool:
- Underlying .Net type is Boolean
+Represents properties and metadata of the stream.
+All changes to these properties are automatically published to the underlying stream.
-
+
-#### TryParseExact3
+#### \_\_init\_\_
```python
-@staticmethod
-def TryParseExact3(input: str, formats: c_void_p, formatProvider: c_void_p,
- result: c_void_p) -> bool
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of StreamPropertiesProducer.
+
+**Arguments**:
+
+- `net_pointer` - Pointer to an instance of a .net StreamPropertiesProducer.
-input: str
- Underlying .Net type is string
+
-formats: c_void_p
- GC Handle Pointer to .Net type string[]
+#### name
-formatProvider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+```python
+@property
+def name() -> str
+```
-result: c_void_p
- GC Handle Pointer to .Net type TimeSpan&
+Gets the human friendly name of the stream.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `str` - The human friendly name of the stream.
-
+
-#### ToString
+#### name
```python
-def ToString() -> str
+@name.setter
+def name(value: str)
```
-Parameters
-----------
+Sets the human friendly name of the stream.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `value` - The new human friendly name of the stream.
-
+
-#### ToString2
+#### location
```python
-def ToString2(format: str) -> str
+@property
+def location() -> str
```
-Parameters
-----------
-
-format: str
- Underlying .Net type is string
+Gets the location of the stream in the data catalogue.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `str` - The location of the stream in the data catalogue, e.g., "/cars/ai/carA/".
-
+
-#### ToString3
+#### location
```python
-def ToString3(format: str, formatProvider: c_void_p) -> str
+@location.setter
+def location(value: str)
```
-Parameters
-----------
-
-format: str
- Underlying .Net type is string
-
-formatProvider: c_void_p
- GC Handle Pointer to .Net type IFormatProvider
+Sets the location of the stream in the data catalogue.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `value` - The new location of the stream in the data catalogue.
-
+
-#### op\_Equality
+#### metadata
```python
-@staticmethod
-def op_Equality(t1: c_void_p, t2: c_void_p) -> bool
+@property
+def metadata() -> Dict[str, str]
```
-Parameters
-----------
-
-t1: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-t2: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+"
+Gets the metadata of the stream.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Dict[str, str]: The metadata of the stream.
-
+
-#### op\_Inequality
+#### parents
```python
-@staticmethod
-def op_Inequality(t1: c_void_p, t2: c_void_p) -> bool
+@property
+def parents() -> List[str]
```
-Parameters
-----------
-
-t1: c_void_p
- GC Handle Pointer to .Net type TimeSpan
-
-t2: c_void_p
- GC Handle Pointer to .Net type TimeSpan
+Gets the list of stream ids of the parent streams.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `List[str]` - The list of stream ids of the parent streams.
-
+
-#### get\_Zero
+#### time\_of\_recording
```python
-@staticmethod
-def get_Zero() -> c_void_p
+@property
+def time_of_recording() -> datetime
```
-Parameters
-----------
+Gets the datetime of the stream recording.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `datetime` - The datetime of the stream recording.
-
+
-#### get\_MaxValue
+#### time\_of\_recording
```python
-@staticmethod
-def get_MaxValue() -> c_void_p
+@time_of_recording.setter
+def time_of_recording(value: datetime)
```
-Parameters
-----------
+Sets the time of the stream recording.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `value` - The new time of the stream recording.
-
+
-#### get\_MinValue
+#### flush\_interval
```python
-@staticmethod
-def get_MinValue() -> c_void_p
+@property
+def flush_interval() -> int
```
-Parameters
-----------
+Gets the automatic flush interval of the properties metadata into the channel (in milliseconds).
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type TimeSpan
+- `int` - The automatic flush interval in milliseconds, default is 30000.
-
+
-#### get\_NanosecondsPerTick
+#### flush\_interval
```python
-@staticmethod
-def get_NanosecondsPerTick() -> int
+@flush_interval.setter
+def flush_interval(value: int)
```
-Parameters
-----------
+Sets the automatic flush interval of the properties metadata into the channel (in milliseconds).
-Returns
--------
+**Arguments**:
-int:
- Underlying .Net type is long
+- `value` - The new flush interval in milliseconds.
-
+
-#### get\_TicksPerMicrosecond
+#### flush
```python
-@staticmethod
-def get_TicksPerMicrosecond() -> int
+def flush()
```
-Parameters
-----------
+Immediately publishes the properties yet to be sent instead of waiting for the flush timer (20ms).
-Returns
--------
+
-int:
- Underlying .Net type is long
+# quixstreams.models.streamproducer.timeseriesbufferproducer
-
+
-#### get\_TicksPerMillisecond
+## TimeseriesBufferProducer Objects
```python
-@staticmethod
-def get_TicksPerMillisecond() -> int
+@nativedecorator
+class TimeseriesBufferProducer(TimeseriesBuffer)
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
+A class for producing timeseries data to a StreamProducer in a buffered manner.
-
+
-#### get\_TicksPerSecond
+#### \_\_init\_\_
```python
-@staticmethod
-def get_TicksPerSecond() -> int
+def __init__(stream_producer, net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of TimeseriesBufferProducer.
+NOTE: Do not initialize this class manually, use StreamTimeseriesProducer.buffer to access an instance of it
+
+**Arguments**:
+
+- `stream_producer` - The Stream producer which owns this timeseries buffer producer
+- `net_pointer` - Pointer to an instance of a .net TimeseriesBufferProducer
+
-Returns
--------
+**Raises**:
-int:
- Underlying .Net type is long
+- `Exception` - If TimeseriesBufferProducer is None
-
+
-#### get\_TicksPerMinute
+#### default\_tags
```python
-@staticmethod
-def get_TicksPerMinute() -> int
+@property
+def default_tags() -> Dict[str, str]
```
-Parameters
-----------
+Get default tags injected for all parameters values sent by this buffer.
-Returns
--------
+**Returns**:
-int:
- Underlying .Net type is long
+ Dict[str, str]: A dictionary containing the default tags
-
+
-#### get\_TicksPerHour
+#### epoch
```python
-@staticmethod
-def get_TicksPerHour() -> int
+@property
+def epoch() -> datetime
```
-Parameters
-----------
+Get the default epoch used for parameter values.
-Returns
--------
+**Returns**:
-int:
- Underlying .Net type is long
+- `datetime` - The default epoch used for parameter values
-
+
-#### get\_TicksPerDay
+#### epoch
```python
-@staticmethod
-def get_TicksPerDay() -> int
+@epoch.setter
+def epoch(value: datetime)
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is long
+Set the default epoch used for parameter values. Datetime added on top of all the Timestamps.
-
+**Arguments**:
-# quixstreams.native.Python.SystemPrivateCoreLib.System.Type
+- `value` - The default epoch to set for parameter values
-
+
-## Type Objects
+#### add\_timestamp
```python
-class Type(object)
+def add_timestamp(time: Union[datetime, timedelta]) -> TimeseriesDataBuilder
```
-
+Start adding a new set of parameter values at the given timestamp.
-#### \_\_new\_\_
+**Arguments**:
-```python
-def __new__(cls, net_pointer: c_void_p)
-```
+- `time` - The time to use for adding new parameter values.
+ - datetime: The datetime to use for adding new parameter values. NOTE, epoch is not used
+ - timedelta: The time since the default epoch to add the parameter values at
+
-Parameters
-----------
+**Returns**:
-net_pointer: c_void_p
- GC Handle Pointer to .Net type Type
+- `TimeseriesDataBuilder` - A TimeseriesDataBuilder instance for adding parameter values
+
-Returns
-----------
+**Raises**:
-Type:
- Instance wrapping the .net type Type
+- `ValueError` - If 'time' is None or not an instance of datetime or timedelta
-
+
-#### \_\_init\_\_
+#### add\_timestamp\_nanoseconds
```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
+def add_timestamp_nanoseconds(nanoseconds: int) -> TimeseriesDataBuilder
```
-Parameters
-----------
+Start adding a new set of parameter values at the given timestamp.
+
+**Arguments**:
-net_pointer: c_void_p
- GC Handle Pointer to .Net type Type
+- `nanoseconds` - The time in nanoseconds since the default epoch to add the parameter values at
+
-Returns
-----------
+**Returns**:
-Type:
- Instance wrapping the .net type Type
+- `TimeseriesDataBuilder` - A TimeseriesDataBuilder instance for adding parameter values
-
+
-#### get\_IsInterface
+#### flush
```python
-def get_IsInterface() -> bool
+def flush()
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Immediately publishes the data from the buffer without waiting for the buffer condition to be fulfilled.
-
+
-#### GetType
+#### publish
```python
-@staticmethod
-def GetType(typeName: str, throwOnError: bool, ignoreCase: bool) -> c_void_p
+def publish(packet: Union[TimeseriesData, pd.DataFrame]) -> None
```
-Parameters
-----------
-
-typeName: str
- Underlying .Net type is string
-
-throwOnError: bool
- Underlying .Net type is Boolean
-
-ignoreCase: bool
- Underlying .Net type is Boolean
+Publish the provided timeseries packet to the buffer.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+- `packet` - The packet containing TimeseriesData or panda DataFrame
+ - packet type panda.DataFrame:
+ * Note 1: panda data frame should contain 'time' label, else the first integer label will be taken as time.
+ * Note 2: Tags should be prefixed by TAG__ or they will be treated as timeseries parameters
+
-
+**Examples**:
-#### GetType2
+ Send a panda data frame:
+ pdf = panda.DataFrame({'time': [1, 5],
+- `'panda_param'` - [123.2, 5]})
+
+ instance.publish(pdf)
+
+ Send a panda data frame with multiple values:
+ pdf = panda.DataFrame({'time': [1, 5, 10],
+- `'panda_param'` - [123.2, None, 12],
+- `'panda_param2'` - ["val1", "val2", None]})
+
+ instance.publish(pdf)
+
+ Send a panda data frame with tags:
+ pdf = panda.DataFrame({'time': [1, 5, 10],
+- `'panda_param'` - [123.2, 5, 12],,
+- `'TAG__Tag1'` - ["v1", 2, None],
+- `'TAG__Tag2'` - [1, None, 3]})
+
+ instance.publish(pdf)
+
-```python
-@staticmethod
-def GetType2(typeName: str, throwOnError: bool) -> c_void_p
-```
+**Raises**:
-Parameters
-----------
+- `Exception` - If the packet type is not supported
-typeName: str
- Underlying .Net type is string
+
-throwOnError: bool
- Underlying .Net type is Boolean
+# quixstreams.models.streamproducer
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Type
+# quixstreams.models.parameterdefinition
-
+
-#### GetType3
+## ParameterDefinition Objects
```python
-@staticmethod
-def GetType3(typeName: str) -> c_void_p
+class ParameterDefinition(object)
```
-Parameters
-----------
-
-typeName: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
+Describes additional context for the parameter
-
+
-#### GetType7
+#### \_\_init\_\_
```python
-def GetType7() -> c_void_p
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
-
-
+Initializes a new instance of ParameterDefinition
-#### get\_Namespace
+NOTE: Do not initialize this class manually. Instances of it are available on StreamTimeseriesConsumer.definitions
-```python
-def get_Namespace() -> str
-```
+**Arguments**:
-Parameters
-----------
+- `net_pointer`: Pointer to an instance of a .net ParameterDefinition.
-Returns
--------
+
-str:
- Underlying .Net type is string
+# quixstreams.models.parametervalue
-
+
-#### get\_AssemblyQualifiedName
+## ParameterValue Objects
```python
-def get_AssemblyQualifiedName() -> str
+@nativedecorator
+class ParameterValue(object)
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Represents a single parameter value of either numeric, string, or binary type.
-
+
-#### get\_FullName
+#### \_\_init\_\_
```python
-def get_FullName() -> str
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of ParameterValue.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `net_pointer` - The .net object pointer representing ParameterValue.
-
+
-#### get\_IsNested
+#### numeric\_value
```python
-def get_IsNested() -> bool
+@property
+def numeric_value() -> float
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets the numeric value of the parameter if the underlying parameter is of numeric type.
-
+
-#### get\_DeclaringType
+#### numeric\_value
```python
-def get_DeclaringType() -> c_void_p
+@numeric_value.setter
+def numeric_value(value: float)
```
-Parameters
-----------
+Sets the numeric value of the parameter and updates the type to numeric.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+- `value` - The numeric value to set.
-
+
-#### get\_ReflectedType
+#### string\_value
```python
-def get_ReflectedType() -> c_void_p
+@property
+def string_value() -> str
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
+Gets the string value of the parameter if the underlying parameter is of string type.
-
+
-#### get\_UnderlyingSystemType
+#### string\_value
```python
-def get_UnderlyingSystemType() -> c_void_p
+@string_value.setter
+def string_value(value: str)
```
-Parameters
-----------
+Sets the string value of the parameter and updates the type to string.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+- `value` - The string value to set.
-
+
-#### get\_IsTypeDefinition
+#### binary\_value
```python
-def get_IsTypeDefinition() -> bool
+@property
+def binary_value() -> bytes
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets the binary value of the parameter if the underlying parameter is of binary type.
-
+
-#### get\_IsArray
+#### binary\_value
```python
-def get_IsArray() -> bool
+@binary_value.setter
+def binary_value(value: Union[bytearray, bytes])
```
-Parameters
-----------
+Sets the binary value of the parameter and updates the type to binary.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The binary value to set.
-
+
-#### get\_IsByRef
+#### type
```python
-def get_IsByRef() -> bool
+@property
+def type() -> ParameterValueType
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets the type of value, which is numeric, string, binary if set, otherwise empty
-
+
-#### get\_IsPointer
+#### value
```python
-def get_IsPointer() -> bool
+@property
+def value()
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets the underlying value.
-
+
-#### get\_IsConstructedGenericType
+#### get\_net\_pointer
```python
-def get_IsConstructedGenericType() -> bool
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
+Gets the associated .net object pointer.
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.models.timeseriesdataraw
-
+
-#### get\_IsGenericParameter
+## TimeseriesDataRaw Objects
```python
-def get_IsGenericParameter() -> bool
+@nativedecorator
+class TimeseriesDataRaw(object)
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Describes timeseries data in a raw format for multiple timestamps. Class is intended for read only.
-
+
-#### get\_IsGenericTypeParameter
+#### \_\_init\_\_
```python
-def get_IsGenericTypeParameter() -> bool
+def __init__(net_pointer: ctypes.c_void_p = None)
```
-Parameters
-----------
+Initializes a new instance of TimeseriesDataRaw.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `net_pointer` - Pointer to an instance of a .net TimeseriesDataRaw. Defaults to None.
-
+
-#### get\_IsGenericMethodParameter
+#### to\_dataframe
```python
-def get_IsGenericMethodParameter() -> bool
+def to_dataframe() -> pd.DataFrame
```
-Parameters
-----------
+Converts TimeseriesDataRaw to pandas DataFrame.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `pd.DataFrame` - Converted pandas DataFrame.
-
+
-#### get\_IsGenericType
+#### from\_dataframe
```python
-def get_IsGenericType() -> bool
+@staticmethod
+def from_dataframe(data_frame: pd.DataFrame,
+ epoch: int = 0) -> 'TimeseriesDataRaw'
```
-Parameters
-----------
+Converts from pandas DataFrame to TimeseriesDataRaw.
+
+**Arguments**:
+
+- `data_frame` - The pandas DataFrame to convert to TimeseriesData.
+- `epoch` - The epoch to add to each time value when converting to TimeseriesData. Defaults to 0.
+
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `TimeseriesDataRaw` - Converted TimeseriesDataRaw.
-
+
-#### get\_IsGenericTypeDefinition
+#### set\_values
```python
-def get_IsGenericTypeDefinition() -> bool
+def set_values(epoch: int, timestamps: List[int],
+ numeric_values: Dict[str, List[float]],
+ string_values: Dict[str, List[str]],
+ binary_values: Dict[str,
+ List[bytes]], tag_values: Dict[str,
+ List[str]])
```
-Parameters
-----------
+Sets the values of the timeseries data from the provided dictionaries.
+Dictionary values are matched by index to the provided timestamps.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `epoch` - The time from which all timestamps are measured from.
+- `timestamps` - The timestamps of values in nanoseconds since epoch as an array.
+- `numeric_values` - The numeric values where the dictionary key is the parameter name and the value is the array of values.
+- `string_values` - The string values where the dictionary key is the parameter name and the value is the array of values.
+- `binary_values` - The binary values where the dictionary key is the parameter name and the value is the array of values.
+- `tag_values` - The tag values where the dictionary key is the parameter name and the value is the array of values.
-
+
-#### get\_IsSZArray
+#### epoch
```python
-def get_IsSZArray() -> bool
+@property
+def epoch() -> int
```
-Parameters
-----------
+The Unix epoch from which all other timestamps in this model are measured, in nanoseconds.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `int` - The Unix epoch (01/01/1970) in nanoseconds.
-
+
-#### get\_IsVariableBoundArray
+#### timestamps
```python
-def get_IsVariableBoundArray() -> bool
+@property
+def timestamps() -> List[int]
```
-Parameters
-----------
+The timestamps of values in nanoseconds since the epoch.
+Timestamps are matched by index to numeric_values, string_values, binary_values, and tag_values.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `List[int]` - A list of timestamps in nanoseconds since the epoch.
-
+
-#### get\_IsByRefLike
+#### numeric\_values
```python
-def get_IsByRefLike() -> bool
+@property
+def numeric_values() -> Dict[str, List[Optional[float]]]
```
-Parameters
-----------
+The numeric values for parameters.
+The key is the parameter ID the values belong to. The value is the numerical values of the parameter.
+Values are matched by index to timestamps.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Dict[str, List[Optional[float]]]: A dictionary mapping parameter IDs to lists of numerical values.
-
+
-#### get\_IsFunctionPointer
+#### string\_values
```python
-def get_IsFunctionPointer() -> bool
+@property
+def string_values() -> Dict[str, List[str]]
```
-Parameters
-----------
+The string values for parameters.
+The key is the parameter ID the values belong to. The value is the string values of the parameter.
+Values are matched by index to timestamps.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Dict[str, List[str]]: A dictionary mapping parameter IDs to lists of string values
-
+
-#### get\_IsUnmanagedFunctionPointer
+#### binary\_values
```python
-def get_IsUnmanagedFunctionPointer() -> bool
+@property
+def binary_values() -> Dict[str, List[bytes]]
```
-Parameters
-----------
+The binary values for parameters.
+The key is the parameter ID the values belong to.
+The value is the binary values of the parameter. Values are matched by index to timestamps.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Dict[str, List[bytes]]: A dictionary mapping parameter IDs to lists of bytes values
-
+
-#### get\_HasElementType
+#### tag\_values
```python
-def get_HasElementType() -> bool
+@property
+def tag_values() -> Dict[str, List[str]]
```
-Parameters
-----------
+The tag values for parameters.
+The key is the parameter ID the values belong to. The value is the tag values of the parameter.
+Values are matched by index to timestamps.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Dict[str, List[str]]: A dictionary mapping parameter IDs to lists of string values
-
+
-#### GetElementType
+#### convert\_to\_timeseriesdata
```python
-def GetElementType() -> c_void_p
+def convert_to_timeseriesdata() -> TimeseriesData
```
-Parameters
-----------
+Converts TimeseriesDataRaw to TimeseriesData
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Type
+# quixstreams.models.timeseriesbuffer
-
+
-#### GetArrayRank
+## TimeseriesBuffer Objects
```python
-def GetArrayRank() -> int
+@nativedecorator
+class TimeseriesBuffer(object)
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Represents a class used to consume and produce stream messages in a buffered manner.
+When buffer conditions are not configured, it acts a pass-through, raising each message as arrives.
-
+
-#### GetGenericTypeDefinition
+#### \_\_init\_\_
```python
-def GetGenericTypeDefinition() -> c_void_p
+def __init__(stream, net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of TimeseriesBuffer.
+
+NOTE: Do not initialize this class manually, use StreamProducer.timeseries.buffer to create it.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+- `stream` - The stream the buffer is created for.
+- `net_pointer` - Pointer to a .net TimeseriesBuffer object.
-
+
-#### get\_GenericTypeArguments
+#### on\_data\_released
```python
-def get_GenericTypeArguments() -> c_void_p
+@property
+def on_data_released() -> Callable[
+ [Union['StreamConsumer', 'StreamProducer'], TimeseriesData], None]
```
-Parameters
-----------
+Gets the handler for when the stream receives data.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+ Callable[[Union['StreamConsumer', 'StreamProducer'], TimeseriesData], None]: The event handler.
+ The first parameter is the stream the data is received for, second is the data in TimeseriesData format.
-
+
-#### GetGenericArguments
+#### on\_data\_released
```python
-def GetGenericArguments() -> c_void_p
+@on_data_released.setter
+def on_data_released(
+ value: Callable[
+ [Union['StreamConsumer', 'StreamProducer'], TimeseriesData], None]
+) -> None
```
-Parameters
-----------
+Sets the handler for when the stream receives data.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+- `value` - The event handler. The first parameter is the stream the data is received for, second is the data in TimeseriesData format.
-
+
-#### GetOptionalCustomModifiers
+#### on\_raw\_released
```python
-def GetOptionalCustomModifiers() -> c_void_p
+@property
+def on_raw_released() -> Callable[
+ [Union['StreamConsumer', 'StreamProducer'], TimeseriesDataRaw], None]
```
-Parameters
-----------
+Gets the handler for when the stream receives raw data.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+ Callable[[Union['StreamConsumer', 'StreamProducer'], TimeseriesDataRaw], None]: The event handler.
+ The first parameter is the stream the data is received for, second is the data in TimeseriesDataRaw format.
-
+
-#### GetRequiredCustomModifiers
+#### on\_raw\_released
```python
-def GetRequiredCustomModifiers() -> c_void_p
+@on_raw_released.setter
+def on_raw_released(
+ value: Callable[
+ [Union['StreamConsumer', 'StreamProducer'], TimeseriesDataRaw], None]
+) -> None
```
-Parameters
-----------
+Sets the handler for when the stream receives raw data.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+- `value` - The event handler. The first parameter is the stream the data is received for, second is the data in TimeseriesDataRaw format.
-
+
-#### get\_GenericParameterPosition
+#### on\_dataframe\_released
```python
-def get_GenericParameterPosition() -> int
+@property
+def on_dataframe_released() -> Callable[
+ [Union['StreamConsumer', 'StreamProducer'], pandas.DataFrame], None]
```
-Parameters
-----------
+Gets the handler for when the stream receives data as a pandas DataFrame.
-Returns
--------
+**Returns**:
-int:
- Underlying .Net type is int
+ Callable[[Union['StreamConsumer', 'StreamProducer'], pandas.DataFrame], None]: The event handler.
+ The first parameter is the stream the data is received for, second is the data in pandas.DataFrame format.
-
+
-#### GetGenericParameterConstraints
+#### on\_dataframe\_released
```python
-def GetGenericParameterConstraints() -> c_void_p
+@on_dataframe_released.setter
+def on_dataframe_released(
+ value: Callable[
+ [Union['StreamConsumer', 'StreamProducer'], pandas.DataFrame], None]
+) -> None
```
-Parameters
-----------
+Sets the handler for when the stream receives data as a pandas DataFrame.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+- `value` - The event handler. The first parameter is the stream the data is received for, second is the data in pandas.DataFrame format.
-
+
-#### get\_IsAbstract
+#### filter
```python
-def get_IsAbstract() -> bool
+@property
+def filter() -> Callable[[TimeseriesDataTimestamp], bool]
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets the custom function to filter the incoming data before adding it to the buffer. If returns true, data is added otherwise not.
+Defaults to none (disabled).
-
+
-#### get\_IsImport
+#### filter
```python
-def get_IsImport() -> bool
+@filter.setter
+def filter(value: Callable[[TimeseriesDataTimestamp], bool])
```
-Parameters
-----------
+Sets the custom function to filter incoming data before adding to the buffer.
+
+The custom function takes a TimeseriesDataTimestamp object as input and returns
+a boolean value. If the function returns True, the data is added to the buffer,
+otherwise not. By default, this feature is disabled (None).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - Custom filter function.
-
+
-#### get\_IsSealed
+#### custom\_trigger
```python
-def get_IsSealed() -> bool
+@property
+def custom_trigger() -> Callable[[TimeseriesData], bool]
```
-Parameters
-----------
+Gets the custom trigger function, which is invoked after adding a new timestamp to the buffer.
+
+If the custom trigger function returns True, the buffer releases content and triggers relevant callbacks.
+By default, this feature is disabled (None).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[[TimeseriesData], bool]: Custom trigger function.
-
+
-#### get\_IsSpecialName
+#### custom\_trigger
```python
-def get_IsSpecialName() -> bool
+@custom_trigger.setter
+def custom_trigger(value: Callable[[TimeseriesData], bool])
```
-Parameters
-----------
+Sets the custom trigger function, which is invoked after adding a new timestamp to the buffer.
+
+If the custom trigger function returns True, the buffer releases content and triggers relevant callbacks.
+By default, this feature is disabled (None).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - Custom trigger function.
-
+
-#### get\_IsClass
+#### packet\_size
```python
-def get_IsClass() -> bool
+@property
+def packet_size() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum packet size in terms of values for the buffer.
+
+Each time the buffer has this amount of data, a callback method, such as `on_data_released`,
+is invoked, and the data is cleared from the buffer. By default, this feature
+is disabled (None).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - Maximum packet size for the buffer.
-
+
-#### get\_IsNestedAssembly
+#### packet\_size
```python
-def get_IsNestedAssembly() -> bool
+@packet_size.setter
+def packet_size(value: Optional[int])
```
-Parameters
-----------
+Sets the maximum packet size in terms of values for the buffer.
+
+Each time the buffer has this amount of data, a callback method, such as `on_data_released`,
+is invoked, and the data is cleared from the buffer. By default, this feature
+is disabled (None).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - Maximum packet size for the buffer.
-
+
-#### get\_IsNestedFamANDAssem
+#### time\_span\_in\_nanoseconds
```python
-def get_IsNestedFamANDAssem() -> bool
+@property
+def time_span_in_nanoseconds() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum time between timestamps for the buffer in nanoseconds.
+
+When the difference between the earliest and latest buffered timestamp surpasses
+this number, a callback method, such as `on_data_released`, is invoked, and the data is cleared
+from the buffer. By default, this feature is disabled (None).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - Maximum time between timestamps in nanoseconds.
-
+
-#### get\_IsNestedFamily
+#### time\_span\_in\_nanoseconds
```python
-def get_IsNestedFamily() -> bool
+@time_span_in_nanoseconds.setter
+def time_span_in_nanoseconds(value: Optional[int])
```
-Parameters
-----------
+Sets the maximum time between timestamps for the buffer in nanoseconds.
+
+When the difference between the earliest and latest buffered timestamp surpasses
+this number, a callback method, such as `on_data_released`, is invoked, and the data is cleared
+from the buffer. By default, this feature is disabled (None).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - Maximum time between timestamps in nanoseconds.
-
+
-#### get\_IsNestedFamORAssem
+#### time\_span\_in\_milliseconds
```python
-def get_IsNestedFamORAssem() -> bool
+@property
+def time_span_in_milliseconds() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum time between timestamps for the buffer in milliseconds.
+
+This property retrieves the maximum time between the earliest and latest buffered
+timestamp in milliseconds. If the difference surpasses this number, a callback method,
+such as on_data_released, is invoked, and the data is cleared from the buffer. Note that
+this property is a millisecond converter on top of time_span_in_nanoseconds, and both
+work with the same underlying value. Defaults to None (disabled).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - The maximum time difference between timestamps in milliseconds, or None if disabled.
-
+
-#### get\_IsNestedPrivate
+#### time\_span\_in\_milliseconds
```python
-def get_IsNestedPrivate() -> bool
+@time_span_in_milliseconds.setter
+def time_span_in_milliseconds(value: Optional[int])
```
-Parameters
-----------
+Sets the maximum time between timestamps for the buffer in milliseconds.
+
+This property sets the maximum time between the earliest and latest buffered
+timestamp in milliseconds. If the difference surpasses this number, a callback method,
+such as on_data_released, is invoked, and the data is cleared from the buffer. Note that
+this property is a millisecond converter on top of time_span_in_nanoseconds, and both
+work with the same underlying value. Defaults to None (disabled).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The maximum time difference between timestamps in milliseconds, or None to disable.
-
+
-#### get\_IsNestedPublic
+#### buffer\_timeout
```python
-def get_IsNestedPublic() -> bool
+@property
+def buffer_timeout() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum duration in milliseconds for which the buffer will be held. When the configured value has elapsed
+or other buffer conditions are met, a callback method, such as on_data_released, is invoked.
+Defaults to None (disabled).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - The maximum duration in milliseconds before invoking a callback method, or None if disabled.
-
+
-#### get\_IsNotPublic
+#### buffer\_timeout
```python
-def get_IsNotPublic() -> bool
+@buffer_timeout.setter
+def buffer_timeout(value: Optional[int])
```
-Parameters
-----------
+Sets the maximum duration in milliseconds for which the buffer will be held. When the configured value has elapsed
+or other buffer conditions are met, a callback method, such as on_data_released, is invoked.
+Defaults to None (disabled).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The maximum duration in milliseconds before invoking a callback method, or None to disable.
-
+
-#### get\_IsPublic
+#### get\_net\_pointer
```python
-def get_IsPublic() -> bool
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
+Gets the associated .net object pointer.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `ctypes.c_void_p` - The .net object pointer.
-
+
-#### get\_IsAutoLayout
+# quixstreams.models.streampackage
-```python
-def get_IsAutoLayout() -> bool
-```
+
-Parameters
-----------
+## StreamPackage Objects
-Returns
--------
+```python
+@nativedecorator
+class StreamPackage(object)
+```
-bool:
- Underlying .Net type is Boolean
+Default model implementation for non-typed message packages of the Telemetry layer. It holds a value and its type.
-
+
-#### get\_IsExplicitLayout
+#### \_\_init\_\_
```python
-def get_IsExplicitLayout() -> bool
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of StreamPackage.
-Returns
--------
+**Notes**:
-bool:
- Underlying .Net type is Boolean
+ Do not initialize this class manually. Will be initialized by StreamConsumer.on_package_received.
+
-
+**Arguments**:
-#### get\_IsLayoutSequential
+- `net_pointer` - Pointer to an instance of a .net StreamPackage.
-```python
-def get_IsLayoutSequential() -> bool
-```
+
-Parameters
-----------
+#### transport\_context
-Returns
--------
+```python
+@property
+def transport_context() -> Dict[str, str]
+```
-bool:
- Underlying .Net type is Boolean
+Context holder for package when transporting through the pipeline.
-
+
-#### get\_IsAnsiClass
+#### to\_json
```python
-def get_IsAnsiClass() -> bool
+def to_json() -> str
```
-Parameters
-----------
+Serialize the package into JSON.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `str` - The serialized JSON string of the package.
-
+
-#### get\_IsAutoClass
+#### get\_net\_pointer
```python
-def get_IsAutoClass() -> bool
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
+Gets the associated .net object pointer.
+
+**Returns**:
+
+- `ctypes.c_void_p` - The .net object pointer.
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.models.codecsettings
-
+
-#### get\_IsUnicodeClass
+## CodecSettings Objects
```python
-def get_IsUnicodeClass() -> bool
+class CodecSettings(object)
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Global Codec settings for streams.
-
+
-#### get\_IsCOMObject
+#### set\_global\_codec\_type
```python
-def get_IsCOMObject() -> bool
+@staticmethod
+def set_global_codec_type(codec_type: CodecType)
```
-Parameters
-----------
+Sets the codec type to be used by producers and transfer package value serialization.
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.models.streamconsumer.streamtimeseriesconsumer
-
+
-#### get\_IsContextful
+## StreamTimeseriesConsumer Objects
```python
-def get_IsContextful() -> bool
+@nativedecorator
+class StreamTimeseriesConsumer(object)
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Consumer for streams, which raises TimeseriesData and ParameterDefinitions related messages
-
+
-#### get\_IsEnum
+#### \_\_init\_\_
```python
-def get_IsEnum() -> bool
+def __init__(stream_consumer, net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of StreamTimeseriesConsumer.
+NOTE: Do not initialize this class manually. Use StreamConsumer.timeseries to access an instance of it.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `stream_consumer` - The Stream consumer which owns this stream event consumer.
+- `net_pointer` _.net object_ - Pointer to an instance of a .net StreamTimeseriesConsumer.
-
+
-#### get\_IsMarshalByRef
+#### on\_data\_received
```python
-def get_IsMarshalByRef() -> bool
+@property
+def on_data_received() -> Callable[['StreamConsumer', TimeseriesData], None]
```
-Parameters
-----------
+Gets the handler for when data is received (without buffering).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[['StreamConsumer', TimeseriesData], None]: The function that handles the data received.
+ The first parameter is the stream that receives the data, and the second is the data in TimeseriesData format.
-
+
-#### get\_IsPrimitive
+#### on\_data\_received
```python
-def get_IsPrimitive() -> bool
+@on_data_received.setter
+def on_data_received(
+ value: Callable[['StreamConsumer', TimeseriesData], None]) -> None
```
-Parameters
-----------
+Sets the handler for when data is received (without buffering).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The function that handles the data received.
+ The first parameter is the stream that receives the data, and the second is the data in TimeseriesData format.
-
+
-#### get\_IsValueType
+#### on\_raw\_received
```python
-def get_IsValueType() -> bool
+@property
+def on_raw_received() -> Callable[['StreamConsumer', TimeseriesDataRaw], None]
```
-Parameters
-----------
+Gets the handler for when data is received (without buffering) in raw transport format.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[['StreamConsumer', TimeseriesDataRaw], None]: The function that handles the data received.
+ The first parameter is the stream that receives the data, and the second is the data in TimeseriesDataRaw format.
-
+
-#### IsAssignableTo
+#### on\_raw\_received
```python
-def IsAssignableTo(targetType: c_void_p) -> bool
+@on_raw_received.setter
+def on_raw_received(
+ value: Callable[['StreamConsumer', TimeseriesDataRaw], None]) -> None
```
-Parameters
-----------
-
-targetType: c_void_p
- GC Handle Pointer to .Net type Type
+Sets the handler for when data is received (without buffering) in raw transport format.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The function that handles the data received.
+ The first parameter is the stream that receives the data, and the second is the data in TimeseriesDataRaw format.
-
+
-#### get\_IsSignatureType
+#### on\_dataframe\_received
```python
-def get_IsSignatureType() -> bool
+@property
+def on_dataframe_received(
+) -> Callable[['StreamConsumer', pandas.DataFrame], None]
```
-Parameters
-----------
+Gets the handler for when data is received (without buffering) in pandas DataFrame format.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[['StreamConsumer', pandas.DataFrame], None]: The function that handles the data received.
+ The first parameter is the stream that receives the data, and the second is the data in pandas DataFrame format.
-
+
-#### get\_IsSecurityCritical
+#### on\_dataframe\_received
```python
-def get_IsSecurityCritical() -> bool
+@on_dataframe_received.setter
+def on_dataframe_received(
+ value: Callable[['StreamConsumer', pandas.DataFrame], None]) -> None
```
-Parameters
-----------
+Sets the handler for when data is received (without buffering) in pandas DataFrame format.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The function that handles the data received.
+ The first parameter is the stream that receives the data, and the second is the data in pandas DataFrame format.
-
+
-#### get\_IsSecuritySafeCritical
+#### on\_definitions\_changed
```python
-def get_IsSecuritySafeCritical() -> bool
+@property
+def on_definitions_changed() -> Callable[['StreamConsumer'], None]
```
-Parameters
-----------
+Gets the handler for when the parameter definitions have changed for the stream.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[['StreamConsumer'], None]: The function that handles the parameter definitions change.
+ The first parameter is the stream for which the parameter definitions changed.
-
+
-#### get\_IsSecurityTransparent
+#### on\_definitions\_changed
```python
-def get_IsSecurityTransparent() -> bool
+@on_definitions_changed.setter
+def on_definitions_changed(value: Callable[['StreamConsumer'], None]) -> None
```
-Parameters
-----------
+Sets the handler for when the parameter definitions have changed for the stream.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The function that handles the parameter definitions change.
+ The first parameter is the stream for which the parameter definitions changed.
-
+
-#### GetFunctionPointerCallingConventions
+#### definitions
```python
-def GetFunctionPointerCallingConventions() -> c_void_p
+@property
+def definitions() -> List[ParameterDefinition]
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+Gets the latest set of parameter definitions.
-
+
-#### GetFunctionPointerReturnType
+#### create\_buffer
```python
-def GetFunctionPointerReturnType() -> c_void_p
+def create_buffer(
+ *parameter_filter: str,
+ buffer_configuration: TimeseriesBufferConfiguration = None
+) -> TimeseriesBufferConsumer
```
-Parameters
-----------
+Creates a new buffer for consuming data according to the provided parameter_filter and buffer_configuration.
+
+**Arguments**:
+
+- `parameter_filter` - Zero or more parameter identifiers to filter as a whitelist. If provided, only those
+ parameters will be available through this buffer.
+- `buffer_configuration` - An optional TimeseriesBufferConfiguration.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+- `TimeseriesBufferConsumer` - An consumer that will raise new data consumed via the on_data_released event.
-
+
-#### GetFunctionPointerParameterTypes
+#### get\_net\_pointer
```python
-def GetFunctionPointerParameterTypes() -> c_void_p
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-Returns
--------
+Gets the .NET pointer for the StreamTimeseriesConsumer instance.
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+**Returns**:
-
+- `ctypes.c_void_p` - .NET pointer for the StreamTimeseriesConsumer instance.
-#### GetNestedType
+
-```python
-def GetNestedType(name: str) -> c_void_p
-```
+# quixstreams.models.streamconsumer.streampropertiesconsumer
-Parameters
-----------
+
-name: str
- Underlying .Net type is string
+## StreamPropertiesConsumer Objects
-Returns
--------
+```python
+@nativedecorator
+class StreamPropertiesConsumer(object)
+```
-c_void_p:
- GC Handle Pointer to .Net type Type
+Represents properties and metadata of the stream.
+All changes to these properties are automatically populated to this class.
-
+
-#### GetNestedTypes
+#### \_\_init\_\_
```python
-def GetNestedTypes() -> c_void_p
+def __init__(stream_consumer: 'StreamConsumer', net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of StreamPropertiesConsumer.
+NOTE: Do not initialize this class manually, use StreamConsumer.properties to access an instance of it.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+- `stream_consumer` - The Stream consumer that owns this stream event consumer.
+- `net_pointer` - Pointer to an instance of a .NET StreamPropertiesConsumer.
-
+
-#### GetTypeArray
+#### on\_changed
```python
-@staticmethod
-def GetTypeArray(args: c_void_p) -> c_void_p
+@property
+def on_changed() -> Callable[['StreamConsumer'], None]
```
-Parameters
-----------
-
-args: c_void_p
- GC Handle Pointer to .Net type Object[]
+Gets the handler for when the stream properties change.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+ Callable[[StreamConsumer], None]: The event handler for stream property changes.
+ The first parameter is the StreamConsumer instance for which the change is invoked.
-
+
-#### GetTypeCode
+#### on\_changed
```python
-@staticmethod
-def GetTypeCode(type: c_void_p) -> TypeCode
+@on_changed.setter
+def on_changed(value: Callable[['StreamConsumer'], None]) -> None
```
-Parameters
-----------
-
-type: c_void_p
- GC Handle Pointer to .Net type Type
+Sets the handler for when the stream properties change.
-Returns
--------
+**Arguments**:
-TypeCode:
- Underlying .Net type is TypeCode
+- `value` - The first parameter is the stream it is invoked for.
-
+
-#### GetTypeFromProgID
+#### name
```python
-@staticmethod
-def GetTypeFromProgID(progID: str) -> c_void_p
+@property
+def name() -> str
```
-Parameters
-----------
-
-progID: str
- Underlying .Net type is string
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
+Gets the name of the stream.
-
+
-#### GetTypeFromProgID2
+#### location
```python
-@staticmethod
-def GetTypeFromProgID2(progID: str, throwOnError: bool) -> c_void_p
+@property
+def location() -> str
```
-Parameters
-----------
+Gets the location of the stream.
-progID: str
- Underlying .Net type is string
+
-throwOnError: bool
- Underlying .Net type is Boolean
+#### time\_of\_recording
-Returns
--------
+```python
+@property
+def time_of_recording() -> datetime
+```
-c_void_p:
- GC Handle Pointer to .Net type Type
+Gets the datetime of the recording.
-
+
-#### GetTypeFromProgID3
+#### metadata
```python
-@staticmethod
-def GetTypeFromProgID3(progID: str, server: str) -> c_void_p
+@property
+def metadata() -> Dict[str, str]
```
-Parameters
-----------
+Gets the metadata of the stream.
-progID: str
- Underlying .Net type is string
+
-server: str
- Underlying .Net type is string
+#### parents
-Returns
--------
+```python
+@property
+def parents() -> List[str]
+```
-c_void_p:
- GC Handle Pointer to .Net type Type
+Gets the list of Stream IDs for the parent streams.
-
+
-#### GetTypeFromProgID4
+#### get\_net\_pointer
```python
-@staticmethod
-def GetTypeFromProgID4(progID: str, server: str,
- throwOnError: bool) -> c_void_p
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-progID: str
- Underlying .Net type is string
+Gets the .NET pointer for the StreamPropertiesConsumer instance.
-server: str
- Underlying .Net type is string
+**Returns**:
-throwOnError: bool
- Underlying .Net type is Boolean
+- `ctypes.c_void_p` - .NET pointer for the StreamPropertiesConsumer instance.
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Type
+# quixstreams.models.streamconsumer.streameventsconsumer
-
+
-#### get\_BaseType
+## StreamEventsConsumer Objects
```python
-def get_BaseType() -> c_void_p
+@nativedecorator
+class StreamEventsConsumer(object)
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
+Consumer for streams, which raises EventData and EventDefinitions related messages
-
+
-#### GetInterface
+#### \_\_init\_\_
```python
-def GetInterface(name: str) -> c_void_p
+def __init__(stream_consumer, net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
-
-name: str
- Underlying .Net type is string
+Initializes a new instance of StreamEventsConsumer.
+NOTE: Do not initialize this class manually, use StreamConsumer.events to access an instance of it
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+- `stream_consumer` - The Stream consumer which owns this stream event consumer
+- `net_pointer` - Pointer to an instance of a .net StreamEventsConsumer
-
+
-#### GetInterface2
+#### on\_data\_received
```python
-def GetInterface2(name: str, ignoreCase: bool) -> c_void_p
+@property
+def on_data_received() -> Callable[['StreamConsumer', EventData], None]
```
-Parameters
-----------
-
-name: str
- Underlying .Net type is string
-
-ignoreCase: bool
- Underlying .Net type is Boolean
+Gets the handler for when an events data package is received for the stream.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+ Callable[['StreamConsumer', EventData], None]:
+ The first parameter is the stream the event is received for. The second is the event.
-
+
-#### GetInterfaces
+#### on\_data\_received
```python
-def GetInterfaces() -> c_void_p
+@on_data_received.setter
+def on_data_received(
+ value: Callable[['StreamConsumer', EventData], None]) -> None
```
-Parameters
-----------
+Sets the handler for when an events data package is received for the stream.
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+- `value` - The first parameter is the stream the event is received for. The second is the event.
-
+
-#### IsInstanceOfType
+#### on\_definitions\_changed
```python
-def IsInstanceOfType(o: c_void_p) -> bool
+@property
+def on_definitions_changed() -> Callable[['StreamConsumer'], None]
```
-Parameters
-----------
-
-o: c_void_p
- GC Handle Pointer to .Net type Object
+Gets the handler for event definitions have changed for the stream.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[['StreamConsumer'], None]:
+ The first parameter is the stream the event definitions changed for.
-
+
-#### IsEquivalentTo
+#### on\_definitions\_changed
```python
-def IsEquivalentTo(other: c_void_p) -> bool
+@on_definitions_changed.setter
+def on_definitions_changed(value: Callable[['StreamConsumer'], None]) -> None
```
-Parameters
-----------
-
-other: c_void_p
- GC Handle Pointer to .Net type Type
+Sets the handler for event definitions have changed for the stream.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The first parameter is the stream the event definitions changed for.
-
+
-#### GetEnumUnderlyingType
+#### definitions
```python
-def GetEnumUnderlyingType() -> c_void_p
+@property
+def definitions() -> List[EventDefinition]
```
-Parameters
-----------
+Gets the latest set of event definitions.
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Type
+# quixstreams.models.streamconsumer.timeseriesbufferconsumer
-
+
-#### GetEnumValues
+## TimeseriesBufferConsumer Objects
```python
-def GetEnumValues() -> c_void_p
+class TimeseriesBufferConsumer(TimeseriesBuffer)
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Array
+Represents a class for consuming data from a stream in a buffered manner.
-
+
-#### GetEnumValuesAsUnderlyingType
+#### \_\_init\_\_
```python
-def GetEnumValuesAsUnderlyingType() -> c_void_p
+def __init__(stream_consumer, net_pointer: ctypes.c_void_p = None)
```
-Parameters
-----------
+Initializes a new instance of TimeseriesBufferConsumer.
+
+NOTE: Do not initialize this class manually,
+use StreamTimeseriesConsumer.create_buffer to create it.
+
+**Arguments**:
+
+- `stream_consumer` - The Stream consumer which owns this timeseries buffer consumer.
+- `net_pointer` - Pointer to an instance of a .net TimeseriesBufferConsumer.
+ Defaults to None.
+
-Returns
--------
+**Raises**:
-c_void_p:
- GC Handle Pointer to .Net type Array
+- `Exception` - If net_pointer is None.
-
+
-#### MakeArrayType
+#### get\_net\_pointer
```python
-def MakeArrayType() -> c_void_p
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-Returns
--------
+Retrieves the pointer to the .net TimeseriesBufferConsumer instance.
-c_void_p:
- GC Handle Pointer to .Net type Type
+**Returns**:
-
+- `ctypes.c_void_p` - The pointer to the .net TimeseriesBufferConsumer instance.
-#### MakeArrayType2
+
-```python
-def MakeArrayType2(rank: int) -> c_void_p
-```
+# quixstreams.models.streamconsumer
-Parameters
-----------
+
-rank: int
- Underlying .Net type is int
+# quixstreams.models.commitmode
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Type
+# quixstreams.models.codectype
-
+
-#### MakeByRefType
+## CodecType Objects
```python
-def MakeByRefType() -> c_void_p
+class CodecType(Enum)
```
-Parameters
-----------
+Codecs available for serialization and deserialization of streams.
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Type
+# quixstreams.models.netlist
-
+
-#### MakeGenericType
+## NetReadOnlyList Objects
```python
-def MakeGenericType(typeArguments: c_void_p) -> c_void_p
+class NetReadOnlyList(object)
```
-Parameters
-----------
-
-typeArguments: c_void_p
-GC Handle Pointer to .Net type Type[]
-
-Returns
--------
-
-c_void_p:
-GC Handle Pointer to .Net type Type
+Experimental. Acts as a proxy between a .net collection and a python list. Useful if .net collection is observable and reacts to changes
-
+
-#### MakePointerType
+## NetList Objects
```python
-def MakePointerType() -> c_void_p
+class NetList(NetReadOnlyList)
```
-Parameters
-----------
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
+Experimental. Acts as a proxy between a .net collection and a python list. Useful if .net collection is observable and reacts to changes
-
+
-#### MakeGenericSignatureType
+#### constructor\_for\_string
```python
@staticmethod
-def MakeGenericSignatureType(genericTypeDefinition: c_void_p,
- typeArguments: c_void_p) -> c_void_p
+def constructor_for_string(net_pointer=None)
```
-Parameters
-----------
-
-genericTypeDefinition: c_void_p
-GC Handle Pointer to .Net type Type
-
-typeArguments: c_void_p
-GC Handle Pointer to .Net type Type[]
+Creates an empty dotnet list for strings if no pointer provided, else wraps in NetDict with string converters
-Returns
--------
+
-c_void_p:
-GC Handle Pointer to .Net type Type
+# quixstreams.models.timeseriesbufferconfiguration
-
+
-#### MakeGenericMethodParameter
+## TimeseriesBufferConfiguration Objects
```python
-@staticmethod
-def MakeGenericMethodParameter(position: int) -> c_void_p
+@nativedecorator
+class TimeseriesBufferConfiguration(object)
```
-Parameters
-----------
-
-position: int
- Underlying .Net type is int
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Type
+Describes the configuration for timeseries buffers
+When buffer conditions are not configured, it acts a pass-through, raising each message as arrives.
-
+
-#### ToString
+#### \_\_init\_\_
```python
-def ToString() -> str
+def __init__(net_pointer: ctypes.c_void_p = None)
```
-Parameters
-----------
+Initializes a new instance of TimeseriesBufferConfiguration.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `net_pointer` - Can be ignored, here for internal purposes .net object: The .net object representing a TimeseriesBufferConfiguration. Defaults to None.
-
+
-#### Equals
+#### packet\_size
```python
-def Equals(o: c_void_p) -> bool
+@property
+def packet_size() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum packet size in terms of values for the buffer.
-o: c_void_p
- GC Handle Pointer to .Net type Object
+When the buffer reaches this number of values, a callback method, such as on_data_released, is invoked and the buffer is cleared.
+If not set, defaults to None (disabled).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - The maximum packet size in values or None if disabled.
-
+
-#### GetHashCode
+#### packet\_size
```python
-def GetHashCode() -> int
+@packet_size.setter
+def packet_size(value: Optional[int])
```
-Parameters
-----------
+Sets the maximum packet size in terms of values for the buffer.
+
+When the buffer reaches this number of values, a callback method, such as on_data_released, is invoked and the buffer is cleared.
+If not set, defaults to None (disabled).
-Returns
--------
+**Arguments**:
-int:
- Underlying .Net type is int
+- `value` - The maximum packet size in values or None to disable.
-
+
-#### Equals2
+#### time\_span\_in\_nanoseconds
```python
-def Equals2(o: c_void_p) -> bool
+@property
+def time_span_in_nanoseconds() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum time difference between timestamps in the buffer, in nanoseconds.
-o: c_void_p
- GC Handle Pointer to .Net type Type
+When the difference between the earliest and latest buffered timestamp exceeds this value, a callback
+method, such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - The maximum time span in nanoseconds or None if disabled.
-
+
-#### op\_Equality
+#### time\_span\_in\_nanoseconds
```python
-@staticmethod
-def op_Equality(left: c_void_p, right: c_void_p) -> bool
+@time_span_in_nanoseconds.setter
+def time_span_in_nanoseconds(value: Optional[int])
```
-Parameters
-----------
-
-left: c_void_p
- GC Handle Pointer to .Net type Type
+Sets the maximum time difference between timestamps in the buffer, in nanoseconds.
-right: c_void_p
- GC Handle Pointer to .Net type Type
+When the difference between the earliest and latest buffered timestamp exceeds this value, a callback method,
+such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The maximum time span in nanoseconds or None to disable.
-
+
-#### op\_Inequality
+#### time\_span\_in\_milliseconds
```python
-@staticmethod
-def op_Inequality(left: c_void_p, right: c_void_p) -> bool
+@property
+def time_span_in_milliseconds() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum time difference between timestamps in the buffer, in milliseconds.
-left: c_void_p
- GC Handle Pointer to .Net type Type
+When the difference between the earliest and latest buffered timestamp exceeds this value, a callback method,
+such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-right: c_void_p
- GC Handle Pointer to .Net type Type
+Note: This is a millisecond converter on top of time_span_in_nanoseconds. They both work with the same underlying value.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - The maximum time span in milliseconds or None if disabled.
-
+
-#### ReflectionOnlyGetType
+#### time\_span\_in\_milliseconds
```python
-@staticmethod
-def ReflectionOnlyGetType(typeName: str, throwIfNotFound: bool,
- ignoreCase: bool) -> c_void_p
+@time_span_in_milliseconds.setter
+def time_span_in_milliseconds(value: Optional[int])
```
-Parameters
-----------
-
-typeName: str
- Underlying .Net type is string
-
-throwIfNotFound: bool
- Underlying .Net type is Boolean
+Sets the maximum time difference between timestamps in the buffer, in milliseconds.
-ignoreCase: bool
- Underlying .Net type is Boolean
+When the difference between the earliest and latest buffered timestamp exceeds this value, a callback method,
+such as on_data_released, is invoked and the data is cleared from the buffer. If not set, defaults to None (disabled).
-Returns
--------
+**Arguments**:
-c_void_p:
- GC Handle Pointer to .Net type Type
+- `value` - The maximum time span in nanoseconds or None to disable.
-
+
-#### IsEnumDefined
+#### buffer\_timeout
```python
-def IsEnumDefined(value: c_void_p) -> bool
+@property
+def buffer_timeout() -> Optional[int]
```
-Parameters
-----------
+Gets the maximum duration for which the buffer will be held before releasing the events through callbacks, such as on_data_released.
-value: c_void_p
- GC Handle Pointer to .Net type Object
+A callback will be invoked once the configured value has elapsed or other buffer conditions are met.
+If not set, defaults to None (disabled).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `Optional[int]` - The maximum buffer timeout in milliseconds or None if disabled.
-
+
-#### GetEnumName
+#### buffer\_timeout
```python
-def GetEnumName(value: c_void_p) -> str
+@buffer_timeout.setter
+def buffer_timeout(value: Optional[int])
```
-Parameters
-----------
+Sets the maximum duration for which the buffer will be held before releasing the events through callbacks, such as on_data_released.
-value: c_void_p
- GC Handle Pointer to .Net type Object
+A callback will be invoked once the configured value has elapsed or other buffer conditions are met.
+If not set, defaults to None (disabled).
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `value` - The maximum buffer timeout in milliseconds or None to disable.
-
+
-#### GetEnumNames
+#### custom\_trigger\_before\_enqueue
```python
-def GetEnumNames() -> c_void_p
+@property
+def custom_trigger_before_enqueue(
+) -> Callable[[TimeseriesDataTimestamp], bool]
```
-Parameters
-----------
+Gets the custom function that is called before adding a timestamp to the buffer.
+
+If the function returns True, the buffer releases content and triggers relevant callbacks before adding the timestamp to
+the buffer. If not set, defaults to None (disabled).
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type string[]
+ Callable[[TimeseriesDataTimestamp], bool]: The custom function or None if disabled.
-
+
-#### get\_IsSerializable
+#### custom\_trigger\_before\_enqueue
```python
-def get_IsSerializable() -> bool
+@custom_trigger_before_enqueue.setter
+def custom_trigger_before_enqueue(value: Callable[[TimeseriesDataTimestamp],
+ bool])
```
-Parameters
-----------
+Sets the custom function that is called before adding a timestamp to the buffer.
+
+If the function returns True, the buffer releases content and triggers relevant callbacks before adding the timestamp
+to the buffer. If not set, defaults to None (disabled).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The custom function or None to disable.
-
+
-#### get\_ContainsGenericParameters
+#### filter
```python
-def get_ContainsGenericParameters() -> bool
+@property
+def filter() -> Callable[[TimeseriesDataTimestamp], bool]
```
-Parameters
-----------
+Gets the custom function used to filter incoming data before adding it to the buffer.
+
+If the function returns True, the data is added to the buffer; otherwise, it is not. If not set, defaults to None
+(disabled).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[[TimeseriesDataTimestamp], bool]: The custom filter function or None if disabled.
-
+
-#### get\_IsVisible
+#### filter
```python
-def get_IsVisible() -> bool
+@filter.setter
+def filter(value: Callable[[TimeseriesDataTimestamp], bool])
```
-Parameters
-----------
+Sets the custom function used to filter incoming data before adding it to the buffer.
+
+If the function returns True, the data is added to the buffer; otherwise, it is not. If not set, defaults to None
+(disabled).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The custom filter function or None to disable.
-
+
-#### IsSubclassOf
+#### custom\_trigger
```python
-def IsSubclassOf(c: c_void_p) -> bool
+@property
+def custom_trigger() -> Callable[[TimeseriesData], bool]
```
-Parameters
-----------
+Gets the custom function that is called after adding a new timestamp to the buffer.
-c: c_void_p
- GC Handle Pointer to .Net type Type
+If the function returns True, the buffer releases content and triggers relevant callbacks.
+If not set, defaults to None (disabled).
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+ Callable[[TimeseriesData], bool]: The custom trigger function or None if disabled.
-
+
-#### IsAssignableFrom
+#### custom\_trigger
```python
-def IsAssignableFrom(c: c_void_p) -> bool
+@custom_trigger.setter
+def custom_trigger(value: Callable[[TimeseriesData], bool])
```
-Parameters
-----------
+Sets the custom function that is called after adding a new timestamp to the buffer.
-c: c_void_p
- GC Handle Pointer to .Net type Type
+If the function returns True, the buffer releases content and triggers relevant callbacks.
+If not set, defaults to None (disabled).
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `value` - The custom trigger function or None to disable.
-
+
-#### get\_Name
+#### get\_net\_pointer
```python
-def get_Name() -> str
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
+Returns the .net pointer for the TimeseriesBufferConfiguration object.
+
+**Returns**:
+
+- `ctypes.c_void_p` - The .net pointer for the TimeseriesBufferConfiguration object.
-Returns
--------
+
-str:
- Underlying .Net type is string
+# quixstreams.models.netdict
-
+
-#### IsDefined
+## ReadOnlyNetDict Objects
```python
-def IsDefined(attributeType: c_void_p, inherit: bool) -> bool
+class ReadOnlyNetDict(object)
```
-Parameters
-----------
+Experimental. Acts as a proxy between a .net dictionary and a python dict. Useful if .net dictionary is observable and reacts to changes
-attributeType: c_void_p
- GC Handle Pointer to .Net type Type
+
-inherit: bool
- Underlying .Net type is Boolean
+## NetDict Objects
-Returns
--------
+```python
+class NetDict(ReadOnlyNetDict)
+```
-bool:
- Underlying .Net type is Boolean
+Experimental. Acts as a proxy between a .net dictionary and a python list.
-
+
-#### GetCustomAttributes
+#### constructor\_for\_string\_string
```python
-def GetCustomAttributes(inherit: bool) -> c_void_p
+@staticmethod
+def constructor_for_string_string(net_pointer=None)
```
-Parameters
-----------
-
-inherit: bool
- Underlying .Net type is Boolean
+Creates an empty dotnet list for strings if no pointer provided, else wraps in NetDict with string converters
-Returns
--------
+
-c_void_p:
- GC Handle Pointer to .Net type Object[]
+# quixstreams.models.timeseriesdatatimestamp
-
+
-#### GetCustomAttributes2
+## TimeseriesDataTimestamp Objects
```python
-def GetCustomAttributes2(attributeType: c_void_p, inherit: bool) -> c_void_p
+@nativedecorator
+class TimeseriesDataTimestamp()
```
-Parameters
-----------
-
-attributeType: c_void_p
- GC Handle Pointer to .Net type Type
-
-inherit: bool
- Underlying .Net type is Boolean
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Object[]
+Represents a single point in time with parameter values and tags attached to that time.
-
+
-#### get\_IsCollectible
+#### \_\_init\_\_
```python
-def get_IsCollectible() -> bool
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of TimeseriesDataTimestamp.
-Returns
--------
+**Arguments**:
-bool:
- Underlying .Net type is Boolean
+- `net_pointer` - Pointer to an instance of a .net TimeseriesDataTimestamp.
-
+
-#### get\_MetadataToken
+#### parameters
```python
-def get_MetadataToken() -> int
+@property
+def parameters() -> Dict[str, ParameterValue]
```
-Parameters
-----------
+Gets the parameter values for the timestamp as a dictionary. If a key is not found, returns an empty ParameterValue.
-Returns
--------
+**Returns**:
-int:
- Underlying .Net type is int
+ Dict[str, ParameterValue]: A dictionary with parameter id as key and ParameterValue as value.
-
+
-#### get\_EmptyTypes
+#### tags
```python
-@staticmethod
-def get_EmptyTypes() -> c_void_p
+@property
+def tags() -> Dict[str, str]
```
-Parameters
-----------
+Gets the tags for the timestamp as a dictionary.
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Type[]
+ Dict[str, str]: A dictionary with tag id as key and tag value as value.
-
+
-#### get\_Missing
+#### timestamp\_nanoseconds
```python
-@staticmethod
-def get_Missing() -> c_void_p
+@property
+def timestamp_nanoseconds() -> int
```
-Parameters
-----------
-
-Returns
--------
+Gets the timestamp in nanoseconds.
-c_void_p:
- GC Handle Pointer to .Net type Object
+**Returns**:
-
+- `int` - The timestamp in nanoseconds.
-# quixstreams.native.Python.SystemPrivateCoreLib.System.TypeCode
+
-
+#### timestamp\_milliseconds
-# quixstreams.native.Python.SystemPrivateUri.System.Uri
+```python
+@property
+def timestamp_milliseconds() -> int
+```
-
+Gets the timestamp in milliseconds.
-## Uri Objects
+**Returns**:
-```python
-class Uri(object)
-```
+- `int` - The timestamp in milliseconds.
-
+
-#### \_\_new\_\_
+#### timestamp
```python
-def __new__(cls, net_pointer: c_void_p)
+@property
+def timestamp() -> datetime
```
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type Uri
+Gets the timestamp in datetime format.
-Returns
-----------
+**Returns**:
-Uri:
- Instance wrapping the .net type Uri
+- `datetime` - The timestamp in datetime format.
-
+
-#### \_\_init\_\_
+#### timestamp\_as\_time\_span
```python
-def __init__(net_pointer: c_void_p, finalize: bool = True)
+@property
+def timestamp_as_time_span() -> timedelta
```
-Parameters
-----------
-
-net_pointer: c_void_p
- GC Handle Pointer to .Net type Uri
+Gets the timestamp in timespan format.
-Returns
-----------
+**Returns**:
-Uri:
- Instance wrapping the .net type Uri
+- `timedelta` - The timestamp in timespan format.
-
+
-#### Constructor
+#### add\_value
```python
-@staticmethod
-def Constructor(uriString: str) -> c_void_p
+def add_value(
+ parameter_id: str, value: Union[numbers.Number, str, bytearray, bytes]
+) -> 'TimeseriesDataTimestamp'
```
-Parameters
-----------
+Adds a new value for the specified parameter.
+
+**Arguments**:
-uriString: str
- Underlying .Net type is string
+- `parameter_id` - The parameter id to add the value for.
+- `value` - The value to add. Can be a number, string, bytearray, or bytes.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Uri
+- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
+
-#### Constructor2
+#### remove\_value
```python
-@staticmethod
-def Constructor2(uriString: str, dontEscape: bool) -> c_void_p
+def remove_value(parameter_id: str) -> 'TimeseriesDataTimestamp'
```
-Parameters
-----------
+Removes the value for the specified parameter.
-uriString: str
- Underlying .Net type is string
+**Arguments**:
-dontEscape: bool
- Underlying .Net type is Boolean
+- `parameter_id` - The parameter id to remove the value for.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Uri
+- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
+
-#### Constructor3
+#### add\_tag
```python
-@staticmethod
-def Constructor3(baseUri: c_void_p, relativeUri: str,
- dontEscape: bool) -> c_void_p
+def add_tag(tag_id: str, tag_value: str) -> 'TimeseriesDataTimestamp'
```
-Parameters
-----------
-
-baseUri: c_void_p
- GC Handle Pointer to .Net type Uri
+Adds a tag to the timestamp.
-relativeUri: str
- Underlying .Net type is string
+**Arguments**:
-dontEscape: bool
- Underlying .Net type is Boolean
+- `tag_id` - The id of the tag to add.
+- `tag_value` - The value of the tag to add.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Uri
+- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
+
-#### Constructor6
+#### remove\_tag
```python
-@staticmethod
-def Constructor6(baseUri: c_void_p, relativeUri: str) -> c_void_p
+def remove_tag(tag_id: str) -> 'TimeseriesDataTimestamp'
```
-Parameters
-----------
+Removes a tag from the timestamp.
-baseUri: c_void_p
- GC Handle Pointer to .Net type Uri
+**Arguments**:
-relativeUri: str
- Underlying .Net type is string
+- `tag_id` - The id of the tag to remove.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Uri
+- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
+
-#### Constructor7
+#### add\_tags
```python
-@staticmethod
-def Constructor7(baseUri: c_void_p, relativeUri: c_void_p) -> c_void_p
+def add_tags(tags: Dict[str, str]) -> 'TimeseriesDataTimestamp'
```
-Parameters
-----------
+Copies the tags from the specified dictionary. Conflicting tags will be overwritten.
-baseUri: c_void_p
- GC Handle Pointer to .Net type Uri
+**Arguments**:
-relativeUri: c_void_p
- GC Handle Pointer to .Net type Uri
+- `tags` - The dictionary of tags to add, with tag id as key and tag value as value.
+
-Returns
--------
+**Returns**:
-c_void_p:
- GC Handle Pointer to .Net type Uri
+- `TimeseriesDataTimestamp` - The updated TimeseriesDataTimestamp instance.
-
+
-#### get\_AbsolutePath
+#### get\_net\_pointer
```python
-def get_AbsolutePath() -> str
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Gets the .net pointer of the TimeseriesDataTimestamp instance.
-
+**Returns**:
-#### get\_AbsoluteUri
+- `ctypes.c_void_p` - The .net pointer of the TimeseriesDataTimestamp instance.
-```python
-def get_AbsoluteUri() -> str
-```
+
-Parameters
-----------
+# quixstreams.models.streamendtype
-Returns
--------
+
-str:
- Underlying .Net type is string
+# quixstreams.models.eventdata
-
+
-#### get\_LocalPath
+## EventData Objects
```python
-def get_LocalPath() -> str
+@nativedecorator
+class EventData(object)
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Represents a single point in time with event value and tags attached to it.
-
+
-#### get\_Authority
+#### \_\_init\_\_
```python
-def get_Authority() -> str
+def __init__(event_id: str = None,
+ time: Union[int, str, datetime, pd.Timestamp] = None,
+ value: str = None,
+ net_pointer: ctypes.c_void_p = None)
```
-Parameters
-----------
+Initializes a new instance of EventData.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `event_id` - The unique id of the event the value belongs to.
+- `time` - The time at which the event has occurred in nanoseconds since epoch or as a datetime.
+- `value` - The value of the event.
+- `net_pointer` - Pointer to an instance of a .net EventData.
-
+
-#### get\_IsDefaultPort
+#### id
```python
-def get_IsDefaultPort() -> bool
+@property
+def id() -> str
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets the globally unique identifier of the event.
-
+
-#### get\_IsFile
+#### id
```python
-def get_IsFile() -> bool
+@id.setter
+def id(value: str) -> None
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Sets the globally unique identifier of the event.
-
+
-#### get\_IsLoopback
+#### value
```python
-def get_IsLoopback() -> bool
+@property
+def value() -> str
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets the value of the event.
-
+
-#### get\_PathAndQuery
+#### value
```python
-def get_PathAndQuery() -> str
+@value.setter
+def value(value: str) -> None
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Sets the value of the event.
-
+
-#### get\_Segments
+#### tags
```python
-def get_Segments() -> c_void_p
+@property
+def tags() -> Dict[str, str]
```
-Parameters
-----------
-
-Returns
--------
+Gets the tags for the timestamp.
-c_void_p:
- GC Handle Pointer to .Net type string[]
+If a key is not found, it returns None.
+The dictionary key is the tag id.
+The dictionary value is the tag value.
-
+
-#### get\_IsUnc
+#### timestamp\_nanoseconds
```python
-def get_IsUnc() -> bool
+@property
+def timestamp_nanoseconds() -> int
```
-Parameters
-----------
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Gets timestamp in nanoseconds.
-
+
-#### get\_Host
+#### timestamp\_milliseconds
```python
-def get_Host() -> str
+@property
+def timestamp_milliseconds() -> int
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Gets timestamp in milliseconds.
-
+
-#### get\_Port
+#### timestamp
```python
-def get_Port() -> int
+@property
+def timestamp() -> datetime
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Gets the timestamp in datetime format.
-
+
-#### get\_Query
+#### timestamp\_as\_time\_span
```python
-def get_Query() -> str
+@property
+def timestamp_as_time_span() -> timedelta
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Gets the timestamp in timespan format.
-
+
-#### get\_Fragment
+#### clone
```python
-def get_Fragment() -> str
+def clone()
```
-Parameters
-----------
+Clones the event data.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `EventData` - Cloned EventData object.
-
+
-#### get\_Scheme
+#### add\_tag
```python
-def get_Scheme() -> str
+def add_tag(tag_id: str, tag_value: str) -> 'EventData'
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_OriginalString
+Adds a tag to the event.
-```python
-def get_OriginalString() -> str
-```
+**Arguments**:
-Parameters
-----------
+- `tag_id` - The id of the tag.
+- `tag_value` - The value to set.
+
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `EventData` - The updated EventData object.
-
+
-#### get\_DnsSafeHost
+#### add\_tags
```python
-def get_DnsSafeHost() -> str
+def add_tags(tags: Dict[str, str]) -> 'EventData'
```
-Parameters
-----------
+Adds tags from the specified dictionary. Conflicting tags will be overwritten.
+
+**Arguments**:
+
+- `tags` - The tags to add.
+
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `EventData` - The updated EventData object.
-
+
-#### get\_IdnHost
+#### remove\_tag
```python
-def get_IdnHost() -> str
+def remove_tag(tag_id: str) -> 'EventData'
```
-Parameters
-----------
+Removes a tag from the event.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `tag_id` - The id of the tag to remove.
+
-
+**Returns**:
-#### get\_IsAbsoluteUri
+- `EventData` - The updated EventData object.
-```python
-def get_IsAbsoluteUri() -> bool
-```
+
-Parameters
-----------
+#### get\_net\_pointer
-Returns
--------
+```python
+def get_net_pointer()
+```
-bool:
- Underlying .Net type is Boolean
+Gets the associated .net object pointer.
-
+**Returns**:
-#### get\_UserEscaped
+ The .net object pointer.
-```python
-def get_UserEscaped() -> bool
-```
+
-Parameters
-----------
+# quixstreams.models
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.models.autooffsetreset
-
+
-#### get\_UserInfo
+## AutoOffsetReset Objects
```python
-def get_UserInfo() -> str
+class AutoOffsetReset(Enum)
```
-Parameters
-----------
+Enum representing the policy on how a consumer should behave when consuming from a topic partition when there is no initial offset.
-Returns
--------
+
-str:
- Underlying .Net type is string
+#### Latest
-
+Latest: Starts from the newest message if there is no stored offset.
-#### IsHexEncoding
+
-```python
-@staticmethod
-def IsHexEncoding(pattern: str, index: int) -> bool
-```
+#### Earliest
+
+Earliest: Starts from the oldest message if there is no stored offset.
-Parameters
-----------
+
-pattern: str
- Underlying .Net type is string
+#### Error
-index: int
- Underlying .Net type is int
+Error: Throws an exception if there is no stored offset.
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.app
-
+
-#### CheckSchemeName
+## CancellationTokenSource Objects
```python
-@staticmethod
-def CheckSchemeName(schemeName: str) -> bool
+class CancellationTokenSource()
```
-Parameters
-----------
-
-schemeName: str
- Underlying .Net type is string
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Represents a token source that can signal a cancellation System.Threading.CancellationToken
-
+
-#### GetHashCode
+#### \_\_init\_\_
```python
-def GetHashCode() -> int
+def __init__()
```
-Parameters
-----------
-
-Returns
--------
-
-int:
- Underlying .Net type is int
+Initializes a new instance of the CancellationTokenSource class.
-
+
-#### ToString
+#### is\_cancellation\_requested
```python
-def ToString() -> str
+def is_cancellation_requested()
```
-Parameters
-----------
+Checks if a cancellation has been requested.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `bool` - True if the cancellation has been requested, False otherwise.
-
+
-#### op\_Equality
+#### cancel
```python
-@staticmethod
-def op_Equality(uri1: c_void_p, uri2: c_void_p) -> bool
+def cancel() -> 'CancellationToken'
```
-Parameters
-----------
-
-uri1: c_void_p
- GC Handle Pointer to .Net type Uri
-
-uri2: c_void_p
- GC Handle Pointer to .Net type Uri
-
-Returns
--------
-
-bool:
- Underlying .Net type is Boolean
+Signals a cancellation to the CancellationToken.
-
+
-#### op\_Inequality
+#### token
```python
-@staticmethod
-def op_Inequality(uri1: c_void_p, uri2: c_void_p) -> bool
+@property
+def token() -> 'CancellationToken'
```
-Parameters
-----------
-
-uri1: c_void_p
- GC Handle Pointer to .Net type Uri
-
-uri2: c_void_p
- GC Handle Pointer to .Net type Uri
+Gets the associated CancellationToken.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `CancellationToken` - The CancellationToken associated with this CancellationTokenSource.
-
+
-#### Equals
+#### get\_net\_pointer
```python
-def Equals(comparand: c_void_p) -> bool
+def get_net_pointer() -> ctypes.c_void_p
```
-Parameters
-----------
-
-comparand: c_void_p
- GC Handle Pointer to .Net type Object
+Gets the interop pointer of the CancellationTokenSource object.
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `ctypes.c_void_p` - The interop pointer of the CancellationTokenSource object.
-
+
-#### MakeRelativeUri
+## App Objects
```python
-def MakeRelativeUri(uri: c_void_p) -> c_void_p
+class App()
```
-Parameters
-----------
-
-uri: c_void_p
- GC Handle Pointer to .Net type Uri
-
-Returns
--------
-
-c_void_p:
- GC Handle Pointer to .Net type Uri
+Provides utilities to handle default streaming behaviors and automatic resource cleanup on shutdown.
-
+
-#### MakeRelative
+#### run
```python
-def MakeRelative(toUri: c_void_p) -> str
+@staticmethod
+def run(cancellation_token: CancellationToken = None,
+ before_shutdown: Callable[[], None] = None)
```
-Parameters
-----------
-
-toUri: c_void_p
- GC Handle Pointer to .Net type Uri
+Runs the application, managing streaming behaviors and automatic resource cleanup on shutdown.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `cancellation_token` - An optional CancellationToken to abort the application run with.
+- `before_shutdown` - An optional function to call before shutting down the application.
-
+
-#### TryCreate3
+#### get\_state\_manager
```python
@staticmethod
-def TryCreate3(baseUri: c_void_p, relativeUri: str, result: c_void_p) -> bool
+def get_state_manager() -> AppStateManager
```
-Parameters
-----------
+Retrieves the state manager for the application
-baseUri: c_void_p
- GC Handle Pointer to .Net type Uri
-
-relativeUri: str
- Underlying .Net type is string
-
-result: c_void_p
- GC Handle Pointer to .Net type Uri&
-
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `AppStateManager` - the app's state manager
-
+
-#### TryCreate4
+#### set\_state\_storage
```python
@staticmethod
-def TryCreate4(baseUri: c_void_p, relativeUri: c_void_p,
- result: c_void_p) -> bool
+def set_state_storage(storage: IStateStorage) -> None
```
-Parameters
-----------
+Sets the state storage for the app
-baseUri: c_void_p
- GC Handle Pointer to .Net type Uri
-
-relativeUri: c_void_p
- GC Handle Pointer to .Net type Uri
+**Arguments**:
-result: c_void_p
- GC Handle Pointer to .Net type Uri&
+- `storage` - The state storage to use for app's state manager
-Returns
--------
+
-bool:
- Underlying .Net type is Boolean
+# quixstreams.states.topicstatemanager
-
+
-#### IsWellFormedOriginalString
+## TopicStateManager Objects
```python
-def IsWellFormedOriginalString() -> bool
+@nativedecorator
+class TopicStateManager(object)
```
-Parameters
-----------
-
-Returns
--------
+Manages the states of a topic.
-bool:
- Underlying .Net type is Boolean
+
-
-
-#### UnescapeDataString
+#### \_\_init\_\_
```python
-@staticmethod
-def UnescapeDataString(stringToUnescape: str) -> str
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of TopicStateManager.
-stringToUnescape: str
- Underlying .Net type is string
+NOTE: Do not initialize this class manually, use TopicConsumer.get_state_manager
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `net_pointer` - The .net object representing a TopicStateManager.
-
+
-#### EscapeUriString
+#### get\_stream\_states
```python
-@staticmethod
-def EscapeUriString(stringToEscape: str) -> str
+def get_stream_states() -> List[str]
```
-Parameters
-----------
+Returns a collection of all available stream state ids for the current topic.
-stringToEscape: str
- Underlying .Net type is string
-
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `List[str]` - All available stream state ids for the current topic.
-
+
-#### EscapeDataString
+#### get\_stream\_state\_manager
```python
-@staticmethod
-def EscapeDataString(stringToEscape: str) -> str
+def get_stream_state_manager(stream_id: str) -> StreamStateManager
```
-Parameters
-----------
-
-stringToEscape: str
- Underlying .Net type is string
+Gets an instance of the StreamStateManager for the specified stream_id.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `stream_id` - The ID of the stream
-
+
-#### IsBaseOf
+#### delete\_stream\_state
```python
-def IsBaseOf(uri: c_void_p) -> bool
+def delete_stream_state(stream_id: str) -> bool
```
-Parameters
-----------
+Deletes the stream state for the specified stream
+
+**Arguments**:
-uri: c_void_p
- GC Handle Pointer to .Net type Uri
+- `stream_id` - The ID of the stream
+
-Returns
--------
+**Returns**:
-bool:
- Underlying .Net type is Boolean
+- `bool` - Whether the stream state was deleted
-
+
-#### get\_UriSchemeFile
+#### delete\_stream\_states
```python
-@staticmethod
-def get_UriSchemeFile() -> str
+def delete_stream_states() -> int
```
-Parameters
-----------
+Deletes all stream states for the current topic.
-Returns
--------
-
-str:
- Underlying .Net type is string
-
-
-
-#### get\_UriSchemeFtp
-
-```python
-@staticmethod
-def get_UriSchemeFtp() -> str
-```
+**Returns**:
-Parameters
-----------
+- `int` - The number of stream states that were deleted
-Returns
--------
+
-str:
- Underlying .Net type is string
+# quixstreams.states.streamstatemanager
-
+
-#### get\_UriSchemeSftp
+## StreamStateManager Objects
```python
-@staticmethod
-def get_UriSchemeSftp() -> str
+@nativedecorator
+class StreamStateManager(object)
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Manages the states of a stream.
-
+
-#### get\_UriSchemeFtps
+#### \_\_init\_\_
```python
-@staticmethod
-def get_UriSchemeFtps() -> str
+def __init__(net_pointer: ctypes.c_void_p)
```
-Parameters
-----------
+Initializes a new instance of StreamStateManager.
+
+NOTE: Do not initialize this class manually, use StreamConsumer.get_state_manager
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `net_pointer` - The .net object representing a StreamStateManager.
-
+
-#### get\_UriSchemeGopher
+#### get\_dict\_state
```python
-@staticmethod
-def get_UriSchemeGopher() -> str
+def get_dict_state(
+ state_name: str,
+ default_value_factory: Callable[[str], StreamStateType] = None,
+ state_type: StreamStateType = None) -> StreamState[StreamStateType]
```
-Parameters
-----------
+Creates a new application state of dictionary type with automatically managed lifecycle for the stream
+
+**Arguments**:
+
+- `state_name` - The name of the state
+- `state_type` - The type of the state
+- `default_value_factory` - The default value factory to create value when the key is not yet present in the state
+
-Returns
--------
+**Example**:
-str:
- Underlying .Net type is string
+ >>> state_manager.get_dict_state('some_state')
+ This will return a state where type is 'Any'
+
+ >>> state_manager.get_dict_state('some_state', lambda missing_key: return {})
+ this will return a state where type is a generic dictionary, with an empty dictionary as default value when
+ key is not available. The lambda function will be invoked with 'get_state_type_check' key to determine type
+
+ >>> state_manager.get_dict_state('some_state', lambda missing_key: return {}, Dict[str, float])
+ this will return a state where type is a specific dictionary type, with default value
+
+ >>> state_manager.get_dict_state('some_state', state_type=float)
+ this will return a state where type is a float without default value, resulting in KeyError when not found
-
+
-#### get\_UriSchemeHttp
+#### get\_states
```python
-@staticmethod
-def get_UriSchemeHttp() -> str
+def get_states() -> List[str]
```
-Parameters
-----------
+Returns an enumerable collection of all available state names for the current stream.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `List[str]` - All available stream state names for this state
-
+
-#### get\_UriSchemeHttps
+#### delete\_state
```python
-@staticmethod
-def get_UriSchemeHttps() -> str
+def delete_state(state_name: str) -> bool
```
-Parameters
-----------
+Deletes the state with the specified name
+
+**Arguments**:
+
+- `state_name` - The state to delete
+
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `bool` - Whether the state was deleted<
-
+
-#### get\_UriSchemeWs
+#### delete\_states
```python
-@staticmethod
-def get_UriSchemeWs() -> str
+def delete_states() -> int
```
-Parameters
-----------
+Deletes all states for the current stream.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `int` - The number of states that were deleted
-
+
-#### get\_UriSchemeWss
+# quixstreams.states.streamstate
-```python
-@staticmethod
-def get_UriSchemeWss() -> str
-```
+
-Parameters
-----------
+## StreamState Objects
-Returns
--------
+```python
+@nativedecorator
+class StreamState(Generic[StreamStateType])
+```
-str:
- Underlying .Net type is string
+Represents a dictionary-like storage of key-value pairs with a specific topic and storage name.
-
+
-#### get\_UriSchemeMailto
+#### \_\_init\_\_
```python
-@staticmethod
-def get_UriSchemeMailto() -> str
+def __init__(net_pointer: ctypes.c_void_p, state_type: StreamStateType,
+ default_value_factory: Callable[[str], StreamStateType])
```
-Parameters
-----------
+Initializes a new instance of StreamState.
+
+NOTE: Do not initialize this class manually, use StreamStateManager.get_state
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `net_pointer` - The .net object representing a StreamState.
+- `state_type` - The type of the state
+- `default_value_factory` - The default value factory to create value when the key is not yet present in the state
-
+
-#### get\_UriSchemeNews
+#### type
```python
-@staticmethod
-def get_UriSchemeNews() -> str
+@property
+def type() -> type
```
-Parameters
-----------
+Gets the type of the StreamState
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+- `StreamStateType` - type of the state
-
+
-#### get\_UriSchemeNntp
+#### on\_flushed
```python
-@staticmethod
-def get_UriSchemeNntp() -> str
+@property
+def on_flushed() -> Callable[[], None]
```
-Parameters
-----------
+Gets the handler for when flush operation is completed.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+ Callable[[], None]: The event handler for after flush.
-
+
-#### get\_UriSchemeSsh
+#### on\_flushed
```python
-@staticmethod
-def get_UriSchemeSsh() -> str
+@on_flushed.setter
+def on_flushed(value: Callable[[], None]) -> None
```
-Parameters
-----------
+Sets the handler for when flush operation is completed.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `value` - The parameterless callback to invoke
-
+
-#### get\_UriSchemeTelnet
+#### on\_flushing
```python
-@staticmethod
-def get_UriSchemeTelnet() -> str
+@property
+def on_flushing() -> Callable[[], None]
```
-Parameters
-----------
+Gets the handler for when flush operation begins.
-Returns
--------
+**Returns**:
-str:
- Underlying .Net type is string
+ Callable[[], None]: The event handler for after flush.
-
+
-#### get\_UriSchemeNetTcp
+#### on\_flushing
```python
-@staticmethod
-def get_UriSchemeNetTcp() -> str
+@on_flushing.setter
+def on_flushing(value: Callable[[], None]) -> None
```
-Parameters
-----------
+Sets the handler for when flush operation begins.
-Returns
--------
+**Arguments**:
-str:
- Underlying .Net type is string
+- `value` - The parameterless callback to invoke
-
+
-#### get\_UriSchemeNetPipe
+#### flush
```python
-@staticmethod
-def get_UriSchemeNetPipe() -> str
+def flush()
```
-Parameters
-----------
-
-Returns
--------
-
-str:
- Underlying .Net type is string
+Flushes the changes made to the in-memory state to the specified storage.
-
+
-#### get\_SchemeDelimiter
+#### reset
```python
-@staticmethod
-def get_SchemeDelimiter() -> str
+def reset()
```
-Parameters
-----------
+Reset the state to before in-memory modifications
-Returns
--------
+
-str:
- Underlying .Net type is string
+# quixstreams.states
-
+
-# quixstreams.quixstreamingclient
+# quixstreams.states.appstatemanager
-
+
-## TokenValidationConfiguration Objects
+## AppStateManager Objects
```python
@nativedecorator
-class TokenValidationConfiguration(object)
+class AppStateManager(object)
```
-
+Manages the states of an app.
+
+
#### \_\_init\_\_
@@ -28588,328 +5338,291 @@ class TokenValidationConfiguration(object)
def __init__(net_pointer: ctypes.c_void_p)
```
-Initializes a new instance of TokenValidationConfiguration.
+Initializes a new instance of AppStateManager.
+
+NOTE: Do not initialize this class manually, use App.get_state_manager
**Arguments**:
-- `net_pointer` - Pointer to an instance of a .NET TokenValidationConfiguration.
+- `net_pointer` - The .net object representing a AppStateManager.
-
+
-#### enabled
+#### get\_topic\_states
```python
-@property
-def enabled() -> bool
+def get_topic_states() -> List[str]
```
-Gets whether token validation and warnings are enabled. Defaults to true.
+Returns a collection of all available topic states for the app.
**Returns**:
-- `bool` - True if token validation and warnings are enabled, False otherwise.
+- `List[str]` - All available app topic states for the app.
-
+
-#### enabled
+#### get\_topic\_state\_manager
```python
-@enabled.setter
-def enabled(value: bool)
+def get_topic_state_manager(topic_name: str) -> TopicStateManager
```
-Sets whether token validation and warnings are enabled. Defaults to true.
+Gets an instance of the TopicStateManager for the specified topic.
**Arguments**:
-- `value` - True to enable token validation and warnings, False to disable.
+- `topic_name` - The name of the topic
-
+
-#### warning\_before\_expiry
+#### delete\_topic\_state
```python
-@property
-def warning_before_expiry() -> Union[timedelta, None]
+def delete_topic_state(topic_name: str) -> bool
```
-Gets the period within which, if the token expires, a warning will be displayed. Defaults to 2 days. Set to None to disable the check.
+Deletes the specified topic state
+
+**Arguments**:
+
+- `topic_name` - The name of the topic
+
**Returns**:
- Union[timedelta, None]: The period within which a warning will be displayed if the token expires or None if the check is disabled.
+- `bool` - Whether the topic state was deleted
-
+
-#### warning\_before\_expiry
+#### delete\_topic\_states
```python
-@warning_before_expiry.setter
-def warning_before_expiry(value: Union[timedelta, None])
+def delete_topic_states() -> int
```
-Sets the period within which, if the token expires, a warning will be displayed. Defaults to 2 days. Set to None to disable the check.
+Deletes all topic states for the app.
-**Arguments**:
+**Returns**:
-- `value` - The new period within which a warning will be displayed if the token expires or None to disable the check.
+- `int` - The number of topic states that were deleted
-
+
-#### warn\_about\_pat\_token
+# quixstreams.topicconsumer
-```python
-@property
-def warn_about_pat_token() -> bool
-```
+
-Gets whether to warn if the provided token is not a PAT token. Defaults to true.
+## TopicConsumer Objects
-**Returns**:
+```python
+@nativedecorator
+class TopicConsumer(object)
+```
-- `bool` - True if the warning is enabled, False otherwise.
+Interface to operate with the streaming platform for consuming messages
-
+
-#### warn\_about\_pat\_token
+#### \_\_init\_\_
```python
-@warn_about_pat_token.setter
-def warn_about_pat_token(value: bool)
+def __init__(net_pointer: ctypes.c_void_p)
```
-Sets whether to warn if the provided token is not a PAT token. Defaults to true.
+Initializes a new instance of TopicConsumer.
+
+NOTE: Do not initialize this class manually, use KafkaStreamingClient.get_topic_consumer to create it.
**Arguments**:
-- `value` - True to enable the warning, False to disable.
+- `net_pointer` - The .net pointer to TopicConsumer instance.
-
+
-#### get\_net\_pointer
+#### on\_stream\_received
```python
-def get_net_pointer() -> ctypes.c_void_p
+@property
+def on_stream_received() -> Callable[['StreamConsumer'], None]
```
-Gets the associated .NET object pointer.
+Gets the event handler for when a stream is received for the topic.
**Returns**:
-- `ctypes.c_void_p` - The .NET pointer
-
-
-
-## QuixStreamingClient Objects
-
-```python
-class QuixStreamingClient(object)
-```
-
-Streaming client for Kafka configured automatically using Environment Variables and Quix platform endpoints.
-Use this Client when you use this library together with Quix platform.
+ Callable[[StreamConsumer], None]: The event handler for when a stream is received for the topic.
+ The first parameter is the StreamConsumer instance that was received.
-
+
-#### \_\_init\_\_
+#### on\_stream\_received
```python
-def __init__(token: str = None,
- auto_create_topics: bool = True,
- properties: Dict[str, str] = None,
- debug: bool = False)
+@on_stream_received.setter
+def on_stream_received(value: Callable[['StreamConsumer'], None]) -> None
```
-Initializes a new instance of the QuixStreamingClient capable of creating topic consumers and producers.
+Sets the event handler for when a stream is received for the topic.
**Arguments**:
-- `token` - The token to use when talking to Quix. If not provided, the Quix__Sdk__Token environment variable will be used. Defaults to None.
-- `auto_create_topics` - Whether topics should be auto-created if they don't exist yet. Defaults to True.
-- `properties` - Additional broker properties. Defaults to None.
-- `debug` - Whether debugging should be enabled. Defaults to False.
+- `value` - The new event handler for when a stream is received for the topic.
+ The first parameter is the StreamConsumer instance that was received.
-
+
-#### get\_topic\_consumer
+#### on\_streams\_revoked
```python
-def get_topic_consumer(
- topic_id_or_name: str,
- consumer_group: str = None,
- commit_settings: Union[CommitOptions, CommitMode] = None,
- auto_offset_reset: AutoOffsetReset = AutoOffsetReset.Latest
-) -> TopicConsumer
+@property
+def on_streams_revoked(
+) -> Callable[['TopicConsumer', List['StreamConsumer']], None]
```
-Opens a topic consumer capable of subscribing to receive incoming streams.
-
-**Arguments**:
-
-- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
-- `consumer_group` - The consumer group ID to use for consuming messages. If None, the consumer group is not used, and only consuming new messages. Defaults to None.
-- `commit_settings` - The settings to use for committing. If not provided, defaults to committing every 5000 messages or 5 seconds, whichever is sooner.
-- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to AutoOffsetReset.Latest.
-
+Gets the event handler for when streams are revoked for the topic.
**Returns**:
-- `TopicConsumer` - An instance of TopicConsumer for the specified topic.
+ Callable[[TopicConsumer, List[StreamConsumer]], None]: The event handler for when streams are revoked for the topic.
+ The first parameter is the TopicConsumer instance for which the streams were revoked, and the second parameter is a list of StreamConsumer instances that were revoked.
-
+
-#### get\_topic\_producer
+#### on\_streams\_revoked
```python
-def get_topic_producer(topic_id_or_name: str) -> TopicProducer
+@on_streams_revoked.setter
+def on_streams_revoked(
+ value: Callable[['TopicConsumer', List['StreamConsumer']],
+ None]) -> None
```
-Gets a topic producer capable of producing outgoing streams.
-
-**Arguments**:
-
-- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
-
+Sets the event handler for when streams are revoked for the topic.
-**Returns**:
+**Arguments**:
-- `TopicProducer` - An instance of TopicProducer for the specified topic.
+- `value` - The new event handler for when streams are revoked for the topic.
+ The first parameter is the TopicConsumer instance for which the streams were revoked, and the second parameter is a list of StreamConsumer instances that were revoked.
-
+
-#### get\_raw\_topic\_consumer
+#### on\_revoking
```python
-def get_raw_topic_consumer(
- topic_id_or_name: str,
- consumer_group: str = None,
- auto_offset_reset: Union[AutoOffsetReset,
- None] = None) -> RawTopicConsumer
+@property
+def on_revoking() -> Callable[['TopicConsumer'], None]
```
-Gets a topic consumer for consuming raw data from the stream.
-
-**Arguments**:
-
-- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
-- `consumer_group` - The consumer group ID to use for consuming messages. Defaults to None.
-- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to None.
-
+Gets the event handler for when the topic is being revoked.
**Returns**:
-- `RawTopicConsumer` - An instance of RawTopicConsumer for the specified topic.
+ Callable[[TopicConsumer], None]: The event handler for when the topic is being revoked.
+ The first parameter is the TopicConsumer instance for which the revocation is happening.
-
+
-#### get\_raw\_topic\_producer
+#### on\_revoking
```python
-def get_raw_topic_producer(topic_id_or_name: str) -> RawTopicProducer
+@on_revoking.setter
+def on_revoking(value: Callable[['TopicConsumer'], None]) -> None
```
-Gets a topic producer for producing raw data to the stream.
+Sets the event handler for when the topic is being revoked.
**Arguments**:
-- `topic_id_or_name` - ID or name of the topic. If name is provided, the workspace will be derived from the environment variable or token, in that order.
-
-
-**Returns**:
-
-- `RawTopicProducer` - An instance of RawTopicProducer for the specified topic.
+- `value` - The new event handler for when the topic is being revoked.
+ The first parameter is the TopicConsumer instance for which the revocation is happening.
-
+
-#### token\_validation\_config
+#### on\_committed
```python
@property
-def token_validation_config() -> TokenValidationConfiguration
+def on_committed() -> Callable[['TopicConsumer'], None]
```
-Gets the configuration for token validation.
+Gets the event handler for when the topic finishes committing consumed data up to this point.
**Returns**:
-- `TokenValidationConfiguration` - The current token validation configuration.
+ Callable[[TopicConsumer], None]: The event handler for when the topic finishes committing consumed data up to this point.
+ The first parameter is the TopicConsumer instance for which the commit happened.
-
+
-#### token\_validation\_config
+#### on\_committed
```python
-@token_validation_config.setter
-def token_validation_config(value: TokenValidationConfiguration)
+@on_committed.setter
+def on_committed(value: Callable[['TopicConsumer'], None]) -> None
```
-Sets the configuration for token validation.
+Sets the event handler for when the topic finishes committing consumed data up to this point.
**Arguments**:
-- `value` - The new token validation configuration.
+- `value` - The new event handler for when the topic finishes committing consumed data up to this point.
+ The first parameter is the TopicConsumer instance for which the commit happened.
-
+
-#### api\_url
+#### on\_committing
```python
@property
-def api_url() -> str
+def on_committing() -> Callable[['TopicConsumer'], None]
```
-Gets the base API URI. Defaults to https://portal-api.platform.quix.ai, or environment variable Quix__Portal__Api if available.
+Gets the event handler for when the topic begins committing consumed data up to this point.
**Returns**:
-- `str` - The current base API URI.
+ Callable[[TopicConsumer], None]: The event handler for when the topic begins committing consumed data up to this point.
+ The first parameter is the TopicConsumer instance for which the commit is happening.
-
+
-#### api\_url
+#### on\_committing
```python
-@api_url.setter
-def api_url(value: str)
+@on_committing.setter
+def on_committing(value: Callable[['TopicConsumer'], None]) -> None
```
-Sets the base API URI. Defaults to https://portal-api.platform.quix.ai, or environment variable Quix__Portal__Api if available.
+Sets the event handler for when the topic begins committing consumed data up to this point.
**Arguments**:
-- `value` - The new base API URI.
+- `value` - The new event handler for when the topic begins committing consumed data up to this point.
+ The first parameter is the TopicConsumer instance for which the commit is happening.
-
+
-#### cache\_period
+#### subscribe
```python
-@property
-def cache_period() -> timedelta
+def subscribe()
```
-Gets the period for which some API responses will be cached to avoid an excessive amount of calls. Defaults to 1 minute.
-
-**Returns**:
-
-- `timedelta` - The current cache period.
+Subscribes to streams in the topic.
+Use 'on_stream_received' event to consume incoming streams.
-
+
-#### cache\_period
+#### commit
```python
-@cache_period.setter
-def cache_period(value: timedelta)
+def commit()
```
-Sets the period for which some API responses will be cached to avoid an excessive amount of calls. Defaults to 1 minute.
-
-**Arguments**:
-
-- `value` - The new cache period.
+Commit packages consumed up until now
-
+
#### get\_net\_pointer
@@ -28917,1240 +5630,1339 @@ Sets the period for which some API responses will be cached to avoid an excessiv
def get_net_pointer() -> ctypes.c_void_p
```
-Gets the associated .NET object pointer.
+Retrieves the .net pointer to TopicConsumer instance.
**Returns**:
-- `ctypes.c_void_p` - The .NET pointer
-
-
-
-# quixstreams.raw
+- `ctypes.c_void_p` - The .net pointer to TopicConsumer instance.
-
+
-# quixstreams.raw.rawmessage
+# quixstreams.streamconsumer
-
+
-## RawMessage Objects
+## StreamConsumer Objects
```python
@nativedecorator
-class RawMessage(object)
+class StreamConsumer(object)
```
-The message consumed from topic without any transformation.
+Handles consuming stream from a topic.
-
+
#### \_\_init\_\_
```python
-def __init__(data: Union[ctypes.c_void_p, bytes, bytearray])
+def __init__(net_pointer: ctypes.c_void_p, topic_consumer: 'TopicConsumer',
+ on_close_cb_always: Callable[['StreamConsumer'], None])
```
-Initializes a new instance of RawMessage.
+Initializes a new instance of StreamConsumer.
+
+NOTE: Do not initialize this class manually, TopicProducer automatically creates this when a new stream is received.
**Arguments**:
-- `data` - The raw data to be stored in the message. Must be one of ctypes_c.void_p, bytes, or bytearray.
+- `net_pointer` - Pointer to an instance of a .NET StreamConsumer.
+- `topic_consumer` - The topic consumer which owns the stream consumer.
+- `on_close_cb_always` - The callback function to be executed when the stream is closed.
-
+
-#### get\_net\_pointer
+#### topic
```python
-def get_net_pointer() -> ctypes.c_void_p
+@property
+def topic() -> 'TopicConsumer'
```
-Gets the associated .net object pointer of the RawMessage instance.
+Gets the topic the stream was raised for.
**Returns**:
-- `ctypes.c_void_p` - The .net object pointer of the RawMessage instance.
+- `TopicConsumer` - The topic consumer instance associated with the stream.
-
+
-#### key
+#### on\_stream\_closed
```python
@property
-def key() -> bytes
+def on_stream_closed() -> Callable[['StreamConsumer', 'StreamEndType'], None]
```
-Gets the optional key of the message. Depending on the broker and message, it is not guaranteed.
+Gets the handler for when the stream closes.
**Returns**:
-- `bytes` - The optional key of the message.
+ Callable[['StreamConsumer', 'StreamEndType'], None]: The callback function to be executed when the stream closes.
+ The first parameter is the stream that closes, and the second is the close type.
-
+
-#### key
+#### on\_stream\_closed
```python
-@key.setter
-def key(value: Union[bytearray, bytes])
+@on_stream_closed.setter
+def on_stream_closed(
+ value: Callable[['StreamConsumer', 'StreamEndType'], None]) -> None
```
-Sets the message key.
+Sets the handler for when the stream closes.
**Arguments**:
-- `value` - The key to set for the message.
+- `value` - The new callback function to be executed when the stream closes.
+ The first parameter is the stream that closes, and the second is the close type.
-
+
-#### value
+#### on\_package\_received
```python
@property
-def value()
+def on_package_received() -> Callable[['StreamConsumer', Any], None]
```
-Gets the message value (bytes content of the message).
+Gets the handler for when the stream receives a package of any type.
**Returns**:
- Union[bytearray, bytes]: The message value (bytes content of the message).
+ Callable[['StreamConsumer', Any], None]: The callback function to be executed when the stream receives a package.
+ The first parameter is the stream that receives the package, and the second is the package itself.
-
+
-#### value
+#### on\_package\_received
+
+```python
+@on_package_received.setter
+def on_package_received(
+ value: Callable[['StreamConsumer', Any], None]) -> None
+```
+
+Sets the handler for when the stream receives a package of any type.
+
+**Arguments**:
+
+- `value` - The new callback function to be executed when the stream receives a package.
+ The first parameter is the stream that receives the package, and the second is the package itself.
+
+
+
+#### stream\_id
+
+```python
+@property
+def stream_id() -> str
+```
+
+Get the ID of the stream being consumed.
+
+**Returns**:
+
+- `str` - The ID of the stream being consumed.
+
+
+
+#### properties
+
+```python
+@property
+def properties() -> StreamPropertiesConsumer
+```
+
+Gets the consumer for accessing the properties and metadata of the stream.
+
+**Returns**:
+
+- `StreamPropertiesConsumer` - The stream properties consumer instance.
+
+
+
+#### events
```python
-@value.setter
-def value(value: Union[bytearray, bytes])
+@property
+def events() -> StreamEventsConsumer
```
-Sets the message value (bytes content of the message).
+Gets the consumer for accessing event related information of the stream such as event definitions and values.
-**Arguments**:
+**Returns**:
-- `value` - The value to set for the message.
+- `StreamEventsConsumer` - The stream events consumer instance.
-
+
-#### metadata
+#### timeseries
```python
@property
-def metadata() -> Dict[str, str]
+def timeseries() -> StreamTimeseriesConsumer
```
-Gets the wrapped message metadata.
+Gets the consumer for accessing timeseries related information of the stream such as parameter definitions and values.
**Returns**:
- Dict[str, str]: The wrapped message metadata.
-
-
-
-# quixstreams.raw.rawtopicconsumer
+- `StreamTimeseriesConsumer` - The stream timeseries consumer instance.
-
+
-## RawTopicConsumer Objects
+#### get\_dict\_state
```python
-@nativedecorator
-class RawTopicConsumer(object)
+def get_dict_state(
+ state_name: str,
+ default_value_factory: Callable[[str], StreamStateType] = None,
+ state_type: StreamStateType = None) -> StreamState[StreamStateType]
```
-Topic class to consume incoming raw messages (capable to consuming non-quixstreams messages).
-
-
-
-#### \_\_init\_\_
+Creates a new application state of dictionary type with automatically managed lifecycle for the stream
-```python
-def __init__(net_pointer: ctypes.c_void_p)
-```
+**Arguments**:
-Initializes a new instance of RawTopicConsumer.
+- `state_name` - The name of the state
+- `default_value_factory` - The default value factory to create value when the key is not yet present in the state
+- `state_type` - The type of the state
+
-**Notes**:
+**Returns**:
- Do not initialize this class manually, use KafkaStreamingClient.get_raw_topic_consumer.
+- `StreamState` - The stream state
-**Arguments**:
+**Example**:
-- `net_pointer` - Pointer to an instance of a .net RawTopicConsumer.
+ >>> stream_consumer.get_dict_state('some_state')
+ This will return a state where type is 'Any'
+
+ >>> stream_consumer.get_dict_state('some_state', lambda missing_key: return {})
+ this will return a state where type is a generic dictionary, with an empty dictionary as default value when
+ key is not available. The lambda function will be invoked with 'get_state_type_check' key to determine type
+
+ >>> stream_consumer.get_dict_state('some_state', lambda missing_key: return {}, Dict[str, float])
+ this will return a state where type is a specific dictionary type, with default value
+
+ >>> stream_consumer.get_dict_state('some_state', state_type=float)
+ this will return a state where type is a float without default value, resulting in KeyError when not found
-
+
-#### on\_message\_received
+#### get\_state\_manager
```python
-@property
-def on_message_received() -> Callable[['RawTopicConsumer', RawMessage], None]
+def get_state_manager() -> StreamStateManager
```
-Gets the handler for when a topic receives a message.
+Gets the manager for the stream states.
**Returns**:
- Callable[[RawTopicConsumer, RawMessage], None]: The event handler for when a topic receives a message.
- The first parameter is the RawTopicConsumer instance for which the message is received, and the second is the RawMessage.
+- `StreamStateManager` - The stream state manager
-
+
-#### on\_message\_received
+#### get\_net\_pointer
```python
-@on_message_received.setter
-def on_message_received(
- value: Callable[['RawTopicConsumer', RawMessage], None]) -> None
+def get_net_pointer() -> ctypes.c_void_p
```
-Sets the handler for when a topic receives a message.
+Gets the associated .NET object pointer.
-**Arguments**:
+**Returns**:
-- `value` - The new event handler for when a topic receives a message.
- The first parameter is the RawTopicConsumer instance for which the message is received, and the second is the RawMessage.
+- `ctypes.c_void_p` - The .NET pointer
-
+
-#### on\_error\_occurred
+# quixstreams.state.localfilestorage
-```python
-@property
-def on_error_occurred() -> Callable[['RawTopicConsumer', BaseException], None]
-```
+
-Gets the handler for when a stream experiences an exception during the asynchronous write process.
+## LocalFileStorage Objects
-**Returns**:
+```python
+class LocalFileStorage(IStateStorage)
+```
- Callable[[RawTopicConsumer, BaseException], None]: The event handler for when a stream experiences an exception during the asynchronous write process.
- The first parameter is the RawTopicConsumer instance for which the error is received, and the second is the exception.
+A directory storage containing the file storage for single process access purposes.
+Locking is implemented via in-memory mutex.
-
+
-#### on\_error\_occurred
+#### \_\_init\_\_
```python
-@on_error_occurred.setter
-def on_error_occurred(
- value: Callable[['RawTopicConsumer', BaseException], None]) -> None
+def __init__(storage_directory=None, auto_create_dir=True)
```
-Sets the handler for when a stream experiences an exception during the asynchronous write process.
+Initializes the LocalFileStorage instance.
**Arguments**:
-- `value` - The new handler for when a stream experiences an exception during the asynchronous write process.
- The first parameter is the RawTopicConsumer instance for which the error is received, and the second is the exception.
+- `storage_directory` - The path to the storage directory.
+- `auto_create_dir` - If True, automatically creates the storage directory if it doesn't exist.
-
+
-#### subscribe
+# quixstreams.state.inmemorystorage
+
+
+
+## InMemoryStorage Objects
```python
-def subscribe()
+class InMemoryStorage(IStateStorage)
```
-Starts subscribing to the streams.
+Basic non-thread safe in-memory storage implementing IStateStorage
-
+
-# quixstreams.raw.rawtopicproducer
+#### \_\_init\_\_
-
+```python
+def __init__()
+```
-## RawTopicProducer Objects
+Initializes the InMemoryStorage instance.
+
+
+
+# quixstreams.state.statetype
+
+
+
+# quixstreams.state.statevalue
+
+
+
+## StateValue Objects
```python
-@nativedecorator
-class RawTopicProducer(object)
+class StateValue(object)
```
-Class to produce raw messages into a Topic (capable of producing non-quixstreams messages)
+A wrapper class for values that can be stored inside the storage.
-
+
#### \_\_init\_\_
```python
-def __init__(net_pointer: ctypes.c_void_p)
+def __init__(value: Any)
```
-Initializes a new instance of the RawTopicProducer class.
+Initializes the wrapped value inside the store.
**Arguments**:
-- `net_pointer` - Pointer to an instance of a .NET RawTopicProducer object.
+- `value` - The value to be wrapped, which can be one of the following types:
+ StateValue, str, int, float, bool, bytes, bytearray, or object (via pickle).
-
+
-#### publish
+#### type
```python
-def publish(message: Union[RawMessage, bytes, bytearray])
+@property
+def type()
```
-Publishes the given message to the associated topic producer.
+Gets the type of the wrapped value.
-**Arguments**:
+**Returns**:
-- `message` - The message to be published, which can be either
- a RawMessage instance, bytes, or a bytearray.
+- `StateType` - The type of the wrapped value.
-
+
-# quixstreams.state
+#### value
-
+```python
+@property
+def value()
+```
-# quixstreams.state.inmemorystorage
+Gets the wrapped value.
-
+**Returns**:
-## InMemoryStorage Objects
+ The wrapped value.
+
+
+
+#### get\_net\_pointer
```python
-class InMemoryStorage()
+def get_net_pointer() -> ctypes.c_void_p
```
-In memory storage with an optional backing store
+Gets the .NET pointer of the wrapped value.
-
+**Returns**:
-# quixstreams.state.localfilestorage
+- `ctypes.c_void_p` - The .NET pointer of the wrapped value.
-
+
-## LocalFileStorage Objects
+# quixstreams.state.istatestorage
+
+
+
+## IStateStorage Objects
```python
-class LocalFileStorage(object)
+class IStateStorage(object)
```
-A directory storage containing the file storage for single process access purposes.
-Locking is implemented via in-memory mutex.
+The minimum definition for a state storage
-
+
#### \_\_init\_\_
```python
-def __init__(storage_directory=None, auto_create_dir=True)
+def __init__(net_pointer=ctypes.c_void_p)
```
-Initializes the LocalFileStorage instance.
+Initializes a new instance of IStateStorage.
+
+NOTE: Do not initialize this class manually, it can be returned by classes for certain calls
**Arguments**:
-- `storage_directory` - The path to the storage directory.
-- `auto_create_dir` - If True, automatically creates the storage directory if it doesn't exist.
+- `net_pointer` - The .net object representing a StreamStateManager.
-
+
-#### get
+#### is\_case\_sensitive
```python
-def get(key: str) -> Any
+@property
+def is_case_sensitive() -> bool
```
-Gets the value at the specified key.
+Returns whether the storage is case-sensitive
+
+
+
+#### get\_or\_create\_sub\_storage
+
+```python
+def get_or_create_sub_storage(sub_storage_name: str) -> 'IStateStorage'
+```
+
+Creates or retrieves the existing storage under this in hierarchy.
**Arguments**:
-- `key` - The key to retrieve the value for.
+- `sub_storage_name` - The name of the sub storage
**Returns**:
-- `Any` - The value at the specified key, which can be one of the following types:
- str, int, float, bool, bytes, bytearray, or object (via pickle).
+- `IStateStorage` - The state storage for the given storage name
-
+
-#### set
+#### delete\_sub\_storages
```python
-def set(key: str, value: Any)
+def delete_sub_storages() -> int
```
-Sets the value at the specified key.
+Deletes the storages under this in hierarchy.
-**Arguments**:
+**Returns**:
-- `key` - The key to set the value for.
-- `value` - The value to be set, which can be one of the following types:
- StateValue, str, int, float, bool, bytes, bytearray, or object (via pickle).
+- `int` - The number of state storage deleted
-
+
-#### contains\_key
+#### delete\_sub\_storage
```python
-def contains_key(key: str) -> bool
+def delete_sub_storage(sub_storage_name: str) -> bool
```
-Checks if the storage contains the specified key.
+Deletes a storage under this in hierarchy.
**Arguments**:
-- `key` - The key to check for.
+- `sub_storage_name` - The name of the sub storage
**Returns**:
-- `bool` - True if the storage contains the key, False otherwise.
+- `bool` - Whether the state storage for the given storage name was deleted
-
+
-#### get\_all\_keys
+#### get\_sub\_storages
```python
-def get_all_keys()
+def get_sub_storages() -> List[str]
```
-Retrieves a set containing all the keys in the storage.
+Gets the storages under this in hierarchy.
**Returns**:
-- `set[str]` - A set of all keys in the storage.
+- `IStateStorage` - The storage names this store contains
-
+
-#### remove
+#### get
```python
-def remove(key) -> None
+def get(key: str) -> Any
```
-Removes the specified key from the storage.
+Gets the value at the specified key.
**Arguments**:
-- `key` - The key to be removed.
-
-
-
-#### clear
-
-```python
-def clear()
-```
-
-Clears the storage by removing all keys and their associated values.
-
-
-
-# quixstreams.state.statetype
+- `key` - The key to retrieve the value for.
+
-
+**Returns**:
-# quixstreams.state.statevalue
+- `Any` - The value at the specified key, which can be one of the following types:
+ str, int, float, bool, bytes, bytearray, or object (via pickle).
-
+
-## StateValue Objects
+#### set
```python
-class StateValue(object)
+def set(key: str, value: Any)
```
-A wrapper class for values that can be stored inside the storage.
+Sets the value at the specified key.
-
+**Arguments**:
-#### \_\_init\_\_
+- `key` - The key to set the value for.
+- `value` - The value to be set, which can be one of the following types:
+ StateValue, str, int, float, bool, bytes, bytearray, or object (via pickle).
+
+
+
+#### contains\_key
```python
-def __init__(value: Any)
+def contains_key(key: str) -> bool
```
-Initializes the wrapped value inside the store.
+Checks if the storage contains the specified key.
**Arguments**:
-- `value` - The value to be wrapped, which can be one of the following types:
- StateValue, str, int, float, bool, bytes, bytearray, or object (via pickle).
+- `key` - The key to check for.
+
-
+**Returns**:
-#### type
+- `bool` - True if the storage contains the key, False otherwise.
+
+
+
+#### get\_all\_keys
```python
-@property
-def type()
+def get_all_keys()
```
-Gets the type of the wrapped value.
+Retrieves a set containing all the keys in the storage.
**Returns**:
-- `StateType` - The type of the wrapped value.
+- `set[str]` - A set of all keys in the storage.
-
+
-#### value
+#### remove
```python
-@property
-def value()
+def remove(key) -> None
```
-Gets the wrapped value.
+Removes the specified key from the storage.
-**Returns**:
+**Arguments**:
- The wrapped value.
+- `key` - The key to be removed.
-
+
-#### get\_net\_pointer
+#### clear
```python
-def get_net_pointer() -> ctypes.c_void_p
+def clear()
```
-Gets the .NET pointer of the wrapped value.
+Clears the storage by removing all keys and their associated values.
-**Returns**:
+
-- `ctypes.c_void_p` - The .NET pointer of the wrapped value.
+# quixstreams.state
-
+
-# quixstreams.streamconsumer
+# quixstreams.streamproducer
-
+
-## StreamConsumer Objects
+## StreamProducer Objects
```python
@nativedecorator
-class StreamConsumer(object)
+class StreamProducer(object)
```
-Handles consuming stream from a topic.
+Handles publishing stream to a topic
-
+
#### \_\_init\_\_
```python
-def __init__(net_pointer: ctypes.c_void_p, topic_consumer: 'TopicConsumer',
- on_close_cb_always: Callable[['StreamConsumer'], None])
+def __init__(topic_producer: 'TopicProducer', net_pointer: ctypes.c_void_p)
```
-Initializes a new instance of StreamConsumer.
+Initializes a new instance of StreamProducer.
-NOTE: Do not initialize this class manually, TopicProducer automatically creates this when a new stream is received.
+NOTE: Do not initialize this class manually, use TopicProducer.get_or_create_stream or create_stream
**Arguments**:
-- `net_pointer` - Pointer to an instance of a .NET StreamConsumer.
-- `topic_consumer` - The topic consumer which owns the stream consumer.
-- `on_close_cb_always` - The callback function to be executed when the stream is closed.
+- `topic_producer` - The topic producer the stream producer publishes to.
+- `net_pointer` - The .net object representing a StreamProducer.
-
+
#### topic
```python
@property
-def topic() -> 'TopicConsumer'
+def topic() -> 'TopicProducer'
```
-Gets the topic the stream was raised for.
+Gets the topic the stream is producing to.
**Returns**:
-- `TopicConsumer` - The topic consumer instance associated with the stream.
+- `TopicProducer` - The topic the stream is producing to.
-
+
-#### on\_stream\_closed
+#### on\_write\_exception
```python
@property
-def on_stream_closed() -> Callable[['StreamConsumer', 'StreamEndType'], None]
+def on_write_exception() -> Callable[['StreamProducer', BaseException], None]
```
-Gets the handler for when the stream closes.
+Gets the handler for when a stream experiences exception during the asynchronous write process.
**Returns**:
- Callable[['StreamConsumer', 'StreamEndType'], None]: The callback function to be executed when the stream closes.
- The first parameter is the stream that closes, and the second is the close type.
+ Callable[['StreamProducer', BaseException], None]: The handler for exceptions during the asynchronous write process.
+ The first parameter is the stream is received for, second is the exception.
-
+
-#### on\_stream\_closed
+#### on\_write\_exception
```python
-@on_stream_closed.setter
-def on_stream_closed(
- value: Callable[['StreamConsumer', 'StreamEndType'], None]) -> None
+@on_write_exception.setter
+def on_write_exception(
+ value: Callable[['StreamProducer', BaseException], None]) -> None
```
-Sets the handler for when the stream closes.
+Sets the handler for when a stream experiences exception during the asynchronous write process.
**Arguments**:
-- `value` - The new callback function to be executed when the stream closes.
- The first parameter is the stream that closes, and the second is the close type.
+- `value` - The handler for exceptions during the asynchronous write process.
+ The first parameter is the stream is received for, second is the exception.
-
+
-#### on\_package\_received
+#### stream\_id
```python
@property
-def on_package_received() -> Callable[['StreamConsumer', Any], None]
+def stream_id() -> str
```
-Gets the handler for when the stream receives a package of any type.
+Gets the unique id of the stream being produced.
**Returns**:
- Callable[['StreamConsumer', Any], None]: The callback function to be executed when the stream receives a package.
- The first parameter is the stream that receives the package, and the second is the package itself.
-
-
-
-#### on\_package\_received
-
-```python
-@on_package_received.setter
-def on_package_received(
- value: Callable[['StreamConsumer', Any], None]) -> None
-```
-
-Sets the handler for when the stream receives a package of any type.
-
-**Arguments**:
-
-- `value` - The new callback function to be executed when the stream receives a package.
- The first parameter is the stream that receives the package, and the second is the package itself.
+- `str` - The unique id of the stream being produced.
-
+
-#### stream\_id
+#### epoch
```python
@property
-def stream_id() -> str
+def epoch() -> datetime
```
-Get the ID of the stream being consumed.
+Gets the default Epoch used for Timeseries and Events.
**Returns**:
-- `str` - The ID of the stream being consumed.
+- `datetime` - The default Epoch used for Timeseries and Events.
-
+
-#### properties
+#### epoch
```python
-@property
-def properties() -> StreamPropertiesConsumer
+@epoch.setter
+def epoch(value: datetime)
```
-Gets the consumer for accessing the properties and metadata of the stream.
+Set the default Epoch used for Timeseries and Events.
-**Returns**:
+**Arguments**:
-- `StreamPropertiesConsumer` - The stream properties consumer instance.
+- `value` - The default Epoch value to set.
-
+
-#### events
+#### properties
```python
@property
-def events() -> StreamEventsConsumer
+def properties() -> StreamPropertiesProducer
```
-Gets the consumer for accessing event related information of the stream such as event definitions and values.
+Gets the properties of the stream. The changes will automatically be sent after a slight delay.
**Returns**:
-- `StreamEventsConsumer` - The stream events consumer instance.
+- `StreamPropertiesProducer` - The properties of the stream.
-
+
#### timeseries
```python
@property
-def timeseries() -> StreamTimeseriesConsumer
+def timeseries() -> StreamTimeseriesProducer
```
-Gets the consumer for accessing timeseries related information of the stream such as parameter definitions and values.
+Gets the producer for publishing timeseries related information of the stream such as parameter definitions and values.
**Returns**:
-- `StreamTimeseriesConsumer` - The stream timeseries consumer instance.
+- `StreamTimeseriesProducer` - The producer for publishing timeseries related information of the stream.
-
+
-#### get\_net\_pointer
+#### events
```python
-def get_net_pointer() -> ctypes.c_void_p
+@property
+def events() -> StreamEventsProducer
```
-Gets the associated .NET object pointer.
+Gets the producer for publishing event related information of the stream such as event definitions and values.
**Returns**:
-- `ctypes.c_void_p` - The .NET pointer
-
-
-
-# quixstreams.streamproducer
+- `StreamEventsProducer` - The producer for publishing event related information of the stream.
-
+
-## StreamProducer Objects
+#### flush
```python
-@nativedecorator
-class StreamProducer(object)
+def flush()
```
-Handles publishing stream to a topic
+Flushes the pending data to stream.
-
+
-#### \_\_init\_\_
+#### close
```python
-def __init__(topic_producer: 'TopicProducer', net_pointer: ctypes.c_void_p)
+def close(end_type: StreamEndType = StreamEndType.Closed)
```
-Initializes a new instance of StreamProducer.
-
-NOTE: Do not initialize this class manually, use TopicProducer.get_or_create_stream or create_stream
+Closes the stream and flushes the pending data to stream.
**Arguments**:
-- `topic_producer` - The topic producer the stream producer publishes to.
-- `net_pointer` - The .net object representing a StreamProducer.
-
-
-
-#### topic
-
-```python
-@property
-def topic() -> 'TopicProducer'
-```
-
-Gets the topic the stream is producing to.
+- `end_type` - The type of stream end. Defaults to StreamEndType.Closed.
-**Returns**:
+
-- `TopicProducer` - The topic the stream is producing to.
+# quixstreams.builders.parameterdefinitionbuilder
-
+
-#### on\_write\_exception
+## ParameterDefinitionBuilder Objects
```python
-@property
-def on_write_exception() -> Callable[['StreamProducer', BaseException], None]
+@nativedecorator
+class ParameterDefinitionBuilder(object)
```
-Gets the handler for when a stream experiences exception during the asynchronous write process.
-
-**Returns**:
-
- Callable[['StreamProducer', BaseException], None]: The handler for exceptions during the asynchronous write process.
- The first parameter is the stream is received for, second is the exception.
+Builder for creating ParameterDefinition for StreamTimeseriesProducer.
-
+
-#### on\_write\_exception
+#### \_\_init\_\_
```python
-@on_write_exception.setter
-def on_write_exception(
- value: Callable[['StreamProducer', BaseException], None]) -> None
+def __init__(net_pointer: ctypes.c_void_p)
```
-Sets the handler for when a stream experiences exception during the asynchronous write process.
+Initializes a new instance of ParameterDefinitionBuilder.
**Arguments**:
-- `value` - The handler for exceptions during the asynchronous write process.
- The first parameter is the stream is received for, second is the exception.
+- `net_pointer` - Pointer to an instance of a .net ParameterDefinitionBuilder.
-
+
-#### stream\_id
+#### set\_range
```python
-@property
-def stream_id() -> str
+def set_range(minimum_value: float,
+ maximum_value: float) -> 'ParameterDefinitionBuilder'
```
-Gets the unique id of the stream being produced.
+Set the minimum and maximum range of the parameter.
+
+**Arguments**:
+
+- `minimum_value` - The minimum value.
+- `maximum_value` - The maximum value.
+
**Returns**:
-- `str` - The unique id of the stream being produced.
+ The builder.
-
+
-#### epoch
+#### set\_unit
```python
-@property
-def epoch() -> datetime
+def set_unit(unit: str) -> 'ParameterDefinitionBuilder'
```
-Gets the default Epoch used for Timeseries and Events.
+Set the unit of the parameter.
+
+**Arguments**:
+
+- `unit` - The unit of the parameter.
+
**Returns**:
-- `datetime` - The default Epoch used for Timeseries and Events.
+ The builder.
-
+
-#### epoch
+#### set\_format
```python
-@epoch.setter
-def epoch(value: datetime)
+def set_format(format: str) -> 'ParameterDefinitionBuilder'
```
-Set the default Epoch used for Timeseries and Events.
+Set the format of the parameter.
**Arguments**:
-- `value` - The default Epoch value to set.
+- `format` - The format of the parameter.
+
-
+**Returns**:
-#### properties
+ The builder.
+
+
+
+#### set\_custom\_properties
```python
-@property
-def properties() -> StreamPropertiesProducer
+def set_custom_properties(
+ custom_properties: str) -> 'ParameterDefinitionBuilder'
```
-Gets the properties of the stream. The changes will automatically be sent after a slight delay.
+Set the custom properties of the parameter.
+
+**Arguments**:
+
+- `custom_properties` - The custom properties of the parameter.
+
**Returns**:
-- `StreamPropertiesProducer` - The properties of the stream.
+ The builder.
-
+
-#### timeseries
+#### add\_definition
```python
-@property
-def timeseries() -> StreamTimeseriesProducer
+def add_definition(parameter_id: str,
+ name: str = None,
+ description: str = None) -> 'ParameterDefinitionBuilder'
```
-Gets the producer for publishing timeseries related information of the stream such as parameter definitions and values.
+Add new parameter definition to the StreamTimeseriesProducer. Configure it with the builder methods.
+
+**Arguments**:
+
+- `parameter_id` - The id of the parameter. Must match the parameter id used to send data.
+- `name` - The human friendly display name of the parameter.
+- `description` - The description of the parameter.
+
**Returns**:
-- `StreamTimeseriesProducer` - The producer for publishing timeseries related information of the stream.
+ Parameter definition builder to define the parameter properties
-
+
-#### events
+# quixstreams.builders.eventdatabuilder
-```python
-@property
-def events() -> StreamEventsProducer
-```
+
-Gets the producer for publishing event related information of the stream such as event definitions and values.
+## EventDataBuilder Objects
-**Returns**:
+```python
+@nativedecorator
+class EventDataBuilder(object)
+```
-- `StreamEventsProducer` - The producer for publishing event related information of the stream.
+Builder for creating event data packages for StreamEventsProducer.
-
+
-#### flush
+#### \_\_init\_\_
```python
-def flush()
+def __init__(net_pointer: ctypes.c_void_p)
```
-Flushes the pending data to stream.
+Initializes a new instance of EventDataBuilder.
-
+**Arguments**:
-#### close
+- `net_pointer` - Pointer to an instance of a .net EventDataBuilder.
+
+
+
+#### add\_value
```python
-def close(end_type: StreamEndType = StreamEndType.Closed)
+def add_value(event_id: str, value: str) -> 'EventDataBuilder'
```
-Closes the stream and flushes the pending data to stream.
+Adds new event at the time the builder is created for.
**Arguments**:
-- `end_type` - The type of stream end. Defaults to StreamEndType.Closed.
+- `event_id` - The id of the event to set the value for.
+- `value` - The string value.
+
-
+**Returns**:
-# quixstreams.topicconsumer
+ The builder.
-
+
-## TopicConsumer Objects
+#### add\_tag
```python
-@nativedecorator
-class TopicConsumer(object)
+def add_tag(tag_id: str, value: str) -> 'EventDataBuilder'
```
-Interface to operate with the streaming platform for consuming messages
+Sets tag value for the values.
-
+**Arguments**:
-#### \_\_init\_\_
+- `tag_id` - The id of the tag.
+- `value` - The value of the tag.
+
+
+**Returns**:
+
+ The builder.
+
+
+
+#### add\_tags
```python
-def __init__(net_pointer: ctypes.c_void_p)
+def add_tags(tags: Dict[str, str]) -> 'EventDataBuilder'
```
-Initializes a new instance of TopicConsumer.
-
-NOTE: Do not initialize this class manually, use KafkaStreamingClient.get_topic_consumer to create it.
+Copies the tags from the specified dictionary. Conflicting tags will be overwritten.
**Arguments**:
-- `net_pointer` - The .net pointer to TopicConsumer instance.
+- `tags` - The tags to add.
+
-
+**Returns**:
-#### on\_stream\_received
+ The builder.
+
+
+
+#### publish
```python
-@property
-def on_stream_received() -> Callable[['StreamConsumer'], None]
+def publish()
```
-Gets the event handler for when a stream is received for the topic.
+Publishes the values to the StreamEventsProducer buffer.
-**Returns**:
+See StreamEventsProducer buffer settings for more information on when the values are sent to the broker.
- Callable[[StreamConsumer], None]: The event handler for when a stream is received for the topic.
- The first parameter is the StreamConsumer instance that was received.
+
-
+# quixstreams.builders.timeseriesdatabuilder
-#### on\_stream\_received
+
+
+## TimeseriesDataBuilder Objects
```python
-@on_stream_received.setter
-def on_stream_received(value: Callable[['StreamConsumer'], None]) -> None
+@nativedecorator
+class TimeseriesDataBuilder(object)
```
-Sets the event handler for when a stream is received for the topic.
-
-**Arguments**:
-
-- `value` - The new event handler for when a stream is received for the topic.
- The first parameter is the StreamConsumer instance that was received.
+Builder for managing TimeseriesDataTimestamp instances on TimeseriesBufferProducer.
-
+
-#### on\_streams\_revoked
+#### \_\_init\_\_
```python
-@property
-def on_streams_revoked(
-) -> Callable[['TopicConsumer', List['StreamConsumer']], None]
+def __init__(net_pointer: ctypes.c_void_p)
```
-Gets the event handler for when streams are revoked for the topic.
+Initializes a new instance of TimeseriesDataBuilder.
-**Returns**:
+**Arguments**:
- Callable[[TopicConsumer, List[StreamConsumer]], None]: The event handler for when streams are revoked for the topic.
- The first parameter is the TopicConsumer instance for which the streams were revoked, and the second parameter is a list of StreamConsumer instances that were revoked.
+- `net_pointer` - Pointer to an instance of a .net TimeseriesDataBuilder.
-
+
-#### on\_streams\_revoked
+#### add\_value
```python
-@on_streams_revoked.setter
-def on_streams_revoked(
- value: Callable[['TopicConsumer', List['StreamConsumer']],
- None]) -> None
+def add_value(
+ parameter_id: str, value: Union[numbers.Number, str, bytearray, bytes]
+) -> 'TimeseriesDataBuilder'
```
-Sets the event handler for when streams are revoked for the topic.
+Adds new parameter value at the time the builder is created for.
**Arguments**:
-- `value` - The new event handler for when streams are revoked for the topic.
- The first parameter is the TopicConsumer instance for which the streams were revoked, and the second parameter is a list of StreamConsumer instances that were revoked.
+- `parameter_id` - The id of the parameter to set the value for.
+- `value` - The value to add. Can be a number, string, bytearray, or bytes.
+
-
+**Returns**:
-#### on\_revoking
+ The builder.
+
+
+
+#### add\_tag
```python
-@property
-def on_revoking() -> Callable[['TopicConsumer'], None]
+def add_tag(tag_id: str, value: str) -> 'TimeseriesDataBuilder'
```
-Gets the event handler for when the topic is being revoked.
+Adds a tag to the values.
+
+**Arguments**:
+
+- `tag_id` - The id of the tag.
+- `value` - The value of the tag.
+
**Returns**:
- Callable[[TopicConsumer], None]: The event handler for when the topic is being revoked.
- The first parameter is the TopicConsumer instance for which the revocation is happening.
+ The builder.
-
+
-#### on\_revoking
+#### add\_tags
```python
-@on_revoking.setter
-def on_revoking(value: Callable[['TopicConsumer'], None]) -> None
+def add_tags(tags: Dict[str, str]) -> 'TimeseriesDataBuilder'
```
-Sets the event handler for when the topic is being revoked.
+Copies the tags from the specified dictionary. Conflicting tags will be overwritten.
**Arguments**:
-- `value` - The new event handler for when the topic is being revoked.
- The first parameter is the TopicConsumer instance for which the revocation is happening.
+- `tags` - The tags to add.
+
-
+**Returns**:
-#### on\_committed
+ The builder.
+
+
+
+#### publish
```python
-@property
-def on_committed() -> Callable[['TopicConsumer'], None]
+def publish()
```
-Gets the event handler for when the topic finishes committing consumed data up to this point.
+Publish the values.
-**Returns**:
+
- Callable[[TopicConsumer], None]: The event handler for when the topic finishes committing consumed data up to this point.
- The first parameter is the TopicConsumer instance for which the commit happened.
+# quixstreams.builders.eventdefinitionbuilder
-
+
-#### on\_committed
+## EventDefinitionBuilder Objects
```python
-@on_committed.setter
-def on_committed(value: Callable[['TopicConsumer'], None]) -> None
+@nativedecorator
+class EventDefinitionBuilder(object)
```
-Sets the event handler for when the topic finishes committing consumed data up to this point.
-
-**Arguments**:
-
-- `value` - The new event handler for when the topic finishes committing consumed data up to this point.
- The first parameter is the TopicConsumer instance for which the commit happened.
+Builder for creating EventDefinitions within StreamPropertiesProducer.
-
+
-#### on\_committing
+#### \_\_init\_\_
```python
-@property
-def on_committing() -> Callable[['TopicConsumer'], None]
+def __init__(net_pointer: ctypes.c_void_p)
```
-Gets the event handler for when the topic begins committing consumed data up to this point.
+Initializes a new instance of EventDefinitionBuilder.
-**Returns**:
+**Arguments**:
- Callable[[TopicConsumer], None]: The event handler for when the topic begins committing consumed data up to this point.
- The first parameter is the TopicConsumer instance for which the commit is happening.
+- `net_pointer` - Pointer to an instance of a .net EventDefinitionBuilder.
-
+
-#### on\_committing
+#### set\_level
```python
-@on_committing.setter
-def on_committing(value: Callable[['TopicConsumer'], None]) -> None
+def set_level(level: EventLevel) -> 'EventDefinitionBuilder'
```
-Sets the event handler for when the topic begins committing consumed data up to this point.
+Set severity level of the Event.
**Arguments**:
-- `value` - The new event handler for when the topic begins committing consumed data up to this point.
- The first parameter is the TopicConsumer instance for which the commit is happening.
+- `level` - The severity level of the event.
+
-
+**Returns**:
-#### subscribe
+ The builder.
+
+
+
+#### set\_custom\_properties
```python
-def subscribe()
+def set_custom_properties(custom_properties: str) -> 'EventDefinitionBuilder'
```
-Subscribes to streams in the topic.
-Use 'on_stream_received' event to consume incoming streams.
+Set custom properties of the Event.
-
+**Arguments**:
-#### commit
+- `custom_properties` - The custom properties of the event.
+
-```python
-def commit()
-```
+**Returns**:
-Commit packages consumed up until now
+ The builder.
-
+
-#### get\_net\_pointer
+#### add\_definition
```python
-def get_net_pointer() -> ctypes.c_void_p
+def add_definition(event_id: str,
+ name: str = None,
+ description: str = None) -> 'EventDefinitionBuilder'
```
-Retrieves the .net pointer to TopicConsumer instance.
+Add new Event definition, to define properties like Name or Level, among others.
+
+**Arguments**:
+
+- `event_id` - Event id. This must match the event id you use to publish event values.
+- `name` - Human friendly display name of the event.
+- `description` - Description of the event.
+
**Returns**:
-- `ctypes.c_void_p` - The .net pointer to TopicConsumer instance.
+ Event definition builder to define the event properties.
-
+
-# quixstreams.topicproducer
+# quixstreams.builders
-
+
-## TopicProducer Objects
+# quixstreams.kafkastreamingclient
+
+
+
+## KafkaStreamingClient Objects
```python
@nativedecorator
-class TopicProducer(object)
+class KafkaStreamingClient(object)
```
-Interface to operate with the streaming platform for publishing messages
+A Kafka streaming client capable of creating topic consumer and producers.
-
+
#### \_\_init\_\_
```python
-def __init__(net_pointer: ctypes.c_void_p)
+def __init__(broker_address: str,
+ security_options: SecurityOptions = None,
+ properties: Dict[str, str] = None,
+ debug: bool = False)
```
-Initializes a new instance of TopicProducer.
-
-NOTE: Do not initialize this class manually, use KafkaStreamingClient.get_topic_producer to create it.
+Initializes a new instance of the KafkaStreamingClient.
**Arguments**:
-- `net_pointer` - The .net object representing a StreamingClient.
+- `broker_address` - The address of the Kafka cluster.
+- `security_options` - Optional security options for the Kafka client.
+- `properties` - Optional extra properties for broker configuration.
+- `debug` - Whether debugging should be enabled. Defaults to False.
-
+
-#### on\_disposed
+#### get\_topic\_consumer
```python
-@property
-def on_disposed() -> Callable[['TopicProducer'], None]
+def get_topic_consumer(
+ topic: str,
+ consumer_group: str = None,
+ commit_settings: Union[CommitOptions, CommitMode] = None,
+ auto_offset_reset: AutoOffsetReset = AutoOffsetReset.Latest
+) -> TopicConsumer
```
-Gets the handler for when the topic is disposed.
-
-**Returns**:
-
- Callable[[TopicProducer], None]: The event handler for topic disposal.
- The first parameter is the TopicProducer instance that got disposed.
-
-
-
-#### on\_disposed
+Gets a topic consumer capable of subscribing to receive incoming streams.
-```python
-@on_disposed.setter
-def on_disposed(value: Callable[['TopicProducer'], None]) -> None
-```
+**Arguments**:
-Sets the handler for when the topic is disposed.
+- `topic` - The name of the topic.
+- `consumer_group` - The consumer group ID to use for consuming messages. Defaults to None.
+- `commit_settings` - The settings to use for committing. If not provided, defaults to committing every 5000 messages or 5 seconds, whichever is sooner.
+- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to AutoOffsetReset.Latest.
+
-**Arguments**:
+**Returns**:
-- `value` - The event handler for topic disposal.
- The first parameter is the TopicProducer instance that got disposed.
+- `TopicConsumer` - An instance of TopicConsumer for the specified topic.
-
+
-#### create\_stream
+#### get\_topic\_producer
```python
-def create_stream(stream_id: str = None) -> StreamProducer
+def get_topic_producer(topic: str) -> TopicProducer
```
-Create a new stream and returns the related StreamProducer to operate it.
+Gets a topic producer capable of publishing stream messages.
**Arguments**:
-- `stream_id` - Provide if you wish to overwrite the generated stream id. Useful if you wish
- to always stream a certain source into the same stream.
+- `topic` - The name of the topic.
**Returns**:
-- `StreamProducer` - The created StreamProducer instance.
+- `TopicProducer` - An instance of TopicProducer for the specified topic.
-
+
-#### get\_stream
+#### get\_raw\_topic\_consumer
```python
-def get_stream(stream_id: str) -> StreamProducer
+def get_raw_topic_consumer(
+ topic: str,
+ consumer_group: str = None,
+ auto_offset_reset: Union[AutoOffsetReset,
+ None] = None) -> RawTopicConsumer
```
-Retrieves a stream that was previously created by this instance, if the stream is not closed.
+Gets a topic consumer capable of subscribing to receive non-quixstreams incoming messages.
**Arguments**:
-- `stream_id` - The id of the stream.
+- `topic` - The name of the topic.
+- `consumer_group` - The consumer group ID to use for consuming messages. Defaults to None.
+- `auto_offset_reset` - The offset to use when there is no saved offset for the consumer group. Defaults to None.
**Returns**:
-- `StreamProducer` - The retrieved StreamProducer instance or None if not found.
+- `RawTopicConsumer` - An instance of RawTopicConsumer for the specified topic.
-
+
-#### get\_or\_create\_stream
+#### get\_raw\_topic\_producer
```python
-def get_or_create_stream(
- stream_id: str,
- on_stream_created: Callable[[StreamProducer],
- None] = None) -> StreamProducer
+def get_raw_topic_producer(topic: str) -> RawTopicProducer
```
-Retrieves a stream that was previously created by this instance if the stream is not closed, otherwise creates a new stream.
+Gets a topic producer capable of publishing non-quixstreams messages.
**Arguments**:
-- `stream_id` - The id of the stream you want to get or create.
-- `on_stream_created` - A callback function that takes a StreamProducer as a parameter.
+- `topic` - The name of the topic.
**Returns**:
-- `StreamProducer` - The retrieved or created StreamProducer instance.
+- `RawTopicProducer` - An instance of RawTopicProducer for the specified topic.
+
+
+
+# quixstreams.exceptions.quixapiexception
+
+
+
+# quixstreams.logging
diff --git a/docs/publish.md b/docs/publish.md
index 0bbbed7a7..b70361f2f 100644
--- a/docs/publish.md
+++ b/docs/publish.md
@@ -972,7 +972,7 @@ You can publish messages with or without a key. The following example demonstrat
=== "Python"
``` python
- with (producer := client.create_raw_topic_producer(TOPIC_ID)):
+ with (producer := client.get_raw_topic_producer(TOPIC_ID)):
data = bytearray(bytes("TEXT CONVERTED TO BYTES",'utf-8'))
#publish value with KEY to kafka
diff --git a/docs/state-management.md b/docs/state-management.md
index 2cb66314f..4d6b12ac9 100644
--- a/docs/state-management.md
+++ b/docs/state-management.md
@@ -14,9 +14,168 @@ Quix Streams has state management built in to enable values to be used and persi
When using the Quix Platform, the platform provides your replicas with a shared state store when enabled.
-## Usage
+## State management
-To use the library’s state management feature, create an instance of `LocalFileStorage`, and then use the available methods on the instance to manipulate the state as needed. For example:
+The library is providing automatic state management which handles application lifecycle automatically, such as commits and revocation to ensure the state reflects the processed and committed messages only. The stream state managed is available on stream consumer and not the producer currently.
+
+###Â Reading and writing
+
+=== "Python"
+ ``` python
+ # ... context where stream consumer is available such as on_stream_received, on_data_received handlers ...
+
+ # This will return a state where type is 'Any'
+ my_any_state = stream_consumer.get_dict_state('some_state')
+ my_any_state['my_key'] = 42
+ my_any_state['some_other_key'] = ['this', 'could', 'be', 'an', 'array', 'also']
+
+ # this will return a state where type is a generic dictionary, with an empty dictionary as default value when
+ # key is not available. The lambda function will be invoked with 'get_state_type_check' key to determine type
+ my_nested_dict_state = stream_consumer.get_dict_state('some_state', lambda missing_key: return {})
+ my_nested_dict_state['someParam']['RollingAverage'] = 37.872
+ my_nested_dict_state['someParam']['LastValue'] = 6
+ my_nested_dict_state['someParam']['Mean'] = 37
+
+
+ # this will return a state where type is a specific dictionary type, with default value
+ mt_nested_typed_dict_state = stream_consumer.get_dict_state('some_state', lambda missing_key: return {}, Dict[str, float])
+ mt_nested_typed_dict_state['my_key']['my_nested_key'] = 37.872
+
+
+ # this will return a state where type is a float without default value, resulting in KeyError when not found
+ my_float_state = stream_consumer.get_dict_state('some_state', state_type=float)
+ my_float_state['my_key'] = 3.14
+ my_float_state['my_other_key'] = 3.15
+
+ ```
+=== "C\#"
+ ``` cs
+ # ... context where stream consumer is available such as OnStreamReceived, OnDataReceived handlers ...
+
+ # This will return a state where type is 'int'
+ var myIntState = streamConsumer.GetDictionaryState("RollingSum");
+ myIntState["my_key"] = 42
+ myIntState["my_key"] += 13
+
+ # this will return a state where type is a specific dictionary type, with default value
+ var myLastValueState = streamConsumer.GetDictionaryState("LastValue", (missingKey) => new Dictionary());
+ myLastValueState["someParam"]["RollingAverage"] = 37.872
+ myLastValueState["someParam"]["LastValue"] = 6
+ myLastValueState["someParam"]["Mean"] = 37
+ ```
+
+###Â Querying
+
+You can query the existing states several ways. All states can be iterated through starting from App, Topic or Stream.
+
+=== "Python"
+ ``` python
+ # From app level
+ import quixstreams as qx
+ app_state_manager = qx.App.get_state_manager()
+ topic_states = app_state_manager.get_topic_states() # returns all topic states (as string) that can be managed
+ topic_state_manager = app_state_manager.get_topic_state_manager('my_topic') # note, with Quix Manager broker, this would be topic id
+ stream_state_manager = topic_state_manager.get_stream_state_manager('my_stream_id')
+ stream_state = stream_state_manager.get_dict_state('some_state') # work same as in other samples
+ stream_state_value = stream_state['my_key']
+
+ # When topic consumer is available
+ topic_state_manager = topic_consumer.get_state_manager()
+ stream_states = topic_state_manager.get_stream_states() # returns all topic states (as string) that can be managed
+ stream_state_manager = topic_state_manager.get_stream_state_manager('my_stream_id')
+ stream_state = stream_state_manager.get_dict_state('some_state') # work same as in other samples
+ stream_state_value = stream_state['my_key']
+
+ # When stream consumer is available
+ stream_state_manager = stream_consumer.get_state_manager()
+ stream_states = topic_state_manager.get_states() # returns all stream states (as string) that can be managed
+ # note, you can directly use stream_consumer.get_dict_state('some_state') instead if don't need other management API access
+ stream_state = stream_state_manager.get_dict_state('some_state') # work same as in other samples
+ stream_state_value = stream_state['my_key']
+ ```
+=== "C\#"
+ ``` cs
+ // From app level
+ var appStateManager = App.GetStateManager();
+ var topicStateManager = appStateManager.GetTopicStateManager("my_topic"); // note, with Quix Manager broker, this would be topic id
+ var streamStateManager = topicStateManager.GetStreamStateManager("my_stream_id");
+ var streamState = streamStateManager.GetDictionaryState("some_state"); // work same as in other samples
+ var streamStateValue = streamState["my_key"];
+
+ // when topic consumer is available
+ var topicStateManager = topicConsumer.GetStateManager();
+ var streamStateManager = topicStateManager.GetStreamStateManager("my_stream_id");
+ var streamState = streamStateManager.GetDictionaryState("some_state"); // work same as in other samples
+ var streamStateValue = streamState["my_key"];
+
+ // when stream consumer is available
+ var streamStateManager = streamConsumer.GetStateManager();
+ // note, you can directly use streamConsumer.GetDictionaryState("some_state") instead if don't need other management API access
+ var streamState = streamStateManager.GetDictionaryState("some_state"); // work same as in other samples
+ var streamStateValue = streamState["my_key"];
+ ```
+
+### Deleting
+
+You can delete any or all state using the state manager of a specific level. See [Querying](#querying) section for how to acquire specific managers.
+
+=== "Python"
+ ``` python
+ # From app level
+ import quixstreams as qx
+ app_state_manager = qx.App.get_state_manager()
+ app_state_manager.delete_topic_state('specific_topic') # note, with Quix Manager broker, this would be topic id
+ app_state_manager.delete_topic_states() # deletes all
+
+ # When topic consumer is available
+ topic_state_manager = topic_consumer.get_state_manager()
+ topic_state_manager.delete_stream_state('stream_id')
+ topic_state_manager.delete_stream_states() # deletes all
+
+ # When stream consumer is available
+ stream_state_manager = stream_consumer.get_state_manager()
+ stream_state_manager.delete_state('some_state')
+ stream_state_manager.delete_states() # deletes all
+ ```
+=== "C\#"
+ ``` cs
+ // From app level
+ var appStateManager = App.GetStateManager();
+ appStateManager.DeleteTopicState("specific_topic"); // note, with Quix Manager broker, this would be topic id
+ appStateManager.DeleteTopicStates();
+
+ // when topic consumer is available
+ var topicStateManager = topicConsumer.GetStateManager();
+ topicStateManager.DeleteStreamState("stream_id");
+ topicStateManager.DeleteStreamStates(); // deletes all
+
+ // when stream consumer is available
+ var streamStateManager = streamConsumer.GetStateManager();
+ streamStateManager.DeleteState("some_state");
+ streamStateManager.DeleteStates(); // deletes all
+ ```
+
+### Storage types
+
+Any state storage is supported as long as as it implements IStateStorage. These are currently LocalFileStorage and InMemoryStorage.
+
+The storage type must be specified at app level using the following code, but by default LocalFileStorage is used at the moment.
+
+=== "Python"
+ ``` python
+ import quixstreams as qx
+ state_inmem_storage = qx.InMemoryStorage()
+ qx.App.set_state_storage(state_inmem_storage) # this mostly makes sense for testing until other storage types are implemented
+ ```
+=== "C\#"
+ ``` cs
+ var storage = new InMemoryStorage();
+ App.SetStateStorage(storage); // this mostly makes sense for testing until other storage types are implemented
+ ```
+
+### Using State storage directly
+
+To use the library’s state management feature, create an instance of `LocalFileStorage` or `InMemoryStorage`, and then use the available methods on the instance to manipulate the state as needed. For example:
=== "Python"
@@ -108,44 +267,4 @@ To use the library’s state management feature, create an instance of `LocalFil
//list all keys in the storage
await storage.GetAllKeysAsync();
- ```
-
-## In memory storage
-
-In Python there is another storage option available as an experimental feature called `InMemoryStorage`. It works in a similar way to `LocalFileStorage` and also supports dictionary operations such as `del` or iteration.
-
-`InMemoryStorage` can be used on its own, as demonstrated in the following example:
-
-``` python
-from quixstreams import InMemoryStorage
-
-storage = InMemoryStorage()
-storage.clear()
-storage.set("floatval", 12.51)
-storage.set("stringval", "str")
-storage.set("boolval", True)
-storage.set("objval", {"dic": "tionary"})
-```
-
-It can also be used in conjunction with `LocalFileStorage`, as shown in the following example:
-
-``` python
-from quixstreams import InMemoryStorage, LocalFileStorage
-
-storage = InMemoryStorage(LocalFileStorage("state/test"))
-storage.clear()
-storage.set("floatval", 12.51)
-storage.set("stringval", "str")
-storage.set("boolval", True)
-storage.set("objval", {"dic": "tionary"})
-storage.flush() # to write to backing storage
-
-# can be useful to hook it to consumer.on_committing
-topic_consumer.on_committing = storage.flush
-# or
-def on_committing_handler(topic_consumer: qx.TopicConsumer):
- print("Committing!")
- storage.flush() # to write to backing storage
-
-topic_consumer.on_committing = on_committing_handler
-```
\ No newline at end of file
+ ```
\ No newline at end of file
diff --git a/docs/subscribe.md b/docs/subscribe.md
index 464a9ab79..b66a3605d 100644
--- a/docs/subscribe.md
+++ b/docs/subscribe.md
@@ -854,7 +854,7 @@ Quix Streams uses an internal protocol which is both data and speed optimized, b
``` python
from quixstreams import RawTopicConsumer, RawMessage
- raw_consumer = client.create_raw_topic_consumer(TOPIC_ID)
+ raw_consumer = client.get_raw_topic_consumer(TOPIC_ID)
def on_message_received_handler(topic: RawTopicConsumer, msg: RawMessage):
#bytearray containing bytes received from kafka
diff --git a/src/CsharpClient/QuixStreams.State.UnitTests/BaseCrudShould.cs b/src/CsharpClient/QuixStreams.State.UnitTests/BaseCrudShould.cs
index 2a89c19f7..d18de4064 100644
--- a/src/CsharpClient/QuixStreams.State.UnitTests/BaseCrudShould.cs
+++ b/src/CsharpClient/QuixStreams.State.UnitTests/BaseCrudShould.cs
@@ -1,9 +1,9 @@
using System;
using System.Threading.Tasks;
using FluentAssertions;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
using QuixStreams.State.Storage;
using QuixStreams.State.Storage.FileStorage;
+using Xunit;
namespace QuixStreams.State.UnitTests
{
@@ -18,40 +18,40 @@ protected async Task testLong(BaseFileStorage storage, string key, long inp)
var value = Environment.GetEnvironmentVariable("stuff");
await storage.SetAsync(key, inp);
var ret = await storage.GetLongAsync(key);
- Assert.AreEqual(inp, ret);
+ ret.Should().Be(inp);
}
protected async Task testBool(BaseFileStorage storage, string key, bool inp)
{
await storage.SetAsync(key, inp);
var ret = await storage.GetBoolAsync(key);
- Assert.AreEqual(inp, ret);
+ ret.Should().Be(inp);
}
protected async Task testString(BaseFileStorage storage, string key, string inp)
{
await storage.SetAsync(key, inp);
var ret = await storage.GetStringAsync(key);
- Assert.AreEqual(inp, ret);
+ ret.Should().Be(inp);
}
protected async Task testBinary(BaseFileStorage storage, string key, byte[] inp)
{
await storage.SetAsync(key, inp);
var ret = await storage.GetBinaryAsync(key);
- Assert.AreEqual(ret.Length, inp.Length);
+ ret.Length.Should().Be(inp.Length);
for (var i = 0; i < ret.Length; i++)
{
- Assert.AreEqual(ret[i], inp[i]);
+ ret[i].Should().Be(inp[i]);
}
}
protected async Task testDouble(BaseFileStorage storage, string key, double inp)
{
await storage.SetAsync(key, inp);
var ret = await storage.GetDoubleAsync(key);
- Assert.AreEqual(inp, ret);
+ inp.Should().Be(ret);
}
- [TestMethod]
+ [Fact]
public async Task BaseCRUD_WithShorterContentThanBefore_ShouldNotThrowMalformedException()
{
// arrange
@@ -64,7 +64,7 @@ public async Task BaseCRUD_WithShorterContentThanBefore_ShouldNotThrowMalformedE
action.Should().NotThrow();
}
- [TestMethod]
+ [Fact]
public async Task TestWriteAsyncSerial()
{
var storage = this.GetStorage();
@@ -76,7 +76,7 @@ public async Task TestWriteAsyncSerial()
await testBinary(storage, "VAL5", new byte[] { 1, 2, 62, 41, 5, 7, 1, 2, 9, 87, 56 });
}
- [TestMethod]
+ [Fact]
public void TestWriteAsyncParallel()
{
var storage = this.GetStorage();
@@ -90,13 +90,13 @@ public void TestWriteAsyncParallel()
});
}
- [DataTestMethod]
- [DataRow(0)]
- [DataRow(1)]
- [DataRow(10)]
- [DataRow(500)]
- [DataRow(1024)]
- [DataRow(10 * 1024)]
+ [Theory]
+ [InlineData(0)]
+ [InlineData(1)]
+ [InlineData(10)]
+ [InlineData(500)]
+ [InlineData(1024)]
+ [InlineData(10 * 1024)]
public async Task TestWriteAsyncLongBinary(int len)
{
var storage = this.GetStorage();
@@ -111,7 +111,7 @@ public async Task TestWriteAsyncLongBinary(int len)
await testBinary(storage, $"VALBIN_{len}", data);
}
- [TestMethod]
+ [Fact]
public async Task TestDeleteKey()
{
var storage = this.GetStorage();
@@ -120,31 +120,31 @@ public async Task TestDeleteKey()
await storage.SetAsync("VAL2", true);
await storage.SetAsync("VAL3", "data");
- Assert.AreEqual((await storage.GetAllKeysAsync()).Length, 3);
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL1"));
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL2"));
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL3"));
+ (await storage.GetAllKeysAsync()).Length.Should().Be(3);
+ (await storage.ContainsKeyAsync("VAL1")).Should().BeTrue();
+ (await storage.ContainsKeyAsync("VAL2")).Should().BeTrue();
+ (await storage.ContainsKeyAsync("VAL3")).Should().BeTrue();
await storage.RemoveAsync("VAL2");
- Assert.AreEqual((await storage.GetAllKeysAsync()).Length, 2);
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL1"));
- Assert.IsFalse(await storage.ContainsKeyAsync("VAL2"));
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL3"));
+ (await storage.GetAllKeysAsync()).Length.Should().Be(2);
+ (await storage.ContainsKeyAsync("VAL1")).Should().BeTrue();
+ (await storage.ContainsKeyAsync("VAL2")).Should().BeFalse();
+ (await storage.ContainsKeyAsync("VAL3")).Should().BeTrue();
await storage.RemoveAsync("VAL3");
- Assert.AreEqual((await storage.GetAllKeysAsync()).Length, 1);
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL1"));
- Assert.IsFalse(await storage.ContainsKeyAsync("VAL2"));
- Assert.IsFalse(await storage.ContainsKeyAsync("VAL3"));
+ (await storage.GetAllKeysAsync()).Length.Should().Be(1);
+ (await storage.ContainsKeyAsync("VAL1")).Should().BeTrue();
+ (await storage.ContainsKeyAsync("VAL2")).Should().BeFalse();
+ (await storage.ContainsKeyAsync("VAL3")).Should().BeFalse();
await storage.SetAsync("VAL3", "data2");
- Assert.AreEqual((await storage.GetAllKeysAsync()).Length, 2);
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL1"));
- Assert.IsFalse(await storage.ContainsKeyAsync("VAL2"));
- Assert.IsTrue(await storage.ContainsKeyAsync("VAL3"));
+ (await storage.GetAllKeysAsync()).Length.Should().Be(2);
+ (await storage.ContainsKeyAsync("VAL1")).Should().BeTrue();
+ (await storage.ContainsKeyAsync("VAL2")).Should().BeFalse();
+ (await storage.ContainsKeyAsync("VAL3")).Should().BeTrue();
}
- [TestMethod]
+ [Fact]
public void TestDeleteKeySync()
{
var storage = this.GetStorage();
@@ -153,31 +153,31 @@ public void TestDeleteKeySync()
storage.Set("VAL2", true);
storage.Set("VAL3", "data");
- Assert.AreEqual((storage.GetAllKeys()).Length, 3);
- Assert.IsTrue(storage.ContainsKey("VAL1"));
- Assert.IsTrue(storage.ContainsKey("VAL2"));
- Assert.IsTrue(storage.ContainsKey("VAL3"));
+ (storage.GetAllKeys()).Length.Should().Be(3);
+ (storage.ContainsKey("VAL1")).Should().BeTrue();
+ (storage.ContainsKey("VAL2")).Should().BeTrue();
+ (storage.ContainsKey("VAL3")).Should().BeTrue();
storage.Remove("VAL2");
- Assert.AreEqual((storage.GetAllKeys()).Length, 2);
- Assert.IsTrue(storage.ContainsKey("VAL1"));
- Assert.IsFalse(storage.ContainsKey("VAL2"));
- Assert.IsTrue(storage.ContainsKey("VAL3"));
+ (storage.GetAllKeys()).Length.Should().Be(2);
+ (storage.ContainsKey("VAL1")).Should().BeTrue();
+ (storage.ContainsKey("VAL2")).Should().BeFalse();
+ (storage.ContainsKey("VAL3")).Should().BeTrue();
storage.Remove("VAL3");
- Assert.AreEqual((storage.GetAllKeys()).Length, 1);
- Assert.IsTrue(storage.ContainsKey("VAL1"));
- Assert.IsFalse(storage.ContainsKey("VAL2"));
- Assert.IsFalse(storage.ContainsKey("VAL3"));
+ (storage.GetAllKeys()).Length.Should().Be(1);
+ (storage.ContainsKey("VAL1")).Should().BeTrue();
+ (storage.ContainsKey("VAL2")).Should().BeFalse();
+ (storage.ContainsKey("VAL3")).Should().BeFalse();
storage.Set("VAL3", "data2");
- Assert.AreEqual((storage.GetAllKeys()).Length, 2);
- Assert.IsTrue(storage.ContainsKey("VAL1"));
- Assert.IsFalse(storage.ContainsKey("VAL2"));
- Assert.IsTrue(storage.ContainsKey("VAL3"));
+ (storage.GetAllKeys()).Length.Should().Be(2);
+ (storage.ContainsKey("VAL1")).Should().BeTrue();
+ (storage.ContainsKey("VAL2")).Should().BeFalse();
+ (storage.ContainsKey("VAL3")).Should().BeTrue();
}
- [TestMethod]
+ [Fact]
public async Task TestClearStorage()
{
var storage = this.GetStorage();
@@ -186,10 +186,10 @@ public async Task TestClearStorage()
await storage.SetAsync("VAL2", true);
await storage.SetAsync("VAL3", "data");
- Assert.AreEqual((await storage.GetAllKeysAsync()).Length, 3);
+ (await storage.GetAllKeysAsync()).Length.Should().Be(3);
await storage.ClearAsync();
- Assert.AreEqual((await storage.GetAllKeysAsync()).Length, 0);
+ (await storage.GetAllKeysAsync()).Length.Should().Be(0);
}
}
diff --git a/src/CsharpClient/QuixStreams.State.UnitTests/LocalCrudShould.cs b/src/CsharpClient/QuixStreams.State.UnitTests/LocalCrudShould.cs
index 3a03ea02d..9a7b3bfc3 100644
--- a/src/CsharpClient/QuixStreams.State.UnitTests/LocalCrudShould.cs
+++ b/src/CsharpClient/QuixStreams.State.UnitTests/LocalCrudShould.cs
@@ -1,11 +1,9 @@
-using Microsoft.VisualStudio.TestTools.UnitTesting;
using QuixStreams.State.Storage;
using QuixStreams.State.Storage.FileStorage;
using QuixStreams.State.Storage.FileStorage.LocalFileStorage;
namespace QuixStreams.State.UnitTests
{
- [TestClass]
public class LocalCRUDShould : BaseCRUDShould
{
override
diff --git a/src/CsharpClient/QuixStreams.State.UnitTests/QuixStreams.State.UnitTests.csproj b/src/CsharpClient/QuixStreams.State.UnitTests/QuixStreams.State.UnitTests.csproj
index 99280ab9c..02b0ad482 100644
--- a/src/CsharpClient/QuixStreams.State.UnitTests/QuixStreams.State.UnitTests.csproj
+++ b/src/CsharpClient/QuixStreams.State.UnitTests/QuixStreams.State.UnitTests.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/src/CsharpClient/QuixStreams.State.UnitTests/Serializers/ByteValueSerializerShould.cs b/src/CsharpClient/QuixStreams.State.UnitTests/Serializers/ByteValueSerializerShould.cs
index 9e1ba49e5..4e4b3be36 100644
--- a/src/CsharpClient/QuixStreams.State.UnitTests/Serializers/ByteValueSerializerShould.cs
+++ b/src/CsharpClient/QuixStreams.State.UnitTests/Serializers/ByteValueSerializerShould.cs
@@ -1,65 +1,57 @@
using System;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using FluentAssertions;
using QuixStreams.State.Serializers;
+using Xunit;
namespace QuixStreams.State.UnitTests.Serializers
{
- [TestClass]
public class ByteValueSerializerShould
{
- [TestMethod]
- [ExpectedException(typeof(FormatException),
- "Wrong codec id")]
- public void TestFalsy()
- {
- byte[] data = new byte[] { (byte)'c', 1, 2 };
- ByteValueSerializer.Deserialize(data);
- }
-
- [TestMethod]
+ [Fact]
public void TestBoolean()
{
var data = new StateValue(true);
var serialized = ByteValueSerializer.Serialize(data);
var deserialized = ByteValueSerializer.Deserialize(serialized);
- Assert.IsTrue(data.Equals(deserialized));
+
+ data.BoolValue.Should().Be(deserialized.BoolValue);
}
- [TestMethod]
+ [Fact]
public void TestString()
{
var data = new StateValue("123");
var serialized = ByteValueSerializer.Serialize(data);
var deserialized = ByteValueSerializer.Deserialize(serialized);
- Assert.IsTrue(data.Equals(deserialized));
+ data.StringValue.Should().BeEquivalentTo(deserialized.StringValue);
}
- [TestMethod]
+ [Fact]
public void TestLong()
{
var data = new StateValue(12L);
var serialized = ByteValueSerializer.Serialize(data);
var deserialized = ByteValueSerializer.Deserialize(serialized);
- Assert.IsTrue(data.Equals(deserialized));
+ data.LongValue.Should().Be(deserialized.LongValue);
}
- [TestMethod]
+ [Fact]
public void TestBinary()
{
var data = new StateValue(new byte[] { 1,5,78,21 });
var serialized = ByteValueSerializer.Serialize(data);
var deserialized = ByteValueSerializer.Deserialize(serialized);
- Assert.IsTrue(data.Equals(deserialized));
+ data.BinaryValue.Should().BeEquivalentTo(deserialized.BinaryValue);
}
- [TestMethod]
+ [Fact]
public void TestDouble()
{
var data = new StateValue(1.57);
var serialized = ByteValueSerializer.Serialize(data);
var deserialized = ByteValueSerializer.Deserialize(serialized);
- Assert.IsTrue(data.Equals(deserialized));
+ data.DoubleValue.Should().Be(deserialized.DoubleValue);
}
}
diff --git a/src/CsharpClient/QuixStreams.State.UnitTests/StateShould.cs b/src/CsharpClient/QuixStreams.State.UnitTests/StateShould.cs
new file mode 100644
index 000000000..b078dc708
--- /dev/null
+++ b/src/CsharpClient/QuixStreams.State.UnitTests/StateShould.cs
@@ -0,0 +1,207 @@
+using System;
+using System.Threading.Tasks;
+using FluentAssertions;
+using QuixStreams.State.Storage;
+using Xunit;
+
+namespace QuixStreams.State.UnitTests
+{
+ public class StateShould
+ {
+ [Fact]
+ public void Constructor_UsingNonEmptyState_ShouldLoadState()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ storage.SetAsync("existing", new StateValue("whatever"));
+ var state = new State(storage);
+
+ // Assert
+ state.Count.Should().Be(1);
+ state["existing"].StringValue.Should().BeEquivalentTo("whatever");
+ }
+
+ [Fact]
+ public void Add_StateValue_ShouldIncreaseCount()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ // Act
+ state.Add("key", new StateValue("value"));
+
+ // Assert
+ state.Count.Should().Be(1);
+ }
+
+ [Fact]
+ public void Remove_StateValue_ShouldDecreaseCount()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key", new StateValue("value"));
+
+ // Act
+ state.Remove("key");
+
+ // Assert
+ state.Count.Should().Be(0);
+ }
+
+ [Fact]
+ public void Clear_State_ShouldRemoveAllItems()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key1", new StateValue("value1"));
+ state.Add("key2", new StateValue("value2"));
+
+ // Act
+ state.Clear();
+
+ // Assert
+ state.Count.Should().Be(0);
+ }
+
+ [Fact]
+ public async Task Flush_State_ShouldPersistChangesToStorage()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key1", new StateValue("value1"));
+ state.Add("key2", new StateValue("value2"));
+
+ // Act
+ state.Flush();
+
+ // Assert
+ (await storage.Count()).Should().Be(2);
+ }
+
+ [Fact]
+ public async Task Flush_ClearBeforeFlush_ShouldClearStorage()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key1", new StateValue("value1"));
+ state.Add("key2", new StateValue("value2"));
+ state.Flush();
+ state.Clear();
+
+ // Act
+ state.Flush();
+
+ // Assert
+ (await storage.Count()).Should().Be(0);
+ }
+
+ [Fact]
+ public void State_WithNullStorage_ShouldThrowArgumentNullException()
+ {
+ // Act
+ Action act = () => new State(null);
+
+ // Assert
+ act.Should().Throw();
+ }
+
+ [Fact]
+ public void ContainsKey_KeyExists_ShouldReturnTrue()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key", new StateValue("value"));
+
+ // Act
+ bool containsKey = state.ContainsKey("key");
+
+ // Assert
+ containsKey.Should().BeTrue();
+ }
+
+ [Fact]
+ public void ContainsKey_KeyDoesNotExist_ShouldReturnFalse()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ // Act
+ bool containsKey = state.ContainsKey("key");
+
+ // Assert
+ containsKey.Should().BeFalse();
+ }
+
+ [Fact]
+ public void TryGetValue_KeyExists_ShouldReturnTrueAndValue()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key", new StateValue("value"));
+
+ // Act
+ bool success = state.TryGetValue("key", out StateValue value);
+
+ // Assert
+ success.Should().BeTrue();
+ value.StringValue.Should().BeEquivalentTo("value");
+ }
+
+ [Fact]
+ public void TryGetValue_KeyDoesNotExist_ShouldReturnFalseAndDefaultValue()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ // Act
+ bool success = state.TryGetValue("key", out StateValue value);
+
+ // Assert
+ success.Should().BeFalse();
+ value.Should().BeNull();
+ }
+
+ [Fact]
+ public void Indexer_GetAndSet_ShouldWorkCorrectly()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key", new StateValue("value"));
+
+ // Act
+ state["key"] = new StateValue("updatedValue");
+ StateValue value = state["key"];
+
+ // Assert
+ value.StringValue.Should().BeEquivalentTo("updatedValue");
+ }
+
+ [Fact]
+ public void Reset_Modified_ShouldResetToSaved()
+ {
+ // Arrange
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+ state.Add("key", new StateValue("value"));
+ state.Flush();
+
+ // Act
+ state["key"] = new StateValue("updatedValue");
+ state.Reset();
+
+ // Assert
+ StateValue value = state["key"];
+ value.StringValue.Should().BeEquivalentTo("value");
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/CsharpClient/QuixStreams.State.UnitTests/StateTemplatedShould.cs b/src/CsharpClient/QuixStreams.State.UnitTests/StateTemplatedShould.cs
new file mode 100644
index 000000000..5997ef118
--- /dev/null
+++ b/src/CsharpClient/QuixStreams.State.UnitTests/StateTemplatedShould.cs
@@ -0,0 +1,484 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using FluentAssertions;
+using FluentAssertions.Common;
+using QuixStreams.State.Storage;
+using Xunit;
+
+namespace QuixStreams.State.UnitTests;
+
+public class StateTemplatedShould
+{
+ public class StateShould
+ {
+ [Fact]
+ public void Constructor_ShouldCreateState()
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state.Should().NotBeNull();
+ }
+
+ [Fact]
+ public void Constructor_WithNullStateStorage_ShouldThrowArgumentNullException()
+ {
+ Action nullTopicName = () => new State((IStateStorage)null);
+
+ nullTopicName.Should().Throw().WithMessage("*storage*");
+ }
+
+
+ [Theory]
+ [InlineData("TestKey", "TestValue")]
+ public void StringConversion_ShouldStoreAndRetrieveCorrectly(string key, string value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", 3.14)]
+ public void DoubleConversion_ShouldStoreAndRetrieveCorrectly(string key, double value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", 3.146546597897)]
+ public void DecimalConversion_ShouldStoreAndRetrieveCorrectly(string key, decimal value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", 42.0f)]
+ public void FloatConversion_ShouldStoreAndRetrieveCorrectly(string key, float value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", true)]
+ [InlineData("TestKey", false)]
+ public void BoolConversion_ShouldStoreAndRetrieveCorrectly(string key, bool value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+
+ [Theory]
+ [InlineData("TestKey", 'A')]
+ public void CharConversion_ShouldStoreAndRetrieveCorrectly(string key, char value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", 1234567890123456789L)]
+ public void LongConversion_ShouldStoreAndRetrieveCorrectly(string key, long value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", 1234567890123456789UL)]
+ public void UlongConversion_ShouldStoreAndRetrieveCorrectly(string key, ulong value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+
+ [Theory]
+ [InlineData("TestKey", 42)]
+ public void IntConversion_ShouldStoreAndRetrieveCorrectly(string key, int value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", 42u)]
+ public void UintConversion_ShouldStoreAndRetrieveCorrectly(string key, uint value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", (short)42)]
+ public void ShortConversion_ShouldStoreAndRetrieveCorrectly(string key, short value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", (ushort)42u)]
+ public void UshortConversion_ShouldStoreAndRetrieveCorrectly(string key, ushort value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", (byte)42)]
+ public void ByteConversion_ShouldStoreAndRetrieveCorrectly(string key, byte value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [InlineData("TestKey", (sbyte)42u)]
+ public void SbyteConversion_ShouldStoreAndRetrieveCorrectly(string key, sbyte value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ [Theory]
+ [MemberData(nameof(GetDateTimeValues))]
+ public void DatetimeConversion_ShouldStoreAndRetrieveCorrectly(string key, DateTime value)
+ {
+ var storage = new InMemoryStorage();
+ var state = new State(storage);
+
+ state[key] = value;
+
+ state[key].Should().Be(value);
+
+ state.Flush();
+
+ var state2 = new State(storage);
+
+ state2[key].Should().Be(value);
+ }
+
+ public static IEnumerable