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