nominal 1.111.2__tar.gz → 1.112.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nominal-1.111.2 → nominal-1.112.0}/CHANGELOG.md +7 -0
- {nominal-1.111.2 → nominal-1.112.0}/PKG-INFO +1 -1
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/migration/migration_resources.py +3 -2
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/migration/migration_utils.py +10 -4
- {nominal-1.111.2 → nominal-1.112.0}/pyproject.toml +1 -1
- {nominal-1.111.2 → nominal-1.112.0}/.gitignore +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/LICENSE +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/README.md +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/__main__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/_utils/README.md +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/_utils/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/_utils/dataclass_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/_utils/deprecation_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/_utils/iterator_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/_utils/streaming_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/_utils/timing_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/__main__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/attachment.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/auth.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/config.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/dataset.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/download.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/mis.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/run.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/util/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/util/click_log_handler.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/util/global_decorators.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/cli/util/verify_connection.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/config/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/config/_config.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_checklist_types.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_clientsbunch.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_constants.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_event_types.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_stream/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_stream/batch_processor.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_stream/batch_processor_proto.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_stream/write_stream.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_stream/write_stream_base.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_types.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/README.md +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/api_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/multipart.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/multipart_downloader.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/networking.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/pagination_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/query_tools.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_utils/queueing.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/_video_types.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/asset.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/attachment.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/bounds.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/channel.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/checklist.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/client.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/connection.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/containerized_extractors.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/data_review.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/dataset.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/dataset_file.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/datasource.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/event.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/exceptions.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/filetype.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/log.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/run.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/secret.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/streaming_checklist.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/unit.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/user.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/video.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/video_file.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/workbook.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/workbook_template.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/core/workspace.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/exceptions/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/README.md +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/_buckets.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/dsl/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/dsl/_enum_expr_impls.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/dsl/_numeric_expr_impls.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/dsl/_range_expr_impls.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/dsl/exprs.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/compute/dsl/params.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/dataset_utils/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/dataset_utils/_dataset_utils.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/logging/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/logging/click_log_handler.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/logging/nominal_log_handler.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/logging/rich_log_handler.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/migration/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/migration/migration_data_config.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/rust_streaming/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/rust_streaming/rust_write_stream.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/stream_v2/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/stream_v2/_serializer.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/stream_v2/_write_stream.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/video_processing/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/video_processing/resolution.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/video_processing/video_conversion.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/nominal.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/py.typed +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/matlab/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/matlab/_matlab.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/pandas/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/pandas/_pandas.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/polars/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/polars/polars_export_handler.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/tdms/__init__.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/thirdparty/tdms/_tdms.py +0 -0
- {nominal-1.111.2 → nominal-1.112.0}/nominal/ts/__init__.py +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.112.0](https://github.com/nominal-io/nominal-client/compare/v1.111.2...v1.112.0) (2026-02-04)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add option for standalone template cloning in migration_utils ([#605](https://github.com/nominal-io/nominal-client/issues/605)) ([d12a290](https://github.com/nominal-io/nominal-client/commit/d12a2908559f1f3f655981c247b67e9b07c4ce4c))
|
|
9
|
+
|
|
3
10
|
## [1.111.2](https://github.com/nominal-io/nominal-client/compare/v1.111.1...v1.111.2) (2026-02-04)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from typing import Sequence
|
|
4
|
+
from typing import Mapping, Sequence
|
|
5
5
|
|
|
6
6
|
from nominal.core.asset import Asset
|
|
7
7
|
from nominal.core.workbook_template import WorkbookTemplate
|
|
@@ -15,4 +15,5 @@ class AssetResources:
|
|
|
15
15
|
|
|
16
16
|
@dataclass(frozen=True)
|
|
17
17
|
class MigrationResources:
|
|
18
|
-
source_assets:
|
|
18
|
+
source_assets: Mapping[str, AssetResources]
|
|
19
|
+
source_standalone_templates: Sequence[WorkbookTemplate]
|
|
@@ -1027,7 +1027,8 @@ def copy_resources_to_destination_client(
|
|
|
1027
1027
|
dataset_config: MigrationDatasetConfig | None = None,
|
|
1028
1028
|
) -> tuple[Sequence[tuple[str, Dataset]], Sequence[Asset], Sequence[WorkbookTemplate], Sequence[Workbook]]:
|
|
1029
1029
|
"""Based on a list of assets and workbook templates, copy resources to destination client, creating
|
|
1030
|
-
new datasets, datafiles, and workbooks along the way.
|
|
1030
|
+
new datasets, datafiles, and workbooks along the way. Standalone templates are cloned without
|
|
1031
|
+
creating workbooks.
|
|
1031
1032
|
|
|
1032
1033
|
Args:
|
|
1033
1034
|
destination_client (NominalClient): client of the tenant/workspace to copy resources to.
|
|
@@ -1050,9 +1051,10 @@ def copy_resources_to_destination_client(
|
|
|
1050
1051
|
new_workbooks = []
|
|
1051
1052
|
|
|
1052
1053
|
new_data_scopes_and_datasets: list[tuple[str, Dataset]] = []
|
|
1053
|
-
for
|
|
1054
|
+
for asset_resources in migration_resources.source_assets.values():
|
|
1055
|
+
source_asset = asset_resources.asset
|
|
1054
1056
|
new_asset = copy_asset_from(
|
|
1055
|
-
source_asset
|
|
1057
|
+
source_asset,
|
|
1056
1058
|
destination_client,
|
|
1057
1059
|
dataset_config=dataset_config,
|
|
1058
1060
|
include_events=True,
|
|
@@ -1062,7 +1064,7 @@ def copy_resources_to_destination_client(
|
|
|
1062
1064
|
new_assets.append(new_asset)
|
|
1063
1065
|
new_data_scopes_and_datasets.extend(new_asset.list_datasets())
|
|
1064
1066
|
|
|
1065
|
-
for source_workbook_template in
|
|
1067
|
+
for source_workbook_template in asset_resources.source_workbook_templates:
|
|
1066
1068
|
new_template = clone_workbook_template(source_workbook_template, destination_client)
|
|
1067
1069
|
new_templates.append(new_template)
|
|
1068
1070
|
new_workbook = new_template.create_workbook(
|
|
@@ -1077,6 +1079,10 @@ def copy_resources_to_destination_client(
|
|
|
1077
1079
|
extra=log_extras,
|
|
1078
1080
|
)
|
|
1079
1081
|
new_workbooks.append(new_workbook)
|
|
1082
|
+
|
|
1083
|
+
for source_template in migration_resources.source_standalone_templates:
|
|
1084
|
+
new_template = clone_workbook_template(source_template, destination_client)
|
|
1085
|
+
new_templates.append(new_template)
|
|
1080
1086
|
finally:
|
|
1081
1087
|
file_handler.close()
|
|
1082
1088
|
logger.removeHandler(file_handler)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/rust_streaming/rust_write_stream.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nominal-1.111.2 → nominal-1.112.0}/nominal/experimental/video_processing/video_conversion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|