diff --git a/nortech/derivers/handlers/deriver.py b/nortech/derivers/handlers/deriver.py
index 25f9d23..110d658 100644
--- a/nortech/derivers/handlers/deriver.py
+++ b/nortech/derivers/handlers/deriver.py
@@ -81,12 +81,12 @@ def visualize_deriver(deriver: Deriver):
for input_name, deriver_input in deriver.inputs.items():
mermaid += f"""
- {sha256(deriver.name.encode()).hexdigest()[:8]}_{deriver_input.signal}["{deriver_input.signal}
[{deriver_input.physical_unit.symbol.replace(' ', '')}]"] --> {sha256(deriver_schema_dag.name.encode()).hexdigest()[:8]}_{input_name}
+ {sha256(deriver.name.encode()).hexdigest()[:8]}_{deriver_input.signal}["{deriver_input.signal}
[{deriver_input.physical_unit.symbol.replace(" ", "")}]"] --> {sha256(deriver_schema_dag.name.encode()).hexdigest()[:8]}_{input_name}
"""
for output_name, deriver_output in deriver.outputs.items():
mermaid += f"""
- {sha256(deriver_schema_dag.name.encode()).hexdigest()[:8]}_{output_name} --> {sha256(deriver.name.encode()).hexdigest()[:8]}_{output_name}["{output_name}
[{deriver_output.physical_unit.symbol.replace(' ', '')}]"]
+ {sha256(deriver_schema_dag.name.encode()).hexdigest()[:8]}_{output_name} --> {sha256(deriver.name.encode()).hexdigest()[:8]}_{output_name}["{output_name}
[{deriver_output.physical_unit.symbol.replace(" ", "")}]"]
"""
mermaid += """
diff --git a/nortech/derivers/services/nortech_api.py b/nortech/derivers/services/nortech_api.py
index 4004515..031339e 100644
--- a/nortech/derivers/services/nortech_api.py
+++ b/nortech/derivers/services/nortech_api.py
@@ -95,13 +95,13 @@ class Schema(BaseModel):
class SchemaDiff(BaseModel):
- old: Schema = Field(..., alias="previousSchema")
+ old: Schema | None = Field(None, alias="previousSchema")
new: Schema = Field(..., alias="newSchema")
class DeriverDiffs(BaseModel):
- deriver_schemas: Mapping[str, SchemaDiff] = Field(..., alias="deriverSchemas")
- derivers: Mapping[str, SchemaDiff]
+ deriver_schemas: Mapping[str, SchemaDiff] = Field(..., alias="DeriverSchemas")
+ derivers: Mapping[str, SchemaDiff] = Field(..., alias="Derivers")
model_config = ConfigDict(populate_by_name=True)
diff --git a/nortech/gateways/nortech_api.py b/nortech/gateways/nortech_api.py
index a611a75..569f5d8 100644
--- a/nortech/gateways/nortech_api.py
+++ b/nortech/gateways/nortech_api.py
@@ -16,7 +16,7 @@ class NortechAPISettings(BaseSettings):
URL: str = Field(default="https://api.apps.nor.tech")
KEY: str = Field(default=...)
- USER_AGENT: str = Field(default="nortech-python/0.9.2")
+ USER_AGENT: str = Field(default="nortech-python/0.9.3")
IGNORE_PAGINATION: bool = True
EXPERIMENTAL_FEATURES: bool = False
TIMEOUT: float | Timeout = Field(default=Timeout(connect=10, read=60))
diff --git a/pyproject.toml b/pyproject.toml
index 08d8591..30a6844 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "nortech"
-version = "0.9.2"
+version = "0.9.3"
description = "The official Python library for Nortech AI"
authors = [
{ name = "Nortech AI", email = "info@nortech.ai" }
@@ -69,6 +69,7 @@ select = [
"W", # PEP 8 warning codes
]
ignore = [
+ "A005", # Module `signal` shadows a Python standard-library module
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D102", # Missing docstring in public method
diff --git a/tests/integration/derivers/test_deriver.py b/tests/integration/derivers/test_deriver.py
index c97016d..2e0a385 100644
--- a/tests/integration/derivers/test_deriver.py
+++ b/tests/integration/derivers/test_deriver.py
@@ -267,8 +267,8 @@ def transform_stream(
def test_deriver_deploy(nortech: Nortech, requests_mock: Mocker):
mock_response_data = {
- "deriverSchemas": {},
- "derivers": {},
+ "DeriverSchemas": {},
+ "Derivers": {},
}
requests_mock.post(
diff --git a/tests/unit/derivers/test_deriver_diffs.py b/tests/unit/derivers/test_deriver_diffs.py
index 37ea2b4..157c716 100644
--- a/tests/unit/derivers/test_deriver_diffs.py
+++ b/tests/unit/derivers/test_deriver_diffs.py
@@ -12,12 +12,13 @@ def test_deriver_diffs():
"updatedAt": datetime(2023, 1, 2),
}
test_deriver_diffs_dict = {
- "deriverSchemas": {"schema1": {"previousSchema": test_schema, "newSchema": test_schema}},
- "derivers": {"deriver1": {"previousSchema": test_schema, "newSchema": test_schema}},
+ "DeriverSchemas": {"schema1": {"previousSchema": test_schema, "newSchema": test_schema}},
+ "Derivers": {"deriver1": {"previousSchema": test_schema, "newSchema": test_schema}},
}
deriver_diffs = DeriverDiffs.model_validate(test_deriver_diffs_dict)
+ assert deriver_diffs.deriver_schemas["schema1"].old is not None
assert deriver_diffs.deriver_schemas["schema1"].old.id == 123
assert deriver_diffs.deriver_schemas["schema1"].old.hash == "abc123"
assert deriver_diffs.deriver_schemas["schema1"].old.history_id == 456