nominal 1.104.0__tar.gz → 1.104.2__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.104.0 → nominal-1.104.2}/CHANGELOG.md +14 -0
- {nominal-1.104.0 → nominal-1.104.2}/PKG-INFO +2 -1
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/data_review.py +79 -5
- {nominal-1.104.0 → nominal-1.104.2}/pyproject.toml +3 -5
- {nominal-1.104.0 → nominal-1.104.2}/.gitignore +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/LICENSE +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/README.md +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/__main__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/_utils/README.md +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/_utils/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/_utils/dataclass_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/_utils/deprecation_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/_utils/iterator_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/_utils/streaming_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/_utils/timing_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/__main__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/attachment.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/auth.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/config.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/dataset.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/download.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/mis.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/run.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/util/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/util/click_log_handler.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/util/global_decorators.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/cli/util/verify_connection.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/config/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/config/_config.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_clientsbunch.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_constants.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_event_types.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_stream/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_stream/batch_processor.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_stream/batch_processor_proto.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_stream/write_stream.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_stream/write_stream_base.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_types.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/README.md +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/api_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/multipart.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/multipart_downloader.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/networking.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/pagination_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/query_tools.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/_utils/queueing.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/asset.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/attachment.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/bounds.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/channel.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/checklist.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/client.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/connection.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/containerized_extractors.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/dataset.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/dataset_file.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/datasource.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/event.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/exceptions.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/filetype.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/log.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/run.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/secret.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/unit.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/user.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/video.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/video_file.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/workbook.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/workbook_template.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/core/workspace.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/exceptions/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/README.md +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/_buckets.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/dsl/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/dsl/_enum_expr_impls.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/dsl/_numeric_expr_impls.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/dsl/_range_expr_impls.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/dsl/exprs.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/compute/dsl/params.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/logging/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/logging/click_log_handler.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/logging/nominal_log_handler.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/logging/rich_log_handler.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/migration/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/migration/migration_utils.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/rust_streaming/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/rust_streaming/rust_write_stream.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/stream_v2/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/stream_v2/_serializer.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/stream_v2/_write_stream.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/video_processing/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/video_processing/resolution.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/experimental/video_processing/video_conversion.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/nominal.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/py.typed +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/matlab/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/matlab/_matlab.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/pandas/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/pandas/_pandas.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/polars/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/polars/polars_export_handler.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/tdms/__init__.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/thirdparty/tdms/_tdms.py +0 -0
- {nominal-1.104.0 → nominal-1.104.2}/nominal/ts/__init__.py +0 -0
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.104.2](https://github.com/nominal-io/nominal-client/compare/v1.104.1...v1.104.2) (2026-01-08)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* explicitly pin version of urllib to fix CVE ([#571](https://github.com/nominal-io/nominal-client/issues/571)) ([2014e51](https://github.com/nominal-io/nominal-client/commit/2014e51d95e8cf804b1dce269402b2671f5153f8))
|
|
9
|
+
|
|
10
|
+
## [1.104.1](https://github.com/nominal-io/nominal-client/compare/v1.104.0...v1.104.1) (2026-01-08)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* add asset_rid to data_review request ([#508](https://github.com/nominal-io/nominal-client/issues/508)) ([b1baf4f](https://github.com/nominal-io/nominal-client/commit/b1baf4f3745ee8a485ff0407a53ad9ee1ee9b0fc))
|
|
16
|
+
|
|
3
17
|
## [1.104.0](https://github.com/nominal-io/nominal-client/compare/v1.103.0...v1.104.0) (2026-01-08)
|
|
4
18
|
|
|
5
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nominal
|
|
3
|
-
Version: 1.104.
|
|
3
|
+
Version: 1.104.2
|
|
4
4
|
Summary: Automate Nominal workflows in Python
|
|
5
5
|
Project-URL: Homepage, https://nominal.io
|
|
6
6
|
Project-URL: Documentation, https://docs.nominal.io
|
|
@@ -33,6 +33,7 @@ Requires-Dist: tabulate<0.10,>=0.9.0
|
|
|
33
33
|
Requires-Dist: truststore>=0.10.4
|
|
34
34
|
Requires-Dist: types-cachetools>=6.0.0.20250525
|
|
35
35
|
Requires-Dist: typing-extensions<5,>=4
|
|
36
|
+
Requires-Dist: urllib3==2.6.3
|
|
36
37
|
Provides-Extra: protos
|
|
37
38
|
Requires-Dist: nominal-api-protos>=0.949.2; extra == 'protos'
|
|
38
39
|
Provides-Extra: tdms
|
|
@@ -20,8 +20,10 @@ from typing_extensions import Self, deprecated
|
|
|
20
20
|
|
|
21
21
|
from nominal.core import checklist, event
|
|
22
22
|
from nominal.core._clientsbunch import HasScoutParams
|
|
23
|
-
from nominal.core._utils.api_tools import HasRid
|
|
23
|
+
from nominal.core._utils.api_tools import HasRid, rid_from_instance_or_string
|
|
24
|
+
from nominal.core.asset import Asset
|
|
24
25
|
from nominal.core.exceptions import NominalMethodRemovedError
|
|
26
|
+
from nominal.core.run import Run
|
|
25
27
|
from nominal.ts import IntegralNanosecondsUTC, _SecondsNanos
|
|
26
28
|
|
|
27
29
|
|
|
@@ -162,8 +164,81 @@ class DataReviewBuilder:
|
|
|
162
164
|
self._integration_rids.append(integration_rid)
|
|
163
165
|
return self
|
|
164
166
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
+
@deprecated(
|
|
168
|
+
"`DataReviewBuilder.add_request` is deprecated and will be removed in a future release of the Nominal SDK. "
|
|
169
|
+
"Please use `DataReviewBuilder.execute_checklist` instead."
|
|
170
|
+
)
|
|
171
|
+
def add_request(
|
|
172
|
+
self,
|
|
173
|
+
run_rid: str,
|
|
174
|
+
checklist_rid: str,
|
|
175
|
+
commit: str | None = None,
|
|
176
|
+
*,
|
|
177
|
+
asset_rid: str | None = None,
|
|
178
|
+
) -> DataReviewBuilder:
|
|
179
|
+
"""Add a request to create a data review for the given checklist and run.
|
|
180
|
+
|
|
181
|
+
Args:
|
|
182
|
+
run_rid: RID of the Run to run the Checklist on
|
|
183
|
+
checklist_rid: RID of the checklist to execute on the Run
|
|
184
|
+
commit: Commit hash of the version of the checklist to run, or the latest version if None is provided
|
|
185
|
+
asset_rid: RID of the asset to run the checklist on within the Run (only required for multi-asset runs)
|
|
186
|
+
|
|
187
|
+
Returns:
|
|
188
|
+
DataReviewBuilder instance to continue building a data review with
|
|
189
|
+
"""
|
|
190
|
+
return self.execute_checklist(run_rid, checklist_rid, commit=commit, asset=asset_rid)
|
|
191
|
+
|
|
192
|
+
def execute_checklist(
|
|
193
|
+
self,
|
|
194
|
+
run: str | Run,
|
|
195
|
+
checklist: str | checklist.Checklist,
|
|
196
|
+
*,
|
|
197
|
+
commit: str | None = None,
|
|
198
|
+
asset: str | Asset | None = None,
|
|
199
|
+
) -> Self:
|
|
200
|
+
"""Add a request to create a data review for the given checklist and run.
|
|
201
|
+
|
|
202
|
+
Args:
|
|
203
|
+
run: Instance or rid of the Run to run the Checklist on
|
|
204
|
+
checklist: Instance or rid of the checklist to execute on the Run
|
|
205
|
+
commit: Commit hash of the version of the checklist to run, or the latest version if None is provided
|
|
206
|
+
asset: Instance or rid of the asset to run the checklist on within the Run
|
|
207
|
+
NOTE: only required for multi-asset runs
|
|
208
|
+
|
|
209
|
+
Returns:
|
|
210
|
+
DataReviewBuilder instance to continue building a data review with
|
|
211
|
+
|
|
212
|
+
Raises:
|
|
213
|
+
ValueError: If the given run has multiple associated assets and no asset was specified, or
|
|
214
|
+
if the run has an asset that differs from the provided asset.
|
|
215
|
+
"""
|
|
216
|
+
checklist_rid = rid_from_instance_or_string(checklist)
|
|
217
|
+
run_rid = rid_from_instance_or_string(run)
|
|
218
|
+
asset_rid = None if asset is None else rid_from_instance_or_string(asset)
|
|
219
|
+
|
|
220
|
+
raw_run = self._clients.run.get_run(self._clients.auth_header, run_rid)
|
|
221
|
+
if len(raw_run.assets) > 1 and asset is None:
|
|
222
|
+
raise ValueError(
|
|
223
|
+
f"Cannot run data review on checklist {checklist_rid} and {run_rid} without specifying `asset_rid`: "
|
|
224
|
+
f"run has {len(raw_run.assets)} assets!"
|
|
225
|
+
)
|
|
226
|
+
elif len(raw_run.assets) == 1 and asset_rid is not None:
|
|
227
|
+
raw_asset_rid = raw_run.assets[0]
|
|
228
|
+
if raw_asset_rid != asset_rid:
|
|
229
|
+
raise ValueError(
|
|
230
|
+
f"Cannot run data review on checklist {checklist_rid} and {run_rid} with asset {asset_rid}: "
|
|
231
|
+
f"run has a different asset {raw_asset_rid}!"
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
self._requests.append(
|
|
235
|
+
scout_datareview_api.CreateDataReviewRequest(
|
|
236
|
+
checklist_rid=checklist_rid,
|
|
237
|
+
run_rid=run_rid,
|
|
238
|
+
asset_rid=asset_rid,
|
|
239
|
+
commit=commit,
|
|
240
|
+
)
|
|
241
|
+
)
|
|
167
242
|
return self
|
|
168
243
|
|
|
169
244
|
def add_tags(self, tags: list[str]) -> DataReviewBuilder:
|
|
@@ -174,8 +249,7 @@ class DataReviewBuilder:
|
|
|
174
249
|
"""Initiates a batch data review process.
|
|
175
250
|
|
|
176
251
|
Args:
|
|
177
|
-
wait_for_completion
|
|
178
|
-
Default is True.
|
|
252
|
+
wait_for_completion: If True, waits for the data review process to complete before returning.
|
|
179
253
|
"""
|
|
180
254
|
request = scout_datareview_api.BatchInitiateDataReviewRequest(
|
|
181
255
|
notification_configurations=[
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "nominal"
|
|
3
|
-
version = "1.104.
|
|
3
|
+
version = "1.104.2"
|
|
4
4
|
description = "Automate Nominal workflows in Python"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Alexander Reynolds", email = "alex.reynolds@nominal.io" },
|
|
@@ -49,6 +49,8 @@ dependencies = [
|
|
|
49
49
|
# list only the exact platforms supported
|
|
50
50
|
# TODO(drake): support more architectures and clean up dependency markers.
|
|
51
51
|
"nominal-streaming==0.5.8; platform_python_implementation=='CPython' and python_version>='3.10' and ((sys_platform=='win32' and platform_machine=='AMD64') or (sys_platform=='darwin' and platform_machine=='arm64') or (sys_platform=='linux' and (platform_machine=='x86_64' or platform_machine=='armv7l')))",
|
|
52
|
+
# Explicitly specifying urllib3 version to handle CVE present in earlier versions
|
|
53
|
+
"urllib3==2.6.3",
|
|
52
54
|
]
|
|
53
55
|
|
|
54
56
|
|
|
@@ -173,10 +175,6 @@ disable_error_code = ["no-untyped-def"]
|
|
|
173
175
|
[tool.pytest.ini_options]
|
|
174
176
|
filterwarnings = [
|
|
175
177
|
"error", # transform all warnings into errors, except ignore: ones.
|
|
176
|
-
# DeprecationWarning: The 'strict' parameter is no longer needed on Python 3+. This will raise an error in urllib3 v2.1.0.
|
|
177
|
-
# from conjure-python-client, in conjure_python_client/_http/requests_client.py,
|
|
178
|
-
# TransportAdapter.init_poolmanager() uses urllib3.poolmanager.PoolManager(..., strict=True) which is deprecated.
|
|
179
|
-
"ignore:The 'strict' parameter is no longer needed on Python 3+.",
|
|
180
178
|
]
|
|
181
179
|
testpaths = ["tests"]
|
|
182
180
|
# make tests/e2e opt-in (they require a Nominal instance)
|
|
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.104.0 → nominal-1.104.2}/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.104.0 → nominal-1.104.2}/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
|