From dd84a823f6b28bbc0115a2c28d8ea4603b7c718f Mon Sep 17 00:00:00 2001
From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com>
Date: Mon, 10 Aug 2026 10:27:57 +0000
Subject: [PATCH 1/3] [fern-generated] Update SDK
Generated by Fern
CLI Version: unknown
Generators:
- fernapi/fern-python-sdk: 5.14.20
---
.fern/metadata.json | 6 +-
poetry.lock | 325 ++++---------
reference.md | 145 ++++++
src/schematic/__init__.py | 27 ++
src/schematic/companies/__init__.py | 9 +
src/schematic/companies/client.py | 190 ++++++++
src/schematic/companies/raw_client.py | 440 ++++++++++++++++++
src/schematic/companies/types/__init__.py | 9 +
.../types/count_entity_keys_params.py | 34 ++
.../types/count_entity_keys_response.py | 25 +
.../delete_entity_key_definition_response.py | 24 +
src/schematic/core/client_wrapper.py | 4 +-
src/schematic/types/__init__.py | 22 +
src/schematic/types/billing_credit_view.py | 4 +-
.../billing_product_record_response_data.py | 29 ++
.../company_feature_usage_export_metadata.py | 29 +-
...ge_export_metadata_sort_order_direction.py | 5 +
...ge_export_metadata_visible_columns_item.py | 7 +
src/schematic/types/data_export_metadata.py | 35 +-
src/schematic/types/data_export_type.py | 2 +-
src/schematic/types/event_export_metadata.py | 59 +++
.../event_export_metadata_event_types_item.py | 7 +
src/schematic/types/feature_view.py | 4 +-
.../types/test_webhook_response_data.py | 1 +
24 files changed, 1197 insertions(+), 245 deletions(-)
create mode 100644 src/schematic/companies/types/count_entity_keys_params.py
create mode 100644 src/schematic/companies/types/count_entity_keys_response.py
create mode 100644 src/schematic/companies/types/delete_entity_key_definition_response.py
create mode 100644 src/schematic/types/billing_product_record_response_data.py
create mode 100644 src/schematic/types/company_feature_usage_export_metadata_sort_order_direction.py
create mode 100644 src/schematic/types/company_feature_usage_export_metadata_visible_columns_item.py
create mode 100644 src/schematic/types/event_export_metadata.py
create mode 100644 src/schematic/types/event_export_metadata_event_types_item.py
diff --git a/.fern/metadata.json b/.fern/metadata.json
index b992783..b564d36 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -23,10 +23,10 @@
}
]
},
- "originGitCommit": "a9fc73b97dcfa602bff97a7d41d980a55c9c9030",
+ "originGitCommit": "8cfe954dda14329fc30a4f80b915db0acf608382",
"originGitCommitIsDirty": false,
"invokedBy": "ci",
- "requestedVersion": "1.3.2",
+ "requestedVersion": "1.3.3",
"ciProvider": "github",
- "sdkVersion": "1.3.2"
+ "sdkVersion": "1.3.3"
}
\ No newline at end of file
diff --git a/poetry.lock b/poetry.lock
index 8acb245..16f689e 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,25 +1,26 @@
-# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand.
+# This file is automatically @generated by Poetry 2.4.1 and should not be changed by hand.
[[package]]
name = "aiohappyeyeballs"
version = "2.7.1"
description = "Happy Eyeballs for asyncio"
-optional = false
+optional = true
python-versions = ">=3.10"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "aiohappyeyeballs-2.7.1-py3-none-any.whl", hash = "sha256:9243213661e29250eb41368e5daa826fc017156c3b8a11440826b2e3ed376472"},
{file = "aiohappyeyeballs-2.7.1.tar.gz", hash = "sha256:065665c041c42a5938ed220bdcd7230f22527fbec085e1853d2402c8a3615d9d"},
]
-markers = {main = "extra == \"aiohttp\""}
[[package]]
name = "aiohttp"
version = "3.14.3"
description = "Async http client/server framework (asyncio)"
-optional = false
+optional = true
python-versions = ">=3.10"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "aiohttp-3.14.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eb0495d778817619273c108784292be161a924b9f5ae5cbbc70a2caa6838250b"},
{file = "aiohttp-3.14.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c3c200cf9757edd785051dc699c7ecbec22110dbfcb3fefc7a9f9695eda8ea7a"},
@@ -141,7 +142,6 @@ files = [
{file = "aiohttp-3.14.3-cp314-cp314t-win_arm64.whl", hash = "sha256:2e1161602f45a54de2ce0905243a95f58cb42dcd378402f3697f5e0b21e9d2e7"},
{file = "aiohttp-3.14.3.tar.gz", hash = "sha256:9491196535a88924a60afd5b5f434b5b203b6cc616250878dbdb223a8f7844bc"},
]
-markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
aiohappyeyeballs = ">=2.5.0"
@@ -161,14 +161,14 @@ speedups = ["Brotli (>=1.2) ; platform_python_implementation == \"CPython\" and
name = "aiosignal"
version = "1.4.0"
description = "aiosignal: a list of registered asynchronous callbacks"
-optional = false
+optional = true
python-versions = ">=3.9"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e"},
{file = "aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7"},
]
-markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
frozenlist = ">=1.1.0"
@@ -210,27 +210,40 @@ trio = ["trio (>=0.32.0)"]
name = "async-timeout"
version = "5.0.1"
description = "Timeout context manager for asyncio programs"
-optional = false
+optional = true
python-versions = ">=3.8"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "python_version == \"3.10\" and extra == \"aiohttp\""
files = [
{file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"},
{file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"},
]
-markers = {main = "extra == \"aiohttp\" and python_version == \"3.10\"", dev = "python_full_version < \"3.11.3\""}
[[package]]
name = "attrs"
version = "26.1.0"
description = "Classes Without Boilerplate"
-optional = false
+optional = true
python-versions = ">=3.9"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309"},
{file = "attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32"},
]
-markers = {main = "extra == \"aiohttp\""}
+
+[[package]]
+name = "backports-asyncio-runner"
+version = "1.2.0"
+description = "Backport of asyncio.Runner, a context manager that controls event loop life cycle."
+optional = false
+python-versions = "<3.11,>=3.8"
+groups = ["dev"]
+markers = "python_version == \"3.10\""
+files = [
+ {file = "backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5"},
+ {file = "backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162"},
+]
[[package]]
name = "certifi"
@@ -295,9 +308,10 @@ testing = ["hatch", "pre-commit", "pytest", "tox"]
name = "frozenlist"
version = "1.8.0"
description = "A list-like structure which implements collections.abc.MutableSequence"
-optional = false
+optional = true
python-versions = ">=3.9"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011"},
{file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565"},
@@ -430,7 +444,6 @@ files = [
{file = "frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d"},
{file = "frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad"},
]
-markers = {main = "extra == \"aiohttp\""}
[[package]]
name = "h11"
@@ -514,7 +527,7 @@ version = "3.18"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.9"
-groups = ["main", "dev"]
+groups = ["main"]
files = [
{file = "idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2"},
{file = "idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848"},
@@ -539,9 +552,10 @@ files = [
name = "multidict"
version = "6.7.1"
description = "multidict implementation"
-optional = false
+optional = true
python-versions = ">=3.9"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5"},
{file = "multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8"},
@@ -690,7 +704,6 @@ files = [
{file = "multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56"},
{file = "multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d"},
]
-markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""}
@@ -763,14 +776,14 @@ files = [
[[package]]
name = "packaging"
-version = "26.2"
+version = "26.3"
description = "Core utilities for Python packages"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e"},
- {file = "packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661"},
+ {file = "packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c"},
+ {file = "packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79"},
]
[[package]]
@@ -793,9 +806,10 @@ testing = ["coverage", "pytest", "pytest-benchmark"]
name = "propcache"
version = "0.5.2"
description = "Accelerated property cache"
-optional = false
+optional = true
python-versions = ">=3.10"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "propcache-0.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a81be28596d6559f6131ef33e10200de6e17643b3c74ce03f9eb103be6ae8b"},
{file = "propcache-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29cbaac5ea0212663e6845e04b5e188d5a6ae6dd919810ac835bf1d3b42c3f4c"},
@@ -919,7 +933,6 @@ files = [
{file = "propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe"},
{file = "propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427"},
]
-markers = {main = "extra == \"aiohttp\""}
[[package]]
name = "pydantic"
@@ -1077,63 +1090,63 @@ files = [
typing-extensions = ">=4.14.1"
[[package]]
-name = "pyjwt"
-version = "2.13.0"
-description = "JSON Web Token implementation in Python"
+name = "pygments"
+version = "2.20.0"
+description = "Pygments is a syntax highlighting package written in Python."
optional = false
python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728"},
- {file = "pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423"},
+ {file = "pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176"},
+ {file = "pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f"},
]
-[package.dependencies]
-typing_extensions = {version = ">=4.0", markers = "python_version < \"3.11\""}
-
[package.extras]
-crypto = ["cryptography (>=3.4.0)"]
+windows-terminal = ["colorama (>=0.4.6)"]
[[package]]
name = "pytest"
-version = "7.4.4"
+version = "9.1.1"
description = "pytest: simple powerful testing with Python"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.10"
groups = ["dev"]
files = [
- {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"},
- {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"},
+ {file = "pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c"},
+ {file = "pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313"},
]
[package.dependencies]
-colorama = {version = "*", markers = "sys_platform == \"win32\""}
-exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
-iniconfig = "*"
-packaging = "*"
-pluggy = ">=0.12,<2.0"
-tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
+colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1", markers = "python_version < \"3.11\""}
+iniconfig = ">=1.0.1"
+packaging = ">=22"
+pluggy = ">=1.5,<2"
+pygments = ">=2.7.2"
+tomli = {version = ">=1", markers = "python_version < \"3.11\""}
[package.extras]
-testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
+dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"]
[[package]]
name = "pytest-asyncio"
-version = "0.23.8"
+version = "1.4.0"
description = "Pytest support for asyncio"
optional = false
-python-versions = ">=3.8"
+python-versions = ">=3.10"
groups = ["dev"]
files = [
- {file = "pytest_asyncio-0.23.8-py3-none-any.whl", hash = "sha256:50265d892689a5faefb84df80819d1ecef566eb3549cf915dfb33569359d1ce2"},
- {file = "pytest_asyncio-0.23.8.tar.gz", hash = "sha256:759b10b33a6dc61cce40a8bd5205e302978bbbcc00e279a8b61d9a6a3c82e4d3"},
+ {file = "pytest_asyncio-1.4.0-py3-none-any.whl", hash = "sha256:933ca923a23075a87fb7070c0ec272a6848489824d887c85c812670932835aa1"},
+ {file = "pytest_asyncio-1.4.0.tar.gz", hash = "sha256:c6c0d2259945122819f171a32ecea2c349ead889ee28176caaf492143424be42"},
]
[package.dependencies]
-pytest = ">=7.0.0,<9"
+backports-asyncio-runner = {version = ">=1.1,<2", markers = "python_version < \"3.11\""}
+pytest = ">=8.4,<10"
+typing-extensions = {version = ">=4.12", markers = "python_version < \"3.13\""}
[package.extras]
-docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"]
+docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1)", "sphinx-tabs (>=3.5)"]
testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"]
[[package]]
@@ -1172,26 +1185,6 @@ files = [
[package.dependencies]
six = ">=1.5"
-[[package]]
-name = "redis"
-version = "5.3.1"
-description = "Python client for Redis database and key-value store"
-optional = false
-python-versions = ">=3.8"
-groups = ["dev"]
-files = [
- {file = "redis-5.3.1-py3-none-any.whl", hash = "sha256:dc1909bd24669cc31b5f67a039700b16ec30571096c5f1f0d9d2324bff31af97"},
- {file = "redis-5.3.1.tar.gz", hash = "sha256:ca49577a531ea64039b5a36db3d6cd1a0c7a60c34124d46924a45b956e8cf14c"},
-]
-
-[package.dependencies]
-async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""}
-PyJWT = ">=2.9.0"
-
-[package.extras]
-hiredis = ["hiredis (>=3.0.0)"]
-ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==23.2.1)", "requests (>=2.31.0)"]
-
[[package]]
name = "ruff"
version = "0.11.5"
@@ -1292,14 +1285,14 @@ files = [
[[package]]
name = "types-python-dateutil"
-version = "2.9.0.20260716"
+version = "2.9.0.20260807"
description = "Typing stubs for python-dateutil"
optional = false
python-versions = ">=3.10"
groups = ["dev"]
files = [
- {file = "types_python_dateutil-2.9.0.20260716-py3-none-any.whl", hash = "sha256:1ae41d51a5c5f6bbeeb7f1f34df7086d55ff1605cf88d2ed71a7a276e1a7794e"},
- {file = "types_python_dateutil-2.9.0.20260716.tar.gz", hash = "sha256:1d55d1c3024bdb4861bb6a6622c9ec800c433d87bdc5b16fb84cdd0eed4ef2cb"},
+ {file = "types_python_dateutil-2.9.0.20260807-py3-none-any.whl", hash = "sha256:54aa3707350ed7a9cc0776fd2f6739679d6967d11b40150985e81edcb86df4db"},
+ {file = "types_python_dateutil-2.9.0.20260807.tar.gz", hash = "sha256:e0b8a90d464c8684c66b7b8e4556d9074afdddcc56ca45323f0987134f9e7034"},
]
[[package]]
@@ -1316,172 +1309,45 @@ files = [
[[package]]
name = "typing-inspection"
-version = "0.4.2"
+version = "0.4.3"
description = "Runtime typing introspection tools"
optional = false
-python-versions = ">=3.9"
+python-versions = ">=3.10"
groups = ["main"]
files = [
- {file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"},
- {file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"},
+ {file = "typing_inspection-0.4.3-py3-none-any.whl", hash = "sha256:5f42b23858a91e0b4ef521f5418f03a0da3c9216fd2995ef5e73463100e676cd"},
+ {file = "typing_inspection-0.4.3.tar.gz", hash = "sha256:c5f9ec1530b5c1e2c9bc34a84d9a3466ed1b2f3f2fa9f901368d9c5596210e4d"},
]
[package.dependencies]
-typing-extensions = ">=4.12.0"
+typing-extensions = ">=4.15.0"
[[package]]
-name = "wasmtime"
-version = "47.0.1"
-description = "A WebAssembly runtime powered by Wasmtime"
-optional = true
-python-versions = ">=3.9"
-groups = ["main"]
-markers = "extra == \"datastream\" or extra == \"rulesengine\""
+name = "urllib3"
+version = "2.7.0"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+optional = false
+python-versions = ">=3.10"
+groups = ["dev"]
files = [
- {file = "wasmtime-47.0.1-py3-none-android_26_arm64_v8a.whl", hash = "sha256:844d85628e50929143f03af9a34b3cf5c9148747debced80c14776d27e18173c"},
- {file = "wasmtime-47.0.1-py3-none-android_26_x86_64.whl", hash = "sha256:749c5c1271ca208f1026001ddc65984fa98113e583521d47ae7e11bc96bf337d"},
- {file = "wasmtime-47.0.1-py3-none-any.whl", hash = "sha256:5146a700c93909e797e0f6c05707c992fc75f4f5f5c5ecf826a9aff689ec6af1"},
- {file = "wasmtime-47.0.1-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:8b4ec103273ec3dce86efe6793d41f83df713983d9cbc5c9662adbb56cf00ffe"},
- {file = "wasmtime-47.0.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:58da69f71750e844e32614c1805246ffca4c8b032d46a8145faa26c228c6c5ac"},
- {file = "wasmtime-47.0.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:9724600b036c6e95c4fe952e29fad83b4f02bdc11d23f25c4ee3ffff2c1d7257"},
- {file = "wasmtime-47.0.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4f72162ceed1d50de8226fac6b12e1ecce54883a0c3f7355bb141eae40df488a"},
- {file = "wasmtime-47.0.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0aeb53d4c8e682cccebbaac48882939b34e71a1243b622129de3e6834728044d"},
- {file = "wasmtime-47.0.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:f900fa571a9a5668b6210de9ecca1c5b66db14d85b7c36514c3d307d4f4cdc90"},
- {file = "wasmtime-47.0.1-py3-none-win_amd64.whl", hash = "sha256:4e46a4a29092a2ac1001159d5673e2a23996f4474261c791401867b1630429f4"},
- {file = "wasmtime-47.0.1-py3-none-win_arm64.whl", hash = "sha256:812058e7b40b73defa1d5118c25faa674920b7833c0a22cf79f0ff4eadee0c32"},
- {file = "wasmtime-47.0.1.tar.gz", hash = "sha256:fab6ee0e87354f14ef228fa71b40841dd3c2c713f6efce636af234b4e3e6edcc"},
+ {file = "urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897"},
+ {file = "urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c"},
]
[package.extras]
-testing = ["coverage", "pycparser", "pytest", "pytest-mypy"]
-
-[[package]]
-name = "websockets"
-version = "16.1.1"
-description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
-optional = true
-python-versions = ">=3.10"
-groups = ["main"]
-markers = "extra == \"datastream\""
-files = [
- {file = "websockets-16.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:49ae99bdfcae803a885c926bf14f886196e84925395bb3f568fef5c0f0979d7d"},
- {file = "websockets-16.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5bfd1ac19b1b9986a9c95a82d5e23a391ebb09e12c34d7be6094b86efcc35731"},
- {file = "websockets-16.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9246a0d063cfcbcc85f2359dd6876d681213f4790832272aa16641b4ed5d64d4"},
- {file = "websockets-16.1.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1214e673c404684b9bf7154f5cf43b45025b1a6160fac3a9e438e9c1a97e22cb"},
- {file = "websockets-16.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90001d893bc368e302ef168d82130b4e4fdd27b85fa094682df9b667c2d48838"},
- {file = "websockets-16.1.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:130937b167a52af203c8d58e78d67705874e82759862e3b9671a452fec4abc87"},
- {file = "websockets-16.1.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c9f23004a3d40e89c01a7955d186a6cc83418d93b749701944ce2de3e95a1f3"},
- {file = "websockets-16.1.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f55f0b01956a094c8587146d9558c91937e78789c333860ffaf35931a6e5dbc4"},
- {file = "websockets-16.1.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6aaface73b9c71974c6497366d8b9628357f6c9749e09c4ea3610176c63f2ae3"},
- {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dc0fad4933f427acd5b1cec210f3ea6dce7089e1724e4b9ec6ef47c6c04d1b3b"},
- {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2769a0344a09e9ccf5b3cce538bc75a51b53eff3275d3896310c8552049195d"},
- {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f70541f3104339f59f830522d94ebadb1bf47426287381623443d8bb1cdbf33d"},
- {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:dc385593a42e31cd6fb60c19f0ecb015b386603818fc2c6c274fb42bd2bb4165"},
- {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:387e8e4aa5df2f90b198fa3cad3478822a89cf905b6a6d6c97dc3664689640cc"},
- {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fd46fff7eb62c24804d234f0051c7a8ea81285ad63e0337d3dcf33ca82aee58a"},
- {file = "websockets-16.1.1-cp310-cp310-win32.whl", hash = "sha256:7883388947767080f094950b342b30d35a2a06b849cd967c422fa0db72b40ea9"},
- {file = "websockets-16.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d57685547e0060cc6fd90ee6a28405d6bd395e525545f13c8d7cd99c78afd79f"},
- {file = "websockets-16.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d0fcf657e9f13ff4b177960ab2200237b12994232dfb6df16f1cfe1d4339f93c"},
- {file = "websockets-16.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b852788aa51764e2d8e4cf5493d559326bcae5e38d16ba25ffa322b034df272a"},
- {file = "websockets-16.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1427fb4cf0d72f66333e2cacc3ff5f575bf2d7008166ce991a4a470b21d51a22"},
- {file = "websockets-16.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:da4ca1a9d72f9030b3146b8d7022719a9f3d478f61efe6f7dd51d243f61c51b2"},
- {file = "websockets-16.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86d7f0f8bdb25d2c632b72527325e4776430fd5bc61b9118de4e2b8ddb5f5b01"},
- {file = "websockets-16.1.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7dfcad78ea1492ee3a9ec765cb7f51bbc17d477107aaf6b22abf7b2558d1c5a0"},
- {file = "websockets-16.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fb9a0a6dc3d1b3986cb88091b6899f0396651e0f74e2c9766ab8d6ffc3842e29"},
- {file = "websockets-16.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29dfa8114c4a620c69591c5973860f768eac29d3fd6904f37f34266cb219c512"},
- {file = "websockets-16.1.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6ff9417c0ada4d0f7d212f928303e5579bdf3ace4c802fa4afabb30995da58c3"},
- {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fe0b50da2d84535fb4f7b4bfa951280f97ce3d558a0443b541166d609e67b57"},
- {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:34420aaa64440ebd51ac72ca8a45ef4626429438c9b02e633ae412ed43f925d3"},
- {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a6a61aff018180c9c50b7b0da33bfd29d378af3497429c95006c589a23a11648"},
- {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:04fd29a0e2fe9414a95b00e92c67ae51bf900c50c0f8a4b2dafdad621f49ea1d"},
- {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5c31aa7e39ee3e8a358573257f1c0bb5c52430d1b637030dd9c8cc2c282926be"},
- {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d14bfb217eb4701e850f1525c9d29d79c44794cdf1c299ead25f39f8c78dea81"},
- {file = "websockets-16.1.1-cp311-cp311-win32.whl", hash = "sha256:2e28e602bb13da44fbe518c1781a88e3b9d4c3d48d02c9bad83e546164336f57"},
- {file = "websockets-16.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:7421fad442de870a8cbf2287d1cad7e706ece0dbfeba5e911df132cbdc1cb56a"},
- {file = "websockets-16.1.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cc97814dfb786a83b6e2dc2e79351e1b83e6d715647d6887fcabd83026417a00"},
- {file = "websockets-16.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e047dc87ef7ca50f4d309bf775ad4a71711c58556d75d7bd0604b2317f43e94b"},
- {file = "websockets-16.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:01fbdcbac298efe19360b94bc0039c8f746f0220ba570f327577bfee81059175"},
- {file = "websockets-16.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0f62863e8a00a6d33c3d6566ec0b89f23787b747ffe0c3bc71ec0e76b82c94b1"},
- {file = "websockets-16.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8087e82f842609734c9b5a1330464f8e94e346ba0e18c832c08bafa4b0d63c15"},
- {file = "websockets-16.1.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2bb5d041a8307d2e18782e7ce777f6fdb1e8c2f5d09291484b18c294b789d9aa"},
- {file = "websockets-16.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1db4de4a0e95673f7545d393c49eeb0c2f18ac1ef93073218c79d5cdb2ee75ab"},
- {file = "websockets-16.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f17dbe07eb3ea7f99e4df9b7e0efefe80fbf30d37a8cc4d561a0aed310bc8847"},
- {file = "websockets-16.1.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4b57693728576d84ede0a77987ab16881b783d2cd9f1dc180a8fbbc3f79c4428"},
- {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2a636ff1e7a5c4edf71ef0e79adae7f25dba93b4fcbe3dc958733477ffeb0eaf"},
- {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d6bec75c290fe484a8ba4cacdf838501e17c06ecfbbf31eede81a9e431bd7751"},
- {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:54509b8e92fee4453e152b7558ddef37ce9705a044922f2095a6105e3f80c96f"},
- {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:f0aa4aad3b1b69ad3fd85a0fd0952ec64331c762bd77ec51cc814170873890b2"},
- {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:42290eb6db4ccaca7012656738214f8514082fb6fa40cdeb61bb9a471b52e383"},
- {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:53260c8930da5771cec89439bff99c20c8cb03ddb9588b980697355a83cd4bd3"},
- {file = "websockets-16.1.1-cp312-cp312-win32.whl", hash = "sha256:1d27fa8462ad6a1cb36206a3d0640b2333340def181fae11ed7f9adeaa5c0747"},
- {file = "websockets-16.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:b436f6ec4fc3a6b4237c84d3f83170ed2b40bb584222f0ac47a0c8a5921980c7"},
- {file = "websockets-16.1.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ab59169ace05dcb49a1d4118f0bde139557adf45091bd85747e36bf5de984dd1"},
- {file = "websockets-16.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5e3b7d601f6f84156b08cc4a5e541c2b50ad7b36cfc302b657a12477c904a5df"},
- {file = "websockets-16.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cd2ca96a082a36964aca83e992f72abeb61b7306c1a6cba4c7d06a7b93750cac"},
- {file = "websockets-16.1.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f5d497865f05bb222cab7016c6034542e84e5f29f49c6fd3f4939cda7197b5b8"},
- {file = "websockets-16.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bae954c382e013d5ea5b190d2830526bfa45ad121c326da0049b8c769f185db6"},
- {file = "websockets-16.1.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e09f753a169951eb4f28c2c774f71069304f66e7277e0f5a2892423599cfa854"},
- {file = "websockets-16.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:024193f8551a2b0eafbdd160911012c4e6c228c28430c84433253299a9e42d6a"},
- {file = "websockets-16.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:aabe464bfd13bd25f4821faf111da6fefdc389f870265a53105580e45b0a2e49"},
- {file = "websockets-16.1.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a28fcbc9b6baf54a2e23f8655f308e4ccc6afdd7266f8fe7954f320dcda0f785"},
- {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:79eace538c6a97e96d0d03d4f9d314f9677f5ed85a8a984992ffd90b13cb8a56"},
- {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:496af849a472b531f758dbd4d61338f5000538cb1a7b3d20d9d32a264517f509"},
- {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5283810d2646741a0d8da2aa733d6aefa0545809afccb2a5d105a26bc45125f1"},
- {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:4e3b680b1e0a27457e727a0d572fd81dffa87b6dbf8b228ab57da64f7d85aead"},
- {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:69159730a823dde3ea8d08783e8d47ef135a6d7e8d44eb127e32b321c9db8e3e"},
- {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ed5bb271084b46530ee2ddc0410537a9961152c5ccba2fc98c5276d992ccba87"},
- {file = "websockets-16.1.1-cp313-cp313-win32.whl", hash = "sha256:cfb70b4eb56cac4da0a83588f3ad50d46beb0690391082f3d4e2d488c70b68ea"},
- {file = "websockets-16.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:d9531d9cbeac99af6f038fb1bc351403531f7d634a2c2e10e2f7c854c6ed5b68"},
- {file = "websockets-16.1.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:443aefe96b7fdb132e2a70806cca1f2af49bb3f28e47abcd7c2e9dcf4d8fa1b8"},
- {file = "websockets-16.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6456ff333092d509127d75a638cb411afae8ff17f092635015d1902efec8a293"},
- {file = "websockets-16.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fce6c48559c86d1ac3632ccb1bebc7d5442fbe79bd9bb0e40379ee54be2a4051"},
- {file = "websockets-16.1.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:92b820d345f7a3fc7b8163949ee92df910f290c3fc517b3d5301c78065adafe1"},
- {file = "websockets-16.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a606d9c24035242a3e256e9d5b77ed9cd6bccfcb7cf993e5ca3c0f6f68fb6a7"},
- {file = "websockets-16.1.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:414e596c75f74e0994084694189d7dc9229fb278e33064d6784b73ffbba3ca31"},
- {file = "websockets-16.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:536676848fc5961aca9d20389951f59169508f765637a172403dc5434d722fa0"},
- {file = "websockets-16.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:97fd3a0e8b53efa41970ac1dff3d8cf0d2884cadeb4caaf95db7ad1526926ee3"},
- {file = "websockets-16.1.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7b1b19636af86a3c7995d4d028dbe376f39b4bf31541146f9c123582a6c94562"},
- {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:41c8e77f17294c0ac18008a7309b99b34ee72247ef10b6dff4c3f8b5ac29896b"},
- {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:9f63bcef7f4b02b06b35fc01c93b96c43b5e88e1e8868676caacf493d5a31f3a"},
- {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dab9eb87869da2d6ed3af3f3adf28414baae6ec9d4df355ffc18889132f3436c"},
- {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:43e3a9fdd7cbf7ba6040c31fae0faf84ca1474fef777c4e37912f1540f854499"},
- {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:056ae37939ed7e9974f364f5864e76e49182622d8f9751ac1903c0d09b013985"},
- {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a0eadbbf2c30f01efa58e1f110eb6fa293261f6b0b1aa38f7f48707107690af9"},
- {file = "websockets-16.1.1-cp314-cp314-win32.whl", hash = "sha256:195c978b065fa40910582464f99d6b15c8b314c68e0546549a55ed83f4735328"},
- {file = "websockets-16.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:4e8d01cc3bcae7bbf8167f944aeafefed590fae5693552bba9794a9df68371cc"},
- {file = "websockets-16.1.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0ffd3031ea8bda8d61762e84220186105ba3b748b3c8da2ae4f7816fac03e573"},
- {file = "websockets-16.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:84a2cef8deffbd9ab8ee0ea546a2a6a7030c28f44e6cdd4547dbfeb489eb8999"},
- {file = "websockets-16.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3df13f73af9b3b38ab1195eb299ecb67a4330c911c97ae04043ff74085728abe"},
- {file = "websockets-16.1.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:23253dd5bcae3f9aaee0a1d30967a8dbd52e5d3cff93a2e5b84df57b77d4750d"},
- {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1c5705e314449e3308872fe084b8571ce078ee4fc55a98a769bdefe5917392"},
- {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69e52d175a0a7d1e13b4b67ad41c560b7d98e8c6f6126eb0bda496c784faf8c7"},
- {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1f79c89b5eb034d1722938a891916582f8f7f503f58ca22518a63c3f2cd18499"},
- {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:39f2a024af5c345ffe8fcf1ee18c049c024c94df393bb09b044a6917c77bde43"},
- {file = "websockets-16.1.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:952303a7318d4cbe1011400839bb2051c9f84fa0a35923267f5daba34b15d458"},
- {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:249116b4a76063d930a46391ad56e135c286e4562a18309029fc2c73f4ed4c62"},
- {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:61922544a0587a13fd3f53e4c0e5e606510c7b0d9d22c8444e5fae22a06b38cb"},
- {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:46dcaa042cd1de6c59e7d9269fa63ff7572b6df40510600b678f0826b3c7af51"},
- {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:38565aca3e01ea8734e578fb2118dade0ecb0250533f29e22b8d1a7a196cf4d0"},
- {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:42f599f4d48c7e1a3338fdaac3acd075be3b3cf02d4b274f3bf2767aedd3d217"},
- {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dcc04fedf83effaeb9cce98abc9469bb1b42ef85f03e01c8c1f4438ef7555737"},
- {file = "websockets-16.1.1-cp314-cp314t-win32.whl", hash = "sha256:8483c2096363120eea8b07c06ae7304d520f686665fffd4811fad423930a65d7"},
- {file = "websockets-16.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:bcce07e23e5769375158f5efdcdafa8d5cd014b93c6683865b840ed65b96f231"},
- {file = "websockets-16.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:820fb8450edddae3812fd58cbc08e2bf22812cb248ecb5f06dbb82119a56e869"},
- {file = "websockets-16.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:125f22dbefaf1554fea66fc83851490edb284ce4f501d37ffed2752f418332d9"},
- {file = "websockets-16.1.1-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:30bbe120437b5648a77d3519b7024ea09530e0b5b18d3698c5a0ae536fe0cc2e"},
- {file = "websockets-16.1.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b6b9dadbef0cccd9f4c4ee96b08898afa73e26803bbe0f6aeb5bb12b0074206d"},
- {file = "websockets-16.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56cd5fc4f10a9ea8aa0804bddb7b42506cf9e136046f3b4c27de8fec9e2ecba5"},
- {file = "websockets-16.1.1-py3-none-any.whl", hash = "sha256:6abbd3e82c731c8e531714466acd5d87b5e88ac3243465337ba71d68e23ae7e3"},
- {file = "websockets-16.1.1.tar.gz", hash = "sha256:db234eda965dcce15df96bb9709f587cd87d4d52aaf0e80e2f34ec04c7670c57"},
-]
+brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""]
+h2 = ["h2 (>=4,<5)"]
+socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
+zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""]
[[package]]
name = "yarl"
version = "1.24.5"
description = "Yet another URL library"
-optional = false
+optional = true
python-versions = ">=3.10"
-groups = ["main", "dev"]
+groups = ["main"]
+markers = "extra == \"aiohttp\""
files = [
{file = "yarl-1.24.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88f50c94e21a0a7f14042c015b0eba1881af78562e7bf007e0033e624da59750"},
{file = "yarl-1.24.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6efbccc3d7f75d5b03105172a8dc86d82ba4da86817952529dd93185f4a88be2"},
@@ -1588,7 +1454,6 @@ files = [
{file = "yarl-1.24.5-py3-none-any.whl", hash = "sha256:a33700d13d9b7d84fd10947b09ff69fb9a792e519c8cb9764a3ca70baa6c23a7"},
{file = "yarl-1.24.5.tar.gz", hash = "sha256:e81b83143bee16329c23db3c1b2d82b29892fcbcb849186d2f6e98a5abe9a57f"},
]
-markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
idna = ">=2.0"
@@ -1596,11 +1461,9 @@ multidict = ">=4.0"
propcache = ">=0.2.1"
[extras]
-aiohttp = ["httpx-aiohttp"]
-datastream = ["wasmtime", "websockets"]
-rulesengine = ["wasmtime"]
+aiohttp = ["aiohttp", "httpx-aiohttp"]
[metadata]
lock-version = "2.1"
python-versions = "^3.10"
-content-hash = "d12f2b0714d21d258fab37327fffd7eed95cbda40524b341fc8e0479072c5342"
+content-hash = "ae72458cc9170491280c32063e114504d6d14e4e72794aefcc730f6d72478732"
diff --git a/reference.md b/reference.md
index 7e336df..375ec45 100644
--- a/reference.md
+++ b/reference.md
@@ -10403,6 +10403,65 @@ client.companies.list_entity_key_definitions(
+
+
+
+
+client.companies.delete_entity_key_definition(...) -> DeleteEntityKeyDefinitionResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from schematic import Schematic
+from schematic.environment import SchematicEnvironment
+
+client = Schematic(
+ api_key="",
+ environment=SchematicEnvironment.DEFAULT,
+)
+
+client.companies.delete_entity_key_definition(
+ entity_key_definition_id="entity_key_definition_id",
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**entity_key_definition_id:** `str` — entity_key_definition_id
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
@@ -10500,6 +10559,92 @@ client.companies.count_entity_key_definitions(
+
+
+
+
+client.companies.count_entity_keys(...) -> CountEntityKeysResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```python
+from schematic import Schematic
+from schematic.environment import SchematicEnvironment
+
+client = Schematic(
+ api_key="",
+ environment=SchematicEnvironment.DEFAULT,
+)
+
+client.companies.count_entity_keys(
+ definition_id="definition_id",
+ entity_type="company",
+ limit=1000000,
+ offset=1000000,
+)
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**definition_id:** `typing.Optional[str]`
+
+
+
+
+
+-
+
+**entity_type:** `typing.Optional[EntityType]`
+
+
+
+
+
+-
+
+**limit:** `typing.Optional[int]` — Page limit (default 100)
+
+
+
+
+
+-
+
+**offset:** `typing.Optional[int]` — Page offset (default 0)
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+
+
+
+
+
diff --git a/src/schematic/__init__.py b/src/schematic/__init__.py
index c626e7d..a5c459d 100644
--- a/src/schematic/__init__.py
+++ b/src/schematic/__init__.py
@@ -58,6 +58,7 @@
BillingProductPriceResponseData,
BillingProductPriceTierResponseData,
BillingProductPricing,
+ BillingProductRecordResponseData,
BillingProductResponseData,
BillingProviderType,
BillingStrategy,
@@ -107,6 +108,8 @@
CompanyDetailResponseData,
CompanyEventPeriodMetricsResponseData,
CompanyFeatureUsageExportMetadata,
+ CompanyFeatureUsageExportMetadataSortOrderDirection,
+ CompanyFeatureUsageExportMetadataVisibleColumnsItem,
CompanyLedgerResponseData,
CompanyMatchingCriteria,
CompanyMembershipDetailResponseData,
@@ -194,6 +197,7 @@
DataExportMetadata,
DataExportMetadata_AuditLog,
DataExportMetadata_CompanyFeatureUsage,
+ DataExportMetadata_Event,
DataExportOutputFileType,
DataExportResponseData,
DataExportStatus,
@@ -229,6 +233,8 @@
EventBodyInference,
EventBodyTrack,
EventDetailResponseData,
+ EventExportMetadata,
+ EventExportMetadataEventTypesItem,
EventResponseData,
EventStatus,
EventSummaryResponseData,
@@ -563,6 +569,8 @@
CountCompaniesResponse,
CountEntityKeyDefinitionsParams,
CountEntityKeyDefinitionsResponse,
+ CountEntityKeysParams,
+ CountEntityKeysResponse,
CountEntityTraitDefinitionsParams,
CountEntityTraitDefinitionsResponse,
CountPlanTraitsParams,
@@ -575,6 +583,7 @@
DeleteCompanyMembershipResponse,
DeleteCompanyParams,
DeleteCompanyResponse,
+ DeleteEntityKeyDefinitionResponse,
DeleteUserByKeysResponse,
DeleteUserResponse,
GetActiveCompanySubscriptionParams,
@@ -915,6 +924,7 @@
"BillingProductPriceResponseData": ".types",
"BillingProductPriceTierResponseData": ".types",
"BillingProductPricing": ".types",
+ "BillingProductRecordResponseData": ".types",
"BillingProductResponseData": ".types",
"BillingProviderType": ".types",
"BillingStrategy": ".types",
@@ -970,6 +980,8 @@
"CompanyDetailResponseData": ".types",
"CompanyEventPeriodMetricsResponseData": ".types",
"CompanyFeatureUsageExportMetadata": ".types",
+ "CompanyFeatureUsageExportMetadataSortOrderDirection": ".types",
+ "CompanyFeatureUsageExportMetadataVisibleColumnsItem": ".types",
"CompanyLedgerResponseData": ".types",
"CompanyMatchingCriteria": ".types",
"CompanyMembershipDetailResponseData": ".types",
@@ -1036,6 +1048,8 @@
"CountCustomersResponse": ".billing",
"CountEntityKeyDefinitionsParams": ".companies",
"CountEntityKeyDefinitionsResponse": ".companies",
+ "CountEntityKeysParams": ".companies",
+ "CountEntityKeysResponse": ".companies",
"CountEntityTraitDefinitionsParams": ".companies",
"CountEntityTraitDefinitionsResponse": ".companies",
"CountFeatureCompaniesParams": ".entitlements",
@@ -1143,6 +1157,7 @@
"DataExportMetadata": ".types",
"DataExportMetadata_AuditLog": ".types",
"DataExportMetadata_CompanyFeatureUsage": ".types",
+ "DataExportMetadata_Event": ".types",
"DataExportOutputFileType": ".types",
"DataExportResponseData": ".types",
"DataExportStatus": ".types",
@@ -1166,6 +1181,7 @@
"DeleteCompanyResponse": ".companies",
"DeleteComponentResponse": ".components",
"DeleteCreditBundleResponse": ".credits",
+ "DeleteEntityKeyDefinitionResponse": ".companies",
"DeleteEnvironmentResponse": ".accounts",
"DeleteFeatureResponse": ".features",
"DeleteFlagResponse": ".features",
@@ -1208,6 +1224,8 @@
"EventBodyInference": ".types",
"EventBodyTrack": ".types",
"EventDetailResponseData": ".types",
+ "EventExportMetadata": ".types",
+ "EventExportMetadataEventTypesItem": ".types",
"EventResponseData": ".types",
"EventStatus": ".types",
"EventSummaryResponseData": ".types",
@@ -1766,6 +1784,7 @@ def __dir__():
"BillingProductPriceResponseData",
"BillingProductPriceTierResponseData",
"BillingProductPricing",
+ "BillingProductRecordResponseData",
"BillingProductResponseData",
"BillingProviderType",
"BillingStrategy",
@@ -1821,6 +1840,8 @@ def __dir__():
"CompanyDetailResponseData",
"CompanyEventPeriodMetricsResponseData",
"CompanyFeatureUsageExportMetadata",
+ "CompanyFeatureUsageExportMetadataSortOrderDirection",
+ "CompanyFeatureUsageExportMetadataVisibleColumnsItem",
"CompanyLedgerResponseData",
"CompanyMatchingCriteria",
"CompanyMembershipDetailResponseData",
@@ -1887,6 +1908,8 @@ def __dir__():
"CountCustomersResponse",
"CountEntityKeyDefinitionsParams",
"CountEntityKeyDefinitionsResponse",
+ "CountEntityKeysParams",
+ "CountEntityKeysResponse",
"CountEntityTraitDefinitionsParams",
"CountEntityTraitDefinitionsResponse",
"CountFeatureCompaniesParams",
@@ -1994,6 +2017,7 @@ def __dir__():
"DataExportMetadata",
"DataExportMetadata_AuditLog",
"DataExportMetadata_CompanyFeatureUsage",
+ "DataExportMetadata_Event",
"DataExportOutputFileType",
"DataExportResponseData",
"DataExportStatus",
@@ -2017,6 +2041,7 @@ def __dir__():
"DeleteCompanyResponse",
"DeleteComponentResponse",
"DeleteCreditBundleResponse",
+ "DeleteEntityKeyDefinitionResponse",
"DeleteEnvironmentResponse",
"DeleteFeatureResponse",
"DeleteFlagResponse",
@@ -2059,6 +2084,8 @@ def __dir__():
"EventBodyInference",
"EventBodyTrack",
"EventDetailResponseData",
+ "EventExportMetadata",
+ "EventExportMetadataEventTypesItem",
"EventResponseData",
"EventStatus",
"EventSummaryResponseData",
diff --git a/src/schematic/companies/__init__.py b/src/schematic/companies/__init__.py
index d5505d3..0160d0a 100644
--- a/src/schematic/companies/__init__.py
+++ b/src/schematic/companies/__init__.py
@@ -11,6 +11,8 @@
CountCompaniesResponse,
CountEntityKeyDefinitionsParams,
CountEntityKeyDefinitionsResponse,
+ CountEntityKeysParams,
+ CountEntityKeysResponse,
CountEntityTraitDefinitionsParams,
CountEntityTraitDefinitionsResponse,
CountPlanTraitsParams,
@@ -23,6 +25,7 @@
DeleteCompanyMembershipResponse,
DeleteCompanyParams,
DeleteCompanyResponse,
+ DeleteEntityKeyDefinitionResponse,
DeleteUserByKeysResponse,
DeleteUserResponse,
GetActiveCompanySubscriptionParams,
@@ -70,6 +73,8 @@
"CountCompaniesResponse": ".types",
"CountEntityKeyDefinitionsParams": ".types",
"CountEntityKeyDefinitionsResponse": ".types",
+ "CountEntityKeysParams": ".types",
+ "CountEntityKeysResponse": ".types",
"CountEntityTraitDefinitionsParams": ".types",
"CountEntityTraitDefinitionsResponse": ".types",
"CountPlanTraitsParams": ".types",
@@ -82,6 +87,7 @@
"DeleteCompanyMembershipResponse": ".types",
"DeleteCompanyParams": ".types",
"DeleteCompanyResponse": ".types",
+ "DeleteEntityKeyDefinitionResponse": ".types",
"DeleteUserByKeysResponse": ".types",
"DeleteUserResponse": ".types",
"GetActiveCompanySubscriptionParams": ".types",
@@ -152,6 +158,8 @@ def __dir__():
"CountCompaniesResponse",
"CountEntityKeyDefinitionsParams",
"CountEntityKeyDefinitionsResponse",
+ "CountEntityKeysParams",
+ "CountEntityKeysResponse",
"CountEntityTraitDefinitionsParams",
"CountEntityTraitDefinitionsResponse",
"CountPlanTraitsParams",
@@ -164,6 +172,7 @@ def __dir__():
"DeleteCompanyMembershipResponse",
"DeleteCompanyParams",
"DeleteCompanyResponse",
+ "DeleteEntityKeyDefinitionResponse",
"DeleteUserByKeysResponse",
"DeleteUserResponse",
"GetActiveCompanySubscriptionParams",
diff --git a/src/schematic/companies/client.py b/src/schematic/companies/client.py
index 94a71ab..d772c11 100644
--- a/src/schematic/companies/client.py
+++ b/src/schematic/companies/client.py
@@ -16,6 +16,7 @@
from .raw_client import AsyncRawCompaniesClient, RawCompaniesClient
from .types.count_companies_response import CountCompaniesResponse
from .types.count_entity_key_definitions_response import CountEntityKeyDefinitionsResponse
+from .types.count_entity_keys_response import CountEntityKeysResponse
from .types.count_entity_trait_definitions_response import CountEntityTraitDefinitionsResponse
from .types.count_plan_traits_response import CountPlanTraitsResponse
from .types.count_users_response import CountUsersResponse
@@ -24,6 +25,7 @@
from .types.delete_company_by_keys_response import DeleteCompanyByKeysResponse
from .types.delete_company_membership_response import DeleteCompanyMembershipResponse
from .types.delete_company_response import DeleteCompanyResponse
+from .types.delete_entity_key_definition_response import DeleteEntityKeyDefinitionResponse
from .types.delete_user_by_keys_response import DeleteUserByKeysResponse
from .types.delete_user_response import DeleteUserResponse
from .types.get_active_company_subscription_response import GetActiveCompanySubscriptionResponse
@@ -998,6 +1000,39 @@ def list_entity_key_definitions(
)
return _response.data
+ def delete_entity_key_definition(
+ self, entity_key_definition_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> DeleteEntityKeyDefinitionResponse:
+ """
+ Parameters
+ ----------
+ entity_key_definition_id : str
+ entity_key_definition_id
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeleteEntityKeyDefinitionResponse
+ OK
+
+ Examples
+ --------
+ from schematic import Schematic
+
+ client = Schematic(
+ api_key="YOUR_API_KEY",
+ )
+ client.companies.delete_entity_key_definition(
+ entity_key_definition_id="entity_key_definition_id",
+ )
+ """
+ _response = self._raw_client.delete_entity_key_definition(
+ entity_key_definition_id, request_options=request_options
+ )
+ return _response.data
+
def count_entity_key_definitions(
self,
*,
@@ -1051,6 +1086,59 @@ def count_entity_key_definitions(
)
return _response.data
+ def count_entity_keys(
+ self,
+ *,
+ definition_id: typing.Optional[str] = None,
+ entity_type: typing.Optional[EntityType] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> CountEntityKeysResponse:
+ """
+ Parameters
+ ----------
+ definition_id : typing.Optional[str]
+
+ entity_type : typing.Optional[EntityType]
+
+ limit : typing.Optional[int]
+ Page limit (default 100)
+
+ offset : typing.Optional[int]
+ Page offset (default 0)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ CountEntityKeysResponse
+ OK
+
+ Examples
+ --------
+ from schematic import Schematic
+
+ client = Schematic(
+ api_key="YOUR_API_KEY",
+ )
+ client.companies.count_entity_keys(
+ definition_id="definition_id",
+ entity_type="company",
+ limit=1000000,
+ offset=1000000,
+ )
+ """
+ _response = self._raw_client.count_entity_keys(
+ definition_id=definition_id,
+ entity_type=entity_type,
+ limit=limit,
+ offset=offset,
+ request_options=request_options,
+ )
+ return _response.data
+
def list_entity_trait_definitions(
self,
*,
@@ -3212,6 +3300,47 @@ async def main() -> None:
)
return _response.data
+ async def delete_entity_key_definition(
+ self, entity_key_definition_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> DeleteEntityKeyDefinitionResponse:
+ """
+ Parameters
+ ----------
+ entity_key_definition_id : str
+ entity_key_definition_id
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeleteEntityKeyDefinitionResponse
+ OK
+
+ Examples
+ --------
+ import asyncio
+
+ from schematic import AsyncSchematic
+
+ client = AsyncSchematic(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.companies.delete_entity_key_definition(
+ entity_key_definition_id="entity_key_definition_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.delete_entity_key_definition(
+ entity_key_definition_id, request_options=request_options
+ )
+ return _response.data
+
async def count_entity_key_definitions(
self,
*,
@@ -3273,6 +3402,67 @@ async def main() -> None:
)
return _response.data
+ async def count_entity_keys(
+ self,
+ *,
+ definition_id: typing.Optional[str] = None,
+ entity_type: typing.Optional[EntityType] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> CountEntityKeysResponse:
+ """
+ Parameters
+ ----------
+ definition_id : typing.Optional[str]
+
+ entity_type : typing.Optional[EntityType]
+
+ limit : typing.Optional[int]
+ Page limit (default 100)
+
+ offset : typing.Optional[int]
+ Page offset (default 0)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ CountEntityKeysResponse
+ OK
+
+ Examples
+ --------
+ import asyncio
+
+ from schematic import AsyncSchematic
+
+ client = AsyncSchematic(
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.companies.count_entity_keys(
+ definition_id="definition_id",
+ entity_type="company",
+ limit=1000000,
+ offset=1000000,
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.count_entity_keys(
+ definition_id=definition_id,
+ entity_type=entity_type,
+ limit=limit,
+ offset=offset,
+ request_options=request_options,
+ )
+ return _response.data
+
async def list_entity_trait_definitions(
self,
*,
diff --git a/src/schematic/companies/raw_client.py b/src/schematic/companies/raw_client.py
index 8b7267a..9acaae2 100644
--- a/src/schematic/companies/raw_client.py
+++ b/src/schematic/companies/raw_client.py
@@ -28,6 +28,7 @@
from ..types.update_plan_trait_trait_request_body import UpdatePlanTraitTraitRequestBody
from .types.count_companies_response import CountCompaniesResponse
from .types.count_entity_key_definitions_response import CountEntityKeyDefinitionsResponse
+from .types.count_entity_keys_response import CountEntityKeysResponse
from .types.count_entity_trait_definitions_response import CountEntityTraitDefinitionsResponse
from .types.count_plan_traits_response import CountPlanTraitsResponse
from .types.count_users_response import CountUsersResponse
@@ -36,6 +37,7 @@
from .types.delete_company_by_keys_response import DeleteCompanyByKeysResponse
from .types.delete_company_membership_response import DeleteCompanyMembershipResponse
from .types.delete_company_response import DeleteCompanyResponse
+from .types.delete_entity_key_definition_response import DeleteEntityKeyDefinitionResponse
from .types.delete_user_by_keys_response import DeleteUserByKeysResponse
from .types.delete_user_response import DeleteUserResponse
from .types.get_active_company_subscription_response import GetActiveCompanySubscriptionResponse
@@ -2082,6 +2084,106 @@ def list_entity_key_definitions(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)
+ def delete_entity_key_definition(
+ self, entity_key_definition_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[DeleteEntityKeyDefinitionResponse]:
+ """
+ Parameters
+ ----------
+ entity_key_definition_id : str
+ entity_key_definition_id
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DeleteEntityKeyDefinitionResponse]
+ OK
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"entity-key-definitions/{encode_path_param(entity_key_definition_id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeleteEntityKeyDefinitionResponse,
+ parse_obj_as(
+ type_=DeleteEntityKeyDefinitionResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
+ )
+
def count_entity_key_definitions(
self,
*,
@@ -2205,6 +2307,125 @@ def count_entity_key_definitions(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)
+ def count_entity_keys(
+ self,
+ *,
+ definition_id: typing.Optional[str] = None,
+ entity_type: typing.Optional[EntityType] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[CountEntityKeysResponse]:
+ """
+ Parameters
+ ----------
+ definition_id : typing.Optional[str]
+
+ entity_type : typing.Optional[EntityType]
+
+ limit : typing.Optional[int]
+ Page limit (default 100)
+
+ offset : typing.Optional[int]
+ Page offset (default 0)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[CountEntityKeysResponse]
+ OK
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "entity-keys/count",
+ method="GET",
+ params={
+ "definition_id": definition_id,
+ "entity_type": entity_type,
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ CountEntityKeysResponse,
+ parse_obj_as(
+ type_=CountEntityKeysResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
+ )
+
def list_entity_trait_definitions(
self,
*,
@@ -6691,6 +6912,106 @@ async def list_entity_key_definitions(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)
+ async def delete_entity_key_definition(
+ self, entity_key_definition_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[DeleteEntityKeyDefinitionResponse]:
+ """
+ Parameters
+ ----------
+ entity_key_definition_id : str
+ entity_key_definition_id
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DeleteEntityKeyDefinitionResponse]
+ OK
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"entity-key-definitions/{encode_path_param(entity_key_definition_id)}",
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeleteEntityKeyDefinitionResponse,
+ parse_obj_as(
+ type_=DeleteEntityKeyDefinitionResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
+ )
+
async def count_entity_key_definitions(
self,
*,
@@ -6814,6 +7135,125 @@ async def count_entity_key_definitions(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)
+ async def count_entity_keys(
+ self,
+ *,
+ definition_id: typing.Optional[str] = None,
+ entity_type: typing.Optional[EntityType] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[CountEntityKeysResponse]:
+ """
+ Parameters
+ ----------
+ definition_id : typing.Optional[str]
+
+ entity_type : typing.Optional[EntityType]
+
+ limit : typing.Optional[int]
+ Page limit (default 100)
+
+ offset : typing.Optional[int]
+ Page offset (default 0)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[CountEntityKeysResponse]
+ OK
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "entity-keys/count",
+ method="GET",
+ params={
+ "definition_id": definition_id,
+ "entity_type": entity_type,
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ CountEntityKeysResponse,
+ parse_obj_as(
+ type_=CountEntityKeysResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ types_api_error_ApiError,
+ parse_obj_as(
+ type_=types_api_error_ApiError, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ except ValidationError as e:
+ raise ParsingError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
+ )
+ raise core_api_error_ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
+ )
+
async def list_entity_trait_definitions(
self,
*,
diff --git a/src/schematic/companies/types/__init__.py b/src/schematic/companies/types/__init__.py
index c4694e1..a5e305f 100644
--- a/src/schematic/companies/types/__init__.py
+++ b/src/schematic/companies/types/__init__.py
@@ -10,6 +10,8 @@
from .count_companies_response import CountCompaniesResponse
from .count_entity_key_definitions_params import CountEntityKeyDefinitionsParams
from .count_entity_key_definitions_response import CountEntityKeyDefinitionsResponse
+ from .count_entity_keys_params import CountEntityKeysParams
+ from .count_entity_keys_response import CountEntityKeysResponse
from .count_entity_trait_definitions_params import CountEntityTraitDefinitionsParams
from .count_entity_trait_definitions_response import CountEntityTraitDefinitionsResponse
from .count_plan_traits_params import CountPlanTraitsParams
@@ -22,6 +24,7 @@
from .delete_company_membership_response import DeleteCompanyMembershipResponse
from .delete_company_params import DeleteCompanyParams
from .delete_company_response import DeleteCompanyResponse
+ from .delete_entity_key_definition_response import DeleteEntityKeyDefinitionResponse
from .delete_user_by_keys_response import DeleteUserByKeysResponse
from .delete_user_response import DeleteUserResponse
from .get_active_company_subscription_params import GetActiveCompanySubscriptionParams
@@ -68,6 +71,8 @@
"CountCompaniesResponse": ".count_companies_response",
"CountEntityKeyDefinitionsParams": ".count_entity_key_definitions_params",
"CountEntityKeyDefinitionsResponse": ".count_entity_key_definitions_response",
+ "CountEntityKeysParams": ".count_entity_keys_params",
+ "CountEntityKeysResponse": ".count_entity_keys_response",
"CountEntityTraitDefinitionsParams": ".count_entity_trait_definitions_params",
"CountEntityTraitDefinitionsResponse": ".count_entity_trait_definitions_response",
"CountPlanTraitsParams": ".count_plan_traits_params",
@@ -80,6 +85,7 @@
"DeleteCompanyMembershipResponse": ".delete_company_membership_response",
"DeleteCompanyParams": ".delete_company_params",
"DeleteCompanyResponse": ".delete_company_response",
+ "DeleteEntityKeyDefinitionResponse": ".delete_entity_key_definition_response",
"DeleteUserByKeysResponse": ".delete_user_by_keys_response",
"DeleteUserResponse": ".delete_user_response",
"GetActiveCompanySubscriptionParams": ".get_active_company_subscription_params",
@@ -150,6 +156,8 @@ def __dir__():
"CountCompaniesResponse",
"CountEntityKeyDefinitionsParams",
"CountEntityKeyDefinitionsResponse",
+ "CountEntityKeysParams",
+ "CountEntityKeysResponse",
"CountEntityTraitDefinitionsParams",
"CountEntityTraitDefinitionsResponse",
"CountPlanTraitsParams",
@@ -162,6 +170,7 @@ def __dir__():
"DeleteCompanyMembershipResponse",
"DeleteCompanyParams",
"DeleteCompanyResponse",
+ "DeleteEntityKeyDefinitionResponse",
"DeleteUserByKeysResponse",
"DeleteUserResponse",
"GetActiveCompanySubscriptionParams",
diff --git a/src/schematic/companies/types/count_entity_keys_params.py b/src/schematic/companies/types/count_entity_keys_params.py
new file mode 100644
index 0000000..0196760
--- /dev/null
+++ b/src/schematic/companies/types/count_entity_keys_params.py
@@ -0,0 +1,34 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from ...types.entity_type import EntityType
+
+
+class CountEntityKeysParams(UniversalBaseModel):
+ """
+ Input parameters
+ """
+
+ definition_id: typing.Optional[str] = None
+ entity_type: typing.Optional[EntityType] = None
+ limit: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Page limit (default 100)
+ """
+
+ offset: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ Page offset (default 0)
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/schematic/companies/types/count_entity_keys_response.py b/src/schematic/companies/types/count_entity_keys_response.py
new file mode 100644
index 0000000..27e2964
--- /dev/null
+++ b/src/schematic/companies/types/count_entity_keys_response.py
@@ -0,0 +1,25 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from ...types.count_response import CountResponse
+from .count_entity_keys_params import CountEntityKeysParams
+
+
+class CountEntityKeysResponse(UniversalBaseModel):
+ data: CountResponse
+ params: CountEntityKeysParams = pydantic.Field()
+ """
+ Input parameters
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/schematic/companies/types/delete_entity_key_definition_response.py b/src/schematic/companies/types/delete_entity_key_definition_response.py
new file mode 100644
index 0000000..b3afbbf
--- /dev/null
+++ b/src/schematic/companies/types/delete_entity_key_definition_response.py
@@ -0,0 +1,24 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+import pydantic
+from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from ...types.delete_response import DeleteResponse
+
+
+class DeleteEntityKeyDefinitionResponse(UniversalBaseModel):
+ data: DeleteResponse
+ params: typing.Dict[str, typing.Any] = pydantic.Field()
+ """
+ Input parameters
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/schematic/core/client_wrapper.py b/src/schematic/core/client_wrapper.py
index 889f023..aa41bb8 100644
--- a/src/schematic/core/client_wrapper.py
+++ b/src/schematic/core/client_wrapper.py
@@ -29,12 +29,12 @@ def get_headers(self) -> typing.Dict[str, str]:
import platform
headers: typing.Dict[str, str] = {
- "User-Agent": "schematichq/1.3.2",
+ "User-Agent": "schematichq/1.3.3",
"X-Fern-Language": "Python",
"X-Fern-Runtime": f"python/{platform.python_version()}",
"X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
"X-Fern-SDK-Name": "schematichq",
- "X-Fern-SDK-Version": "1.3.2",
+ "X-Fern-SDK-Version": "1.3.3",
**(self.get_custom_headers() or {}),
}
headers["X-Schematic-Api-Key"] = self.api_key
diff --git a/src/schematic/types/__init__.py b/src/schematic/types/__init__.py
index a129dde..5d7e08f 100644
--- a/src/schematic/types/__init__.py
+++ b/src/schematic/types/__init__.py
@@ -57,6 +57,7 @@
from .billing_product_price_response_data import BillingProductPriceResponseData
from .billing_product_price_tier_response_data import BillingProductPriceTierResponseData
from .billing_product_pricing import BillingProductPricing
+ from .billing_product_record_response_data import BillingProductRecordResponseData
from .billing_product_response_data import BillingProductResponseData
from .billing_provider_type import BillingProviderType
from .billing_strategy import BillingStrategy
@@ -106,6 +107,12 @@
from .company_detail_response_data import CompanyDetailResponseData
from .company_event_period_metrics_response_data import CompanyEventPeriodMetricsResponseData
from .company_feature_usage_export_metadata import CompanyFeatureUsageExportMetadata
+ from .company_feature_usage_export_metadata_sort_order_direction import (
+ CompanyFeatureUsageExportMetadataSortOrderDirection,
+ )
+ from .company_feature_usage_export_metadata_visible_columns_item import (
+ CompanyFeatureUsageExportMetadataVisibleColumnsItem,
+ )
from .company_ledger_response_data import CompanyLedgerResponseData
from .company_matching_criteria import CompanyMatchingCriteria
from .company_membership_detail_response_data import CompanyMembershipDetailResponseData
@@ -194,6 +201,7 @@
DataExportMetadata,
DataExportMetadata_AuditLog,
DataExportMetadata_CompanyFeatureUsage,
+ DataExportMetadata_Event,
)
from .data_export_output_file_type import DataExportOutputFileType
from .data_export_response_data import DataExportResponseData
@@ -230,6 +238,8 @@
from .event_body_inference import EventBodyInference
from .event_body_track import EventBodyTrack
from .event_detail_response_data import EventDetailResponseData
+ from .event_export_metadata import EventExportMetadata
+ from .event_export_metadata_event_types_item import EventExportMetadataEventTypesItem
from .event_response_data import EventResponseData
from .event_status import EventStatus
from .event_summary_response_data import EventSummaryResponseData
@@ -496,6 +506,7 @@
"BillingProductPriceResponseData": ".billing_product_price_response_data",
"BillingProductPriceTierResponseData": ".billing_product_price_tier_response_data",
"BillingProductPricing": ".billing_product_pricing",
+ "BillingProductRecordResponseData": ".billing_product_record_response_data",
"BillingProductResponseData": ".billing_product_response_data",
"BillingProviderType": ".billing_provider_type",
"BillingStrategy": ".billing_strategy",
@@ -545,6 +556,8 @@
"CompanyDetailResponseData": ".company_detail_response_data",
"CompanyEventPeriodMetricsResponseData": ".company_event_period_metrics_response_data",
"CompanyFeatureUsageExportMetadata": ".company_feature_usage_export_metadata",
+ "CompanyFeatureUsageExportMetadataSortOrderDirection": ".company_feature_usage_export_metadata_sort_order_direction",
+ "CompanyFeatureUsageExportMetadataVisibleColumnsItem": ".company_feature_usage_export_metadata_visible_columns_item",
"CompanyLedgerResponseData": ".company_ledger_response_data",
"CompanyMatchingCriteria": ".company_matching_criteria",
"CompanyMembershipDetailResponseData": ".company_membership_detail_response_data",
@@ -632,6 +645,7 @@
"DataExportMetadata": ".data_export_metadata",
"DataExportMetadata_AuditLog": ".data_export_metadata",
"DataExportMetadata_CompanyFeatureUsage": ".data_export_metadata",
+ "DataExportMetadata_Event": ".data_export_metadata",
"DataExportOutputFileType": ".data_export_output_file_type",
"DataExportResponseData": ".data_export_response_data",
"DataExportStatus": ".data_export_status",
@@ -667,6 +681,8 @@
"EventBodyInference": ".event_body_inference",
"EventBodyTrack": ".event_body_track",
"EventDetailResponseData": ".event_detail_response_data",
+ "EventExportMetadata": ".event_export_metadata",
+ "EventExportMetadataEventTypesItem": ".event_export_metadata_event_types_item",
"EventResponseData": ".event_response_data",
"EventStatus": ".event_status",
"EventSummaryResponseData": ".event_summary_response_data",
@@ -955,6 +971,7 @@ def __dir__():
"BillingProductPriceResponseData",
"BillingProductPriceTierResponseData",
"BillingProductPricing",
+ "BillingProductRecordResponseData",
"BillingProductResponseData",
"BillingProviderType",
"BillingStrategy",
@@ -1004,6 +1021,8 @@ def __dir__():
"CompanyDetailResponseData",
"CompanyEventPeriodMetricsResponseData",
"CompanyFeatureUsageExportMetadata",
+ "CompanyFeatureUsageExportMetadataSortOrderDirection",
+ "CompanyFeatureUsageExportMetadataVisibleColumnsItem",
"CompanyLedgerResponseData",
"CompanyMatchingCriteria",
"CompanyMembershipDetailResponseData",
@@ -1091,6 +1110,7 @@ def __dir__():
"DataExportMetadata",
"DataExportMetadata_AuditLog",
"DataExportMetadata_CompanyFeatureUsage",
+ "DataExportMetadata_Event",
"DataExportOutputFileType",
"DataExportResponseData",
"DataExportStatus",
@@ -1126,6 +1146,8 @@ def __dir__():
"EventBodyInference",
"EventBodyTrack",
"EventDetailResponseData",
+ "EventExportMetadata",
+ "EventExportMetadataEventTypesItem",
"EventResponseData",
"EventStatus",
"EventSummaryResponseData",
diff --git a/src/schematic/types/billing_credit_view.py b/src/schematic/types/billing_credit_view.py
index 75cadc1..340c450 100644
--- a/src/schematic/types/billing_credit_view.py
+++ b/src/schematic/types/billing_credit_view.py
@@ -10,7 +10,7 @@
from .billing_credit_ledger_authority import BillingCreditLedgerAuthority
from .billing_credit_rollover_policy import BillingCreditRolloverPolicy
from .billing_price_view import BillingPriceView
-from .billing_product_response_data import BillingProductResponseData
+from .billing_product_record_response_data import BillingProductRecordResponseData
from .credit_currency_price import CreditCurrencyPrice
@@ -33,7 +33,7 @@ class BillingCreditView(UniversalBaseModel):
price: typing.Optional[BillingPriceView] = None
price_per_unit: typing.Optional[int] = None
price_per_unit_decimal: typing.Optional[str] = None
- product: typing.Optional[BillingProductResponseData] = None
+ product: typing.Optional[BillingProductRecordResponseData] = None
singular_name: typing.Optional[str] = None
updated_at: dt.datetime
diff --git a/src/schematic/types/billing_product_record_response_data.py b/src/schematic/types/billing_product_record_response_data.py
new file mode 100644
index 0000000..ac38c2b
--- /dev/null
+++ b/src/schematic/types/billing_product_record_response_data.py
@@ -0,0 +1,29 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .billing_provider_type import BillingProviderType
+
+
+class BillingProductRecordResponseData(UniversalBaseModel):
+ account_id: str
+ created_at: dt.datetime
+ environment_id: str
+ external_id: str
+ id: str
+ is_active: bool
+ name: str
+ provider_type: BillingProviderType
+ updated_at: dt.datetime
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/schematic/types/company_feature_usage_export_metadata.py b/src/schematic/types/company_feature_usage_export_metadata.py
index 1b2cb8c..c20498c 100644
--- a/src/schematic/types/company_feature_usage_export_metadata.py
+++ b/src/schematic/types/company_feature_usage_export_metadata.py
@@ -4,6 +4,12 @@
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .company_feature_usage_export_metadata_sort_order_direction import (
+ CompanyFeatureUsageExportMetadataSortOrderDirection,
+)
+from .company_feature_usage_export_metadata_visible_columns_item import (
+ CompanyFeatureUsageExportMetadataVisibleColumnsItem,
+)
class CompanyFeatureUsageExportMetadata(UniversalBaseModel):
@@ -17,9 +23,9 @@ class CompanyFeatureUsageExportMetadata(UniversalBaseModel):
Restrict the export to companies with these billing credit type IDs
"""
- feature_ids: typing.List[str] = pydantic.Field()
+ feature_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
- Schematic feature IDs (starting with 'feat_') to include as usage columns; at least one is required
+ Schematic feature IDs (starting with 'feat_') to include as usage columns; empty means no usage columns
"""
has_scheduled_downgrade: typing.Optional[bool] = pydantic.Field(default=None)
@@ -57,6 +63,18 @@ class CompanyFeatureUsageExportMetadata(UniversalBaseModel):
Free-text search over company name and keys
"""
+ sort_order_column: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Column to sort the exported rows by (e.g. name, created_at, plan); defaults to name
+ """
+
+ sort_order_direction: typing.Optional[CompanyFeatureUsageExportMetadataSortOrderDirection] = pydantic.Field(
+ default=None
+ )
+ """
+ Direction to sort the exported rows by; defaults to asc
+ """
+
subscription_statuses: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
Restrict the export to companies whose subscription has one of these statuses
@@ -67,6 +85,13 @@ class CompanyFeatureUsageExportMetadata(UniversalBaseModel):
Restrict the export to companies whose subscription has one of these types
"""
+ visible_columns: typing.Optional[typing.List[CompanyFeatureUsageExportMetadataVisibleColumnsItem]] = pydantic.Field(
+ default=None
+ )
+ """
+ Company columns to include, mirroring the companies list; omit to include the plan column only
+ """
+
with_entitlement_for: typing.Optional[str] = pydantic.Field(default=None)
"""
Restrict the export to companies that have an entitlement for this feature ID
diff --git a/src/schematic/types/company_feature_usage_export_metadata_sort_order_direction.py b/src/schematic/types/company_feature_usage_export_metadata_sort_order_direction.py
new file mode 100644
index 0000000..dba6663
--- /dev/null
+++ b/src/schematic/types/company_feature_usage_export_metadata_sort_order_direction.py
@@ -0,0 +1,5 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+CompanyFeatureUsageExportMetadataSortOrderDirection = typing.Union[typing.Literal["asc", "desc"], typing.Any]
diff --git a/src/schematic/types/company_feature_usage_export_metadata_visible_columns_item.py b/src/schematic/types/company_feature_usage_export_metadata_visible_columns_item.py
new file mode 100644
index 0000000..12bd4fa
--- /dev/null
+++ b/src/schematic/types/company_feature_usage_export_metadata_visible_columns_item.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+CompanyFeatureUsageExportMetadataVisibleColumnsItem = typing.Union[
+ typing.Literal["plan", "subscription", "users", "last_seen_at"], typing.Any
+]
diff --git a/src/schematic/types/data_export_metadata.py b/src/schematic/types/data_export_metadata.py
index 8e9d68f..1345091 100644
--- a/src/schematic/types/data_export_metadata.py
+++ b/src/schematic/types/data_export_metadata.py
@@ -8,6 +8,13 @@
import pydantic
import typing_extensions
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .company_feature_usage_export_metadata_sort_order_direction import (
+ CompanyFeatureUsageExportMetadataSortOrderDirection,
+)
+from .company_feature_usage_export_metadata_visible_columns_item import (
+ CompanyFeatureUsageExportMetadataVisibleColumnsItem,
+)
+from .event_export_metadata_event_types_item import EventExportMetadataEventTypesItem
class DataExportMetadata_AuditLog(UniversalBaseModel):
@@ -32,7 +39,7 @@ class DataExportMetadata_CompanyFeatureUsage(UniversalBaseModel):
export_type: typing.Literal["company-feature-usage"] = "company-feature-usage"
company_ids: typing.Optional[typing.List[str]] = None
credit_type_ids: typing.Optional[typing.List[str]] = None
- feature_ids: typing.List[str]
+ feature_ids: typing.Optional[typing.List[str]] = None
has_scheduled_downgrade: typing.Optional[bool] = None
monetized_subscriptions: typing.Optional[bool] = None
notification_email_recipient_email_addresses: typing.Optional[typing.List[str]] = None
@@ -40,8 +47,11 @@ class DataExportMetadata_CompanyFeatureUsage(UniversalBaseModel):
plan_ids: typing.Optional[typing.List[str]] = None
plan_version_id: typing.Optional[str] = None
q: typing.Optional[str] = None
+ sort_order_column: typing.Optional[str] = None
+ sort_order_direction: typing.Optional[CompanyFeatureUsageExportMetadataSortOrderDirection] = None
subscription_statuses: typing.Optional[typing.List[str]] = None
subscription_types: typing.Optional[typing.List[str]] = None
+ visible_columns: typing.Optional[typing.List[CompanyFeatureUsageExportMetadataVisibleColumnsItem]] = None
with_entitlement_for: typing.Optional[str] = None
with_subscription: typing.Optional[bool] = None
without_feature_override_for: typing.Optional[str] = None
@@ -58,7 +68,28 @@ class Config:
extra = pydantic.Extra.allow
+class DataExportMetadata_Event(UniversalBaseModel):
+ export_type: typing.Literal["event"] = "event"
+ company_id: typing.Optional[str] = None
+ end_time: typing.Optional[dt.datetime] = None
+ event_subtype: typing.Optional[str] = None
+ event_types: typing.Optional[typing.List[EventExportMetadataEventTypesItem]] = None
+ flag_id: typing.Optional[str] = None
+ notification_email_recipient_email_addresses: typing.Optional[typing.List[str]] = None
+ start_time: typing.Optional[dt.datetime] = None
+ user_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
DataExportMetadata = typing_extensions.Annotated[
- typing.Union[DataExportMetadata_AuditLog, DataExportMetadata_CompanyFeatureUsage],
+ typing.Union[DataExportMetadata_AuditLog, DataExportMetadata_CompanyFeatureUsage, DataExportMetadata_Event],
pydantic.Field(discriminator="export_type"),
]
diff --git a/src/schematic/types/data_export_type.py b/src/schematic/types/data_export_type.py
index 6c073cc..51e9546 100644
--- a/src/schematic/types/data_export_type.py
+++ b/src/schematic/types/data_export_type.py
@@ -2,4 +2,4 @@
import typing
-DataExportType = typing.Union[typing.Literal["audit-log", "company-feature-usage"], typing.Any]
+DataExportType = typing.Union[typing.Literal["audit-log", "company-feature-usage", "event"], typing.Any]
diff --git a/src/schematic/types/event_export_metadata.py b/src/schematic/types/event_export_metadata.py
new file mode 100644
index 0000000..e845d97
--- /dev/null
+++ b/src/schematic/types/event_export_metadata.py
@@ -0,0 +1,59 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .event_export_metadata_event_types_item import EventExportMetadataEventTypesItem
+
+
+class EventExportMetadata(UniversalBaseModel):
+ company_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Restrict the export to events for this company ID (starting with 'comp_')
+ """
+
+ end_time: typing.Optional[dt.datetime] = pydantic.Field(default=None)
+ """
+ Restrict the export to events captured at or before this time
+ """
+
+ event_subtype: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Restrict the export to track events with this subtype
+ """
+
+ event_types: typing.Optional[typing.List[EventExportMetadataEventTypesItem]] = pydantic.Field(default=None)
+ """
+ Restrict the export to these event types (e.g. "track", "identify"); defaults to track, identify and inference events. Flag check events are only exported when requested here explicitly, and require a flag_id.
+ """
+
+ flag_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Restrict the export to flag-check events for this flag ID (starting with 'flag_')
+ """
+
+ notification_email_recipient_email_addresses: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Account member emails to notify when the export completes; empty means the artifact is only retrievable via the API
+ """
+
+ start_time: typing.Optional[dt.datetime] = pydantic.Field(default=None)
+ """
+ Restrict the export to events captured at or after this time
+ """
+
+ user_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Restrict the export to events for this user ID (starting with 'user_')
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/schematic/types/event_export_metadata_event_types_item.py b/src/schematic/types/event_export_metadata_event_types_item.py
new file mode 100644
index 0000000..9f7695b
--- /dev/null
+++ b/src/schematic/types/event_export_metadata_event_types_item.py
@@ -0,0 +1,7 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+EventExportMetadataEventTypesItem = typing.Union[
+ typing.Literal["flag_check", "identify", "inference", "track"], typing.Any
+]
diff --git a/src/schematic/types/feature_view.py b/src/schematic/types/feature_view.py
index ee83476..679eae9 100644
--- a/src/schematic/types/feature_view.py
+++ b/src/schematic/types/feature_view.py
@@ -6,7 +6,7 @@
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .billing_linked_resource_response_data import BillingLinkedResourceResponseData
-from .billing_product_response_data import BillingProductResponseData
+from .billing_product_record_response_data import BillingProductRecordResponseData
from .entity_trait_definition_response_data import EntityTraitDefinitionResponseData
from .event_summary_response_data import EventSummaryResponseData
from .feature_lifecycle_phase import FeatureLifecyclePhase
@@ -18,7 +18,7 @@
class FeatureView(UniversalBaseModel):
account_id: str
billing_linked_resource: typing.Optional[BillingLinkedResourceResponseData] = None
- billing_product: typing.Optional[BillingProductResponseData] = None
+ billing_product: typing.Optional[BillingProductRecordResponseData] = None
created_at: dt.datetime
description: str
event_subtype: typing.Optional[str] = None
diff --git a/src/schematic/types/test_webhook_response_data.py b/src/schematic/types/test_webhook_response_data.py
index 28cd96d..82f3a59 100644
--- a/src/schematic/types/test_webhook_response_data.py
+++ b/src/schematic/types/test_webhook_response_data.py
@@ -7,6 +7,7 @@
class TestWebhookResponseData(UniversalBaseModel):
+ failure_reason: typing.Optional[str] = None
response_code: int
success: bool
From ea2995dd8ad87eb1f430fc6dada20bf0904f857e Mon Sep 17 00:00:00 2001
From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com>
Date: Mon, 10 Aug 2026 10:27:57 +0000
Subject: [PATCH 2/3] [fern-replay] advance lockfile
---
.fern/replay.lock | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/.fern/replay.lock b/.fern/replay.lock
index ecacd7a..ba9adcc 100644
--- a/.fern/replay.lock
+++ b/.fern/replay.lock
@@ -30,5 +30,11 @@ generations:
cli_version: unknown
generator_versions:
fernapi/fern-python-sdk: 5.14.20
-current_generation: ea68cffbaaa98a12680e7fdac2ff6cd1740116d2
+ - commit_sha: 3bcc19082dd0caee045848158261be377bf337d5
+ tree_hash: 3685c1bd781d961c123f6a19637b4d0296e11224
+ timestamp: 2026-08-10T10:27:54.495Z
+ cli_version: unknown
+ generator_versions:
+ fernapi/fern-python-sdk: 5.14.20
+current_generation: 3bcc19082dd0caee045848158261be377bf337d5
patches: []
From 374b0b2ef6b404adb50239e0bb15d0391c206a1e Mon Sep 17 00:00:00 2001
From: Christopher Brady
Date: Mon, 10 Aug 2026 13:50:09 -0600
Subject: [PATCH 3/3] update to 1.3.3
---
poetry.lock | 301 +++++++++++++++++++++++++++++++++++--------------
pyproject.toml | 2 +-
2 files changed, 220 insertions(+), 83 deletions(-)
diff --git a/poetry.lock b/poetry.lock
index 16f689e..c1f782d 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,26 +1,25 @@
-# This file is automatically @generated by Poetry 2.4.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand.
[[package]]
name = "aiohappyeyeballs"
version = "2.7.1"
description = "Happy Eyeballs for asyncio"
-optional = true
+optional = false
python-versions = ">=3.10"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "aiohappyeyeballs-2.7.1-py3-none-any.whl", hash = "sha256:9243213661e29250eb41368e5daa826fc017156c3b8a11440826b2e3ed376472"},
{file = "aiohappyeyeballs-2.7.1.tar.gz", hash = "sha256:065665c041c42a5938ed220bdcd7230f22527fbec085e1853d2402c8a3615d9d"},
]
+markers = {main = "extra == \"aiohttp\""}
[[package]]
name = "aiohttp"
version = "3.14.3"
description = "Async http client/server framework (asyncio)"
-optional = true
+optional = false
python-versions = ">=3.10"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "aiohttp-3.14.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eb0495d778817619273c108784292be161a924b9f5ae5cbbc70a2caa6838250b"},
{file = "aiohttp-3.14.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c3c200cf9757edd785051dc699c7ecbec22110dbfcb3fefc7a9f9695eda8ea7a"},
@@ -142,6 +141,7 @@ files = [
{file = "aiohttp-3.14.3-cp314-cp314t-win_arm64.whl", hash = "sha256:2e1161602f45a54de2ce0905243a95f58cb42dcd378402f3697f5e0b21e9d2e7"},
{file = "aiohttp-3.14.3.tar.gz", hash = "sha256:9491196535a88924a60afd5b5f434b5b203b6cc616250878dbdb223a8f7844bc"},
]
+markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
aiohappyeyeballs = ">=2.5.0"
@@ -161,14 +161,14 @@ speedups = ["Brotli (>=1.2) ; platform_python_implementation == \"CPython\" and
name = "aiosignal"
version = "1.4.0"
description = "aiosignal: a list of registered asynchronous callbacks"
-optional = true
+optional = false
python-versions = ">=3.9"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e"},
{file = "aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7"},
]
+markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
frozenlist = ">=1.1.0"
@@ -210,40 +210,27 @@ trio = ["trio (>=0.32.0)"]
name = "async-timeout"
version = "5.0.1"
description = "Timeout context manager for asyncio programs"
-optional = true
+optional = false
python-versions = ">=3.8"
-groups = ["main"]
-markers = "python_version == \"3.10\" and extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"},
{file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"},
]
+markers = {main = "extra == \"aiohttp\" and python_version == \"3.10\"", dev = "python_full_version < \"3.11.3\""}
[[package]]
name = "attrs"
version = "26.1.0"
description = "Classes Without Boilerplate"
-optional = true
+optional = false
python-versions = ">=3.9"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309"},
{file = "attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32"},
]
-
-[[package]]
-name = "backports-asyncio-runner"
-version = "1.2.0"
-description = "Backport of asyncio.Runner, a context manager that controls event loop life cycle."
-optional = false
-python-versions = "<3.11,>=3.8"
-groups = ["dev"]
-markers = "python_version == \"3.10\""
-files = [
- {file = "backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5"},
- {file = "backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162"},
-]
+markers = {main = "extra == \"aiohttp\""}
[[package]]
name = "certifi"
@@ -308,10 +295,9 @@ testing = ["hatch", "pre-commit", "pytest", "tox"]
name = "frozenlist"
version = "1.8.0"
description = "A list-like structure which implements collections.abc.MutableSequence"
-optional = true
+optional = false
python-versions = ">=3.9"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011"},
{file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565"},
@@ -444,6 +430,7 @@ files = [
{file = "frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d"},
{file = "frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad"},
]
+markers = {main = "extra == \"aiohttp\""}
[[package]]
name = "h11"
@@ -527,7 +514,7 @@ version = "3.18"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.9"
-groups = ["main"]
+groups = ["main", "dev"]
files = [
{file = "idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2"},
{file = "idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848"},
@@ -552,10 +539,9 @@ files = [
name = "multidict"
version = "6.7.1"
description = "multidict implementation"
-optional = true
+optional = false
python-versions = ">=3.9"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5"},
{file = "multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8"},
@@ -704,6 +690,7 @@ files = [
{file = "multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56"},
{file = "multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d"},
]
+markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""}
@@ -806,10 +793,9 @@ testing = ["coverage", "pytest", "pytest-benchmark"]
name = "propcache"
version = "0.5.2"
description = "Accelerated property cache"
-optional = true
+optional = false
python-versions = ">=3.10"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "propcache-0.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a81be28596d6559f6131ef33e10200de6e17643b3c74ce03f9eb103be6ae8b"},
{file = "propcache-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29cbaac5ea0212663e6845e04b5e188d5a6ae6dd919810ac835bf1d3b42c3f4c"},
@@ -933,6 +919,7 @@ files = [
{file = "propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe"},
{file = "propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427"},
]
+markers = {main = "extra == \"aiohttp\""}
[[package]]
name = "pydantic"
@@ -1090,63 +1077,63 @@ files = [
typing-extensions = ">=4.14.1"
[[package]]
-name = "pygments"
-version = "2.20.0"
-description = "Pygments is a syntax highlighting package written in Python."
+name = "pyjwt"
+version = "2.13.0"
+description = "JSON Web Token implementation in Python"
optional = false
python-versions = ">=3.9"
groups = ["dev"]
files = [
- {file = "pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176"},
- {file = "pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f"},
+ {file = "pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728"},
+ {file = "pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423"},
]
+[package.dependencies]
+typing_extensions = {version = ">=4.0", markers = "python_version < \"3.11\""}
+
[package.extras]
-windows-terminal = ["colorama (>=0.4.6)"]
+crypto = ["cryptography (>=3.4.0)"]
[[package]]
name = "pytest"
-version = "9.1.1"
+version = "7.4.4"
description = "pytest: simple powerful testing with Python"
optional = false
-python-versions = ">=3.10"
+python-versions = ">=3.7"
groups = ["dev"]
files = [
- {file = "pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c"},
- {file = "pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313"},
+ {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"},
+ {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"},
]
[package.dependencies]
-colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""}
-exceptiongroup = {version = ">=1", markers = "python_version < \"3.11\""}
-iniconfig = ">=1.0.1"
-packaging = ">=22"
-pluggy = ">=1.5,<2"
-pygments = ">=2.7.2"
-tomli = {version = ">=1", markers = "python_version < \"3.11\""}
+colorama = {version = "*", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
+iniconfig = "*"
+packaging = "*"
+pluggy = ">=0.12,<2.0"
+tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
-dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
[[package]]
name = "pytest-asyncio"
-version = "1.4.0"
+version = "0.23.8"
description = "Pytest support for asyncio"
optional = false
-python-versions = ">=3.10"
+python-versions = ">=3.8"
groups = ["dev"]
files = [
- {file = "pytest_asyncio-1.4.0-py3-none-any.whl", hash = "sha256:933ca923a23075a87fb7070c0ec272a6848489824d887c85c812670932835aa1"},
- {file = "pytest_asyncio-1.4.0.tar.gz", hash = "sha256:c6c0d2259945122819f171a32ecea2c349ead889ee28176caaf492143424be42"},
+ {file = "pytest_asyncio-0.23.8-py3-none-any.whl", hash = "sha256:50265d892689a5faefb84df80819d1ecef566eb3549cf915dfb33569359d1ce2"},
+ {file = "pytest_asyncio-0.23.8.tar.gz", hash = "sha256:759b10b33a6dc61cce40a8bd5205e302978bbbcc00e279a8b61d9a6a3c82e4d3"},
]
[package.dependencies]
-backports-asyncio-runner = {version = ">=1.1,<2", markers = "python_version < \"3.11\""}
-pytest = ">=8.4,<10"
-typing-extensions = {version = ">=4.12", markers = "python_version < \"3.13\""}
+pytest = ">=7.0.0,<9"
[package.extras]
-docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1)", "sphinx-tabs (>=3.5)"]
+docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"]
testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"]
[[package]]
@@ -1185,6 +1172,26 @@ files = [
[package.dependencies]
six = ">=1.5"
+[[package]]
+name = "redis"
+version = "5.3.1"
+description = "Python client for Redis database and key-value store"
+optional = false
+python-versions = ">=3.8"
+groups = ["dev"]
+files = [
+ {file = "redis-5.3.1-py3-none-any.whl", hash = "sha256:dc1909bd24669cc31b5f67a039700b16ec30571096c5f1f0d9d2324bff31af97"},
+ {file = "redis-5.3.1.tar.gz", hash = "sha256:ca49577a531ea64039b5a36db3d6cd1a0c7a60c34124d46924a45b956e8cf14c"},
+]
+
+[package.dependencies]
+async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""}
+PyJWT = ">=2.9.0"
+
+[package.extras]
+hiredis = ["hiredis (>=3.0.0)"]
+ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==23.2.1)", "requests (>=2.31.0)"]
+
[[package]]
name = "ruff"
version = "0.11.5"
@@ -1323,31 +1330,158 @@ files = [
typing-extensions = ">=4.15.0"
[[package]]
-name = "urllib3"
-version = "2.7.0"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
-optional = false
-python-versions = ">=3.10"
-groups = ["dev"]
+name = "wasmtime"
+version = "47.0.1"
+description = "A WebAssembly runtime powered by Wasmtime"
+optional = true
+python-versions = ">=3.9"
+groups = ["main"]
+markers = "extra == \"datastream\" or extra == \"rulesengine\""
files = [
- {file = "urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897"},
- {file = "urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c"},
+ {file = "wasmtime-47.0.1-py3-none-android_26_arm64_v8a.whl", hash = "sha256:844d85628e50929143f03af9a34b3cf5c9148747debced80c14776d27e18173c"},
+ {file = "wasmtime-47.0.1-py3-none-android_26_x86_64.whl", hash = "sha256:749c5c1271ca208f1026001ddc65984fa98113e583521d47ae7e11bc96bf337d"},
+ {file = "wasmtime-47.0.1-py3-none-any.whl", hash = "sha256:5146a700c93909e797e0f6c05707c992fc75f4f5f5c5ecf826a9aff689ec6af1"},
+ {file = "wasmtime-47.0.1-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:8b4ec103273ec3dce86efe6793d41f83df713983d9cbc5c9662adbb56cf00ffe"},
+ {file = "wasmtime-47.0.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:58da69f71750e844e32614c1805246ffca4c8b032d46a8145faa26c228c6c5ac"},
+ {file = "wasmtime-47.0.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:9724600b036c6e95c4fe952e29fad83b4f02bdc11d23f25c4ee3ffff2c1d7257"},
+ {file = "wasmtime-47.0.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4f72162ceed1d50de8226fac6b12e1ecce54883a0c3f7355bb141eae40df488a"},
+ {file = "wasmtime-47.0.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0aeb53d4c8e682cccebbaac48882939b34e71a1243b622129de3e6834728044d"},
+ {file = "wasmtime-47.0.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:f900fa571a9a5668b6210de9ecca1c5b66db14d85b7c36514c3d307d4f4cdc90"},
+ {file = "wasmtime-47.0.1-py3-none-win_amd64.whl", hash = "sha256:4e46a4a29092a2ac1001159d5673e2a23996f4474261c791401867b1630429f4"},
+ {file = "wasmtime-47.0.1-py3-none-win_arm64.whl", hash = "sha256:812058e7b40b73defa1d5118c25faa674920b7833c0a22cf79f0ff4eadee0c32"},
+ {file = "wasmtime-47.0.1.tar.gz", hash = "sha256:fab6ee0e87354f14ef228fa71b40841dd3c2c713f6efce636af234b4e3e6edcc"},
]
[package.extras]
-brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""]
-h2 = ["h2 (>=4,<5)"]
-socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
-zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""]
+testing = ["coverage", "pycparser", "pytest", "pytest-mypy"]
+
+[[package]]
+name = "websockets"
+version = "16.1.1"
+description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
+optional = true
+python-versions = ">=3.10"
+groups = ["main"]
+markers = "extra == \"datastream\""
+files = [
+ {file = "websockets-16.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:49ae99bdfcae803a885c926bf14f886196e84925395bb3f568fef5c0f0979d7d"},
+ {file = "websockets-16.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5bfd1ac19b1b9986a9c95a82d5e23a391ebb09e12c34d7be6094b86efcc35731"},
+ {file = "websockets-16.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9246a0d063cfcbcc85f2359dd6876d681213f4790832272aa16641b4ed5d64d4"},
+ {file = "websockets-16.1.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1214e673c404684b9bf7154f5cf43b45025b1a6160fac3a9e438e9c1a97e22cb"},
+ {file = "websockets-16.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90001d893bc368e302ef168d82130b4e4fdd27b85fa094682df9b667c2d48838"},
+ {file = "websockets-16.1.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:130937b167a52af203c8d58e78d67705874e82759862e3b9671a452fec4abc87"},
+ {file = "websockets-16.1.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c9f23004a3d40e89c01a7955d186a6cc83418d93b749701944ce2de3e95a1f3"},
+ {file = "websockets-16.1.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f55f0b01956a094c8587146d9558c91937e78789c333860ffaf35931a6e5dbc4"},
+ {file = "websockets-16.1.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6aaface73b9c71974c6497366d8b9628357f6c9749e09c4ea3610176c63f2ae3"},
+ {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dc0fad4933f427acd5b1cec210f3ea6dce7089e1724e4b9ec6ef47c6c04d1b3b"},
+ {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2769a0344a09e9ccf5b3cce538bc75a51b53eff3275d3896310c8552049195d"},
+ {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f70541f3104339f59f830522d94ebadb1bf47426287381623443d8bb1cdbf33d"},
+ {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:dc385593a42e31cd6fb60c19f0ecb015b386603818fc2c6c274fb42bd2bb4165"},
+ {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:387e8e4aa5df2f90b198fa3cad3478822a89cf905b6a6d6c97dc3664689640cc"},
+ {file = "websockets-16.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fd46fff7eb62c24804d234f0051c7a8ea81285ad63e0337d3dcf33ca82aee58a"},
+ {file = "websockets-16.1.1-cp310-cp310-win32.whl", hash = "sha256:7883388947767080f094950b342b30d35a2a06b849cd967c422fa0db72b40ea9"},
+ {file = "websockets-16.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d57685547e0060cc6fd90ee6a28405d6bd395e525545f13c8d7cd99c78afd79f"},
+ {file = "websockets-16.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d0fcf657e9f13ff4b177960ab2200237b12994232dfb6df16f1cfe1d4339f93c"},
+ {file = "websockets-16.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b852788aa51764e2d8e4cf5493d559326bcae5e38d16ba25ffa322b034df272a"},
+ {file = "websockets-16.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1427fb4cf0d72f66333e2cacc3ff5f575bf2d7008166ce991a4a470b21d51a22"},
+ {file = "websockets-16.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:da4ca1a9d72f9030b3146b8d7022719a9f3d478f61efe6f7dd51d243f61c51b2"},
+ {file = "websockets-16.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86d7f0f8bdb25d2c632b72527325e4776430fd5bc61b9118de4e2b8ddb5f5b01"},
+ {file = "websockets-16.1.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7dfcad78ea1492ee3a9ec765cb7f51bbc17d477107aaf6b22abf7b2558d1c5a0"},
+ {file = "websockets-16.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fb9a0a6dc3d1b3986cb88091b6899f0396651e0f74e2c9766ab8d6ffc3842e29"},
+ {file = "websockets-16.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29dfa8114c4a620c69591c5973860f768eac29d3fd6904f37f34266cb219c512"},
+ {file = "websockets-16.1.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6ff9417c0ada4d0f7d212f928303e5579bdf3ace4c802fa4afabb30995da58c3"},
+ {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fe0b50da2d84535fb4f7b4bfa951280f97ce3d558a0443b541166d609e67b57"},
+ {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:34420aaa64440ebd51ac72ca8a45ef4626429438c9b02e633ae412ed43f925d3"},
+ {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a6a61aff018180c9c50b7b0da33bfd29d378af3497429c95006c589a23a11648"},
+ {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:04fd29a0e2fe9414a95b00e92c67ae51bf900c50c0f8a4b2dafdad621f49ea1d"},
+ {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5c31aa7e39ee3e8a358573257f1c0bb5c52430d1b637030dd9c8cc2c282926be"},
+ {file = "websockets-16.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d14bfb217eb4701e850f1525c9d29d79c44794cdf1c299ead25f39f8c78dea81"},
+ {file = "websockets-16.1.1-cp311-cp311-win32.whl", hash = "sha256:2e28e602bb13da44fbe518c1781a88e3b9d4c3d48d02c9bad83e546164336f57"},
+ {file = "websockets-16.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:7421fad442de870a8cbf2287d1cad7e706ece0dbfeba5e911df132cbdc1cb56a"},
+ {file = "websockets-16.1.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cc97814dfb786a83b6e2dc2e79351e1b83e6d715647d6887fcabd83026417a00"},
+ {file = "websockets-16.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e047dc87ef7ca50f4d309bf775ad4a71711c58556d75d7bd0604b2317f43e94b"},
+ {file = "websockets-16.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:01fbdcbac298efe19360b94bc0039c8f746f0220ba570f327577bfee81059175"},
+ {file = "websockets-16.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0f62863e8a00a6d33c3d6566ec0b89f23787b747ffe0c3bc71ec0e76b82c94b1"},
+ {file = "websockets-16.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8087e82f842609734c9b5a1330464f8e94e346ba0e18c832c08bafa4b0d63c15"},
+ {file = "websockets-16.1.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2bb5d041a8307d2e18782e7ce777f6fdb1e8c2f5d09291484b18c294b789d9aa"},
+ {file = "websockets-16.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1db4de4a0e95673f7545d393c49eeb0c2f18ac1ef93073218c79d5cdb2ee75ab"},
+ {file = "websockets-16.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f17dbe07eb3ea7f99e4df9b7e0efefe80fbf30d37a8cc4d561a0aed310bc8847"},
+ {file = "websockets-16.1.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4b57693728576d84ede0a77987ab16881b783d2cd9f1dc180a8fbbc3f79c4428"},
+ {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2a636ff1e7a5c4edf71ef0e79adae7f25dba93b4fcbe3dc958733477ffeb0eaf"},
+ {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d6bec75c290fe484a8ba4cacdf838501e17c06ecfbbf31eede81a9e431bd7751"},
+ {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:54509b8e92fee4453e152b7558ddef37ce9705a044922f2095a6105e3f80c96f"},
+ {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:f0aa4aad3b1b69ad3fd85a0fd0952ec64331c762bd77ec51cc814170873890b2"},
+ {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:42290eb6db4ccaca7012656738214f8514082fb6fa40cdeb61bb9a471b52e383"},
+ {file = "websockets-16.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:53260c8930da5771cec89439bff99c20c8cb03ddb9588b980697355a83cd4bd3"},
+ {file = "websockets-16.1.1-cp312-cp312-win32.whl", hash = "sha256:1d27fa8462ad6a1cb36206a3d0640b2333340def181fae11ed7f9adeaa5c0747"},
+ {file = "websockets-16.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:b436f6ec4fc3a6b4237c84d3f83170ed2b40bb584222f0ac47a0c8a5921980c7"},
+ {file = "websockets-16.1.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ab59169ace05dcb49a1d4118f0bde139557adf45091bd85747e36bf5de984dd1"},
+ {file = "websockets-16.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5e3b7d601f6f84156b08cc4a5e541c2b50ad7b36cfc302b657a12477c904a5df"},
+ {file = "websockets-16.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cd2ca96a082a36964aca83e992f72abeb61b7306c1a6cba4c7d06a7b93750cac"},
+ {file = "websockets-16.1.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f5d497865f05bb222cab7016c6034542e84e5f29f49c6fd3f4939cda7197b5b8"},
+ {file = "websockets-16.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bae954c382e013d5ea5b190d2830526bfa45ad121c326da0049b8c769f185db6"},
+ {file = "websockets-16.1.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e09f753a169951eb4f28c2c774f71069304f66e7277e0f5a2892423599cfa854"},
+ {file = "websockets-16.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:024193f8551a2b0eafbdd160911012c4e6c228c28430c84433253299a9e42d6a"},
+ {file = "websockets-16.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:aabe464bfd13bd25f4821faf111da6fefdc389f870265a53105580e45b0a2e49"},
+ {file = "websockets-16.1.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a28fcbc9b6baf54a2e23f8655f308e4ccc6afdd7266f8fe7954f320dcda0f785"},
+ {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:79eace538c6a97e96d0d03d4f9d314f9677f5ed85a8a984992ffd90b13cb8a56"},
+ {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:496af849a472b531f758dbd4d61338f5000538cb1a7b3d20d9d32a264517f509"},
+ {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5283810d2646741a0d8da2aa733d6aefa0545809afccb2a5d105a26bc45125f1"},
+ {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:4e3b680b1e0a27457e727a0d572fd81dffa87b6dbf8b228ab57da64f7d85aead"},
+ {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:69159730a823dde3ea8d08783e8d47ef135a6d7e8d44eb127e32b321c9db8e3e"},
+ {file = "websockets-16.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ed5bb271084b46530ee2ddc0410537a9961152c5ccba2fc98c5276d992ccba87"},
+ {file = "websockets-16.1.1-cp313-cp313-win32.whl", hash = "sha256:cfb70b4eb56cac4da0a83588f3ad50d46beb0690391082f3d4e2d488c70b68ea"},
+ {file = "websockets-16.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:d9531d9cbeac99af6f038fb1bc351403531f7d634a2c2e10e2f7c854c6ed5b68"},
+ {file = "websockets-16.1.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:443aefe96b7fdb132e2a70806cca1f2af49bb3f28e47abcd7c2e9dcf4d8fa1b8"},
+ {file = "websockets-16.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6456ff333092d509127d75a638cb411afae8ff17f092635015d1902efec8a293"},
+ {file = "websockets-16.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fce6c48559c86d1ac3632ccb1bebc7d5442fbe79bd9bb0e40379ee54be2a4051"},
+ {file = "websockets-16.1.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:92b820d345f7a3fc7b8163949ee92df910f290c3fc517b3d5301c78065adafe1"},
+ {file = "websockets-16.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a606d9c24035242a3e256e9d5b77ed9cd6bccfcb7cf993e5ca3c0f6f68fb6a7"},
+ {file = "websockets-16.1.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:414e596c75f74e0994084694189d7dc9229fb278e33064d6784b73ffbba3ca31"},
+ {file = "websockets-16.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:536676848fc5961aca9d20389951f59169508f765637a172403dc5434d722fa0"},
+ {file = "websockets-16.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:97fd3a0e8b53efa41970ac1dff3d8cf0d2884cadeb4caaf95db7ad1526926ee3"},
+ {file = "websockets-16.1.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7b1b19636af86a3c7995d4d028dbe376f39b4bf31541146f9c123582a6c94562"},
+ {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:41c8e77f17294c0ac18008a7309b99b34ee72247ef10b6dff4c3f8b5ac29896b"},
+ {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:9f63bcef7f4b02b06b35fc01c93b96c43b5e88e1e8868676caacf493d5a31f3a"},
+ {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dab9eb87869da2d6ed3af3f3adf28414baae6ec9d4df355ffc18889132f3436c"},
+ {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:43e3a9fdd7cbf7ba6040c31fae0faf84ca1474fef777c4e37912f1540f854499"},
+ {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:056ae37939ed7e9974f364f5864e76e49182622d8f9751ac1903c0d09b013985"},
+ {file = "websockets-16.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a0eadbbf2c30f01efa58e1f110eb6fa293261f6b0b1aa38f7f48707107690af9"},
+ {file = "websockets-16.1.1-cp314-cp314-win32.whl", hash = "sha256:195c978b065fa40910582464f99d6b15c8b314c68e0546549a55ed83f4735328"},
+ {file = "websockets-16.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:4e8d01cc3bcae7bbf8167f944aeafefed590fae5693552bba9794a9df68371cc"},
+ {file = "websockets-16.1.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0ffd3031ea8bda8d61762e84220186105ba3b748b3c8da2ae4f7816fac03e573"},
+ {file = "websockets-16.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:84a2cef8deffbd9ab8ee0ea546a2a6a7030c28f44e6cdd4547dbfeb489eb8999"},
+ {file = "websockets-16.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3df13f73af9b3b38ab1195eb299ecb67a4330c911c97ae04043ff74085728abe"},
+ {file = "websockets-16.1.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:23253dd5bcae3f9aaee0a1d30967a8dbd52e5d3cff93a2e5b84df57b77d4750d"},
+ {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1c5705e314449e3308872fe084b8571ce078ee4fc55a98a769bdefe5917392"},
+ {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69e52d175a0a7d1e13b4b67ad41c560b7d98e8c6f6126eb0bda496c784faf8c7"},
+ {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1f79c89b5eb034d1722938a891916582f8f7f503f58ca22518a63c3f2cd18499"},
+ {file = "websockets-16.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:39f2a024af5c345ffe8fcf1ee18c049c024c94df393bb09b044a6917c77bde43"},
+ {file = "websockets-16.1.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:952303a7318d4cbe1011400839bb2051c9f84fa0a35923267f5daba34b15d458"},
+ {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:249116b4a76063d930a46391ad56e135c286e4562a18309029fc2c73f4ed4c62"},
+ {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:61922544a0587a13fd3f53e4c0e5e606510c7b0d9d22c8444e5fae22a06b38cb"},
+ {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:46dcaa042cd1de6c59e7d9269fa63ff7572b6df40510600b678f0826b3c7af51"},
+ {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:38565aca3e01ea8734e578fb2118dade0ecb0250533f29e22b8d1a7a196cf4d0"},
+ {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:42f599f4d48c7e1a3338fdaac3acd075be3b3cf02d4b274f3bf2767aedd3d217"},
+ {file = "websockets-16.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dcc04fedf83effaeb9cce98abc9469bb1b42ef85f03e01c8c1f4438ef7555737"},
+ {file = "websockets-16.1.1-cp314-cp314t-win32.whl", hash = "sha256:8483c2096363120eea8b07c06ae7304d520f686665fffd4811fad423930a65d7"},
+ {file = "websockets-16.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:bcce07e23e5769375158f5efdcdafa8d5cd014b93c6683865b840ed65b96f231"},
+ {file = "websockets-16.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:820fb8450edddae3812fd58cbc08e2bf22812cb248ecb5f06dbb82119a56e869"},
+ {file = "websockets-16.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:125f22dbefaf1554fea66fc83851490edb284ce4f501d37ffed2752f418332d9"},
+ {file = "websockets-16.1.1-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:30bbe120437b5648a77d3519b7024ea09530e0b5b18d3698c5a0ae536fe0cc2e"},
+ {file = "websockets-16.1.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b6b9dadbef0cccd9f4c4ee96b08898afa73e26803bbe0f6aeb5bb12b0074206d"},
+ {file = "websockets-16.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56cd5fc4f10a9ea8aa0804bddb7b42506cf9e136046f3b4c27de8fec9e2ecba5"},
+ {file = "websockets-16.1.1-py3-none-any.whl", hash = "sha256:6abbd3e82c731c8e531714466acd5d87b5e88ac3243465337ba71d68e23ae7e3"},
+ {file = "websockets-16.1.1.tar.gz", hash = "sha256:db234eda965dcce15df96bb9709f587cd87d4d52aaf0e80e2f34ec04c7670c57"},
+]
[[package]]
name = "yarl"
version = "1.24.5"
description = "Yet another URL library"
-optional = true
+optional = false
python-versions = ">=3.10"
-groups = ["main"]
-markers = "extra == \"aiohttp\""
+groups = ["main", "dev"]
files = [
{file = "yarl-1.24.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88f50c94e21a0a7f14042c015b0eba1881af78562e7bf007e0033e624da59750"},
{file = "yarl-1.24.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6efbccc3d7f75d5b03105172a8dc86d82ba4da86817952529dd93185f4a88be2"},
@@ -1454,6 +1588,7 @@ files = [
{file = "yarl-1.24.5-py3-none-any.whl", hash = "sha256:a33700d13d9b7d84fd10947b09ff69fb9a792e519c8cb9764a3ca70baa6c23a7"},
{file = "yarl-1.24.5.tar.gz", hash = "sha256:e81b83143bee16329c23db3c1b2d82b29892fcbcb849186d2f6e98a5abe9a57f"},
]
+markers = {main = "extra == \"aiohttp\""}
[package.dependencies]
idna = ">=2.0"
@@ -1461,9 +1596,11 @@ multidict = ">=4.0"
propcache = ">=0.2.1"
[extras]
-aiohttp = ["aiohttp", "httpx-aiohttp"]
+aiohttp = ["httpx-aiohttp"]
+datastream = ["wasmtime", "websockets"]
+rulesengine = ["wasmtime"]
[metadata]
lock-version = "2.1"
python-versions = "^3.10"
-content-hash = "ae72458cc9170491280c32063e114504d6d14e4e72794aefcc730f6d72478732"
+content-hash = "d12f2b0714d21d258fab37327fffd7eed95cbda40524b341fc8e0479072c5342"
diff --git a/pyproject.toml b/pyproject.toml
index f7cb604..1102244 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ dynamic = ["version"]
[tool.poetry]
name = "schematichq"
-version = "1.3.2"
+version = "1.3.3"
description = ""
readme = "README.md"
authors = []