dtlpy 1.115.44__py3-none-any.whl → 1.116.6__py3-none-any.whl
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.
- dtlpy/__init__.py +491 -491
- dtlpy/__version__.py +1 -1
- dtlpy/assets/__init__.py +26 -26
- dtlpy/assets/code_server/config.yaml +2 -2
- dtlpy/assets/code_server/installation.sh +24 -24
- dtlpy/assets/code_server/launch.json +13 -13
- dtlpy/assets/code_server/settings.json +2 -2
- dtlpy/assets/main.py +53 -53
- dtlpy/assets/main_partial.py +18 -18
- dtlpy/assets/mock.json +11 -11
- dtlpy/assets/model_adapter.py +83 -83
- dtlpy/assets/package.json +61 -61
- dtlpy/assets/package_catalog.json +29 -29
- dtlpy/assets/package_gitignore +307 -307
- dtlpy/assets/service_runners/__init__.py +33 -33
- dtlpy/assets/service_runners/converter.py +96 -96
- dtlpy/assets/service_runners/multi_method.py +49 -49
- dtlpy/assets/service_runners/multi_method_annotation.py +54 -54
- dtlpy/assets/service_runners/multi_method_dataset.py +55 -55
- dtlpy/assets/service_runners/multi_method_item.py +52 -52
- dtlpy/assets/service_runners/multi_method_json.py +52 -52
- dtlpy/assets/service_runners/single_method.py +37 -37
- dtlpy/assets/service_runners/single_method_annotation.py +43 -43
- dtlpy/assets/service_runners/single_method_dataset.py +43 -43
- dtlpy/assets/service_runners/single_method_item.py +41 -41
- dtlpy/assets/service_runners/single_method_json.py +42 -42
- dtlpy/assets/service_runners/single_method_multi_input.py +45 -45
- dtlpy/assets/voc_annotation_template.xml +23 -23
- dtlpy/caches/base_cache.py +32 -32
- dtlpy/caches/cache.py +473 -473
- dtlpy/caches/dl_cache.py +201 -201
- dtlpy/caches/filesystem_cache.py +89 -89
- dtlpy/caches/redis_cache.py +84 -84
- dtlpy/dlp/__init__.py +20 -20
- dtlpy/dlp/cli_utilities.py +367 -367
- dtlpy/dlp/command_executor.py +764 -764
- dtlpy/dlp/dlp +1 -1
- dtlpy/dlp/dlp.bat +1 -1
- dtlpy/dlp/dlp.py +128 -128
- dtlpy/dlp/parser.py +651 -651
- dtlpy/entities/__init__.py +83 -83
- dtlpy/entities/analytic.py +347 -347
- dtlpy/entities/annotation.py +1879 -1879
- dtlpy/entities/annotation_collection.py +699 -699
- dtlpy/entities/annotation_definitions/__init__.py +20 -20
- dtlpy/entities/annotation_definitions/base_annotation_definition.py +100 -100
- dtlpy/entities/annotation_definitions/box.py +195 -195
- dtlpy/entities/annotation_definitions/classification.py +67 -67
- dtlpy/entities/annotation_definitions/comparison.py +72 -72
- dtlpy/entities/annotation_definitions/cube.py +204 -204
- dtlpy/entities/annotation_definitions/cube_3d.py +149 -149
- dtlpy/entities/annotation_definitions/description.py +32 -32
- dtlpy/entities/annotation_definitions/ellipse.py +124 -124
- dtlpy/entities/annotation_definitions/free_text.py +62 -62
- dtlpy/entities/annotation_definitions/gis.py +69 -69
- dtlpy/entities/annotation_definitions/note.py +139 -139
- dtlpy/entities/annotation_definitions/point.py +117 -117
- dtlpy/entities/annotation_definitions/polygon.py +182 -182
- dtlpy/entities/annotation_definitions/polyline.py +111 -111
- dtlpy/entities/annotation_definitions/pose.py +92 -92
- dtlpy/entities/annotation_definitions/ref_image.py +86 -86
- dtlpy/entities/annotation_definitions/segmentation.py +240 -240
- dtlpy/entities/annotation_definitions/subtitle.py +34 -34
- dtlpy/entities/annotation_definitions/text.py +85 -85
- dtlpy/entities/annotation_definitions/undefined_annotation.py +74 -74
- dtlpy/entities/app.py +220 -220
- dtlpy/entities/app_module.py +107 -107
- dtlpy/entities/artifact.py +174 -174
- dtlpy/entities/assignment.py +399 -399
- dtlpy/entities/base_entity.py +214 -214
- dtlpy/entities/bot.py +113 -113
- dtlpy/entities/codebase.py +292 -292
- dtlpy/entities/collection.py +38 -38
- dtlpy/entities/command.py +169 -169
- dtlpy/entities/compute.py +449 -449
- dtlpy/entities/dataset.py +1299 -1299
- dtlpy/entities/directory_tree.py +44 -44
- dtlpy/entities/dpk.py +470 -470
- dtlpy/entities/driver.py +235 -235
- dtlpy/entities/execution.py +397 -397
- dtlpy/entities/feature.py +124 -124
- dtlpy/entities/feature_set.py +145 -145
- dtlpy/entities/filters.py +798 -798
- dtlpy/entities/gis_item.py +107 -107
- dtlpy/entities/integration.py +184 -184
- dtlpy/entities/item.py +959 -959
- dtlpy/entities/label.py +123 -123
- dtlpy/entities/links.py +85 -85
- dtlpy/entities/message.py +175 -175
- dtlpy/entities/model.py +684 -684
- dtlpy/entities/node.py +1005 -1005
- dtlpy/entities/ontology.py +810 -803
- dtlpy/entities/organization.py +287 -287
- dtlpy/entities/package.py +657 -657
- dtlpy/entities/package_defaults.py +5 -5
- dtlpy/entities/package_function.py +185 -185
- dtlpy/entities/package_module.py +113 -113
- dtlpy/entities/package_slot.py +118 -118
- dtlpy/entities/paged_entities.py +299 -299
- dtlpy/entities/pipeline.py +624 -624
- dtlpy/entities/pipeline_execution.py +279 -279
- dtlpy/entities/project.py +394 -394
- dtlpy/entities/prompt_item.py +505 -505
- dtlpy/entities/recipe.py +301 -301
- dtlpy/entities/reflect_dict.py +102 -102
- dtlpy/entities/resource_execution.py +138 -138
- dtlpy/entities/service.py +963 -963
- dtlpy/entities/service_driver.py +117 -117
- dtlpy/entities/setting.py +294 -294
- dtlpy/entities/task.py +495 -495
- dtlpy/entities/time_series.py +143 -143
- dtlpy/entities/trigger.py +426 -426
- dtlpy/entities/user.py +118 -118
- dtlpy/entities/webhook.py +124 -124
- dtlpy/examples/__init__.py +19 -19
- dtlpy/examples/add_labels.py +135 -135
- dtlpy/examples/add_metadata_to_item.py +21 -21
- dtlpy/examples/annotate_items_using_model.py +65 -65
- dtlpy/examples/annotate_video_using_model_and_tracker.py +75 -75
- dtlpy/examples/annotations_convert_to_voc.py +9 -9
- dtlpy/examples/annotations_convert_to_yolo.py +9 -9
- dtlpy/examples/convert_annotation_types.py +51 -51
- dtlpy/examples/converter.py +143 -143
- dtlpy/examples/copy_annotations.py +22 -22
- dtlpy/examples/copy_folder.py +31 -31
- dtlpy/examples/create_annotations.py +51 -51
- dtlpy/examples/create_video_annotations.py +83 -83
- dtlpy/examples/delete_annotations.py +26 -26
- dtlpy/examples/filters.py +113 -113
- dtlpy/examples/move_item.py +23 -23
- dtlpy/examples/play_video_annotation.py +13 -13
- dtlpy/examples/show_item_and_mask.py +53 -53
- dtlpy/examples/triggers.py +49 -49
- dtlpy/examples/upload_batch_of_items.py +20 -20
- dtlpy/examples/upload_items_and_custom_format_annotations.py +55 -55
- dtlpy/examples/upload_items_with_modalities.py +43 -43
- dtlpy/examples/upload_segmentation_annotations_from_mask_image.py +44 -44
- dtlpy/examples/upload_yolo_format_annotations.py +70 -70
- dtlpy/exceptions.py +125 -125
- dtlpy/miscellaneous/__init__.py +20 -20
- dtlpy/miscellaneous/dict_differ.py +95 -95
- dtlpy/miscellaneous/git_utils.py +217 -217
- dtlpy/miscellaneous/json_utils.py +14 -14
- dtlpy/miscellaneous/list_print.py +105 -105
- dtlpy/miscellaneous/zipping.py +130 -130
- dtlpy/ml/__init__.py +20 -20
- dtlpy/ml/base_feature_extractor_adapter.py +27 -27
- dtlpy/ml/base_model_adapter.py +1257 -1230
- dtlpy/ml/metrics.py +461 -461
- dtlpy/ml/predictions_utils.py +274 -274
- dtlpy/ml/summary_writer.py +57 -57
- dtlpy/ml/train_utils.py +60 -60
- dtlpy/new_instance.py +252 -252
- dtlpy/repositories/__init__.py +56 -56
- dtlpy/repositories/analytics.py +85 -85
- dtlpy/repositories/annotations.py +916 -916
- dtlpy/repositories/apps.py +383 -383
- dtlpy/repositories/artifacts.py +452 -452
- dtlpy/repositories/assignments.py +599 -599
- dtlpy/repositories/bots.py +213 -213
- dtlpy/repositories/codebases.py +559 -559
- dtlpy/repositories/collections.py +332 -332
- dtlpy/repositories/commands.py +152 -152
- dtlpy/repositories/compositions.py +61 -61
- dtlpy/repositories/computes.py +439 -439
- dtlpy/repositories/datasets.py +1504 -1504
- dtlpy/repositories/downloader.py +976 -923
- dtlpy/repositories/dpks.py +433 -433
- dtlpy/repositories/drivers.py +482 -482
- dtlpy/repositories/executions.py +815 -815
- dtlpy/repositories/feature_sets.py +226 -226
- dtlpy/repositories/features.py +255 -255
- dtlpy/repositories/integrations.py +484 -484
- dtlpy/repositories/items.py +912 -912
- dtlpy/repositories/messages.py +94 -94
- dtlpy/repositories/models.py +1000 -1000
- dtlpy/repositories/nodes.py +80 -80
- dtlpy/repositories/ontologies.py +511 -511
- dtlpy/repositories/organizations.py +525 -525
- dtlpy/repositories/packages.py +1941 -1941
- dtlpy/repositories/pipeline_executions.py +451 -451
- dtlpy/repositories/pipelines.py +640 -640
- dtlpy/repositories/projects.py +539 -539
- dtlpy/repositories/recipes.py +419 -399
- dtlpy/repositories/resource_executions.py +137 -137
- dtlpy/repositories/schema.py +120 -120
- dtlpy/repositories/service_drivers.py +213 -213
- dtlpy/repositories/services.py +1704 -1704
- dtlpy/repositories/settings.py +339 -339
- dtlpy/repositories/tasks.py +1477 -1477
- dtlpy/repositories/times_series.py +278 -278
- dtlpy/repositories/triggers.py +536 -536
- dtlpy/repositories/upload_element.py +257 -257
- dtlpy/repositories/uploader.py +661 -661
- dtlpy/repositories/webhooks.py +249 -249
- dtlpy/services/__init__.py +22 -22
- dtlpy/services/aihttp_retry.py +131 -131
- dtlpy/services/api_client.py +1785 -1785
- dtlpy/services/api_reference.py +40 -40
- dtlpy/services/async_utils.py +133 -133
- dtlpy/services/calls_counter.py +44 -44
- dtlpy/services/check_sdk.py +68 -68
- dtlpy/services/cookie.py +115 -115
- dtlpy/services/create_logger.py +156 -156
- dtlpy/services/events.py +84 -84
- dtlpy/services/logins.py +235 -235
- dtlpy/services/reporter.py +256 -256
- dtlpy/services/service_defaults.py +91 -91
- dtlpy/utilities/__init__.py +20 -20
- dtlpy/utilities/annotations/__init__.py +16 -16
- dtlpy/utilities/annotations/annotation_converters.py +269 -269
- dtlpy/utilities/base_package_runner.py +285 -264
- dtlpy/utilities/converter.py +1650 -1650
- dtlpy/utilities/dataset_generators/__init__.py +1 -1
- dtlpy/utilities/dataset_generators/dataset_generator.py +670 -670
- dtlpy/utilities/dataset_generators/dataset_generator_tensorflow.py +23 -23
- dtlpy/utilities/dataset_generators/dataset_generator_torch.py +21 -21
- dtlpy/utilities/local_development/__init__.py +1 -1
- dtlpy/utilities/local_development/local_session.py +179 -179
- dtlpy/utilities/reports/__init__.py +2 -2
- dtlpy/utilities/reports/figures.py +343 -343
- dtlpy/utilities/reports/report.py +71 -71
- dtlpy/utilities/videos/__init__.py +17 -17
- dtlpy/utilities/videos/video_player.py +598 -598
- dtlpy/utilities/videos/videos.py +470 -470
- {dtlpy-1.115.44.data → dtlpy-1.116.6.data}/scripts/dlp +1 -1
- dtlpy-1.116.6.data/scripts/dlp.bat +2 -0
- {dtlpy-1.115.44.data → dtlpy-1.116.6.data}/scripts/dlp.py +128 -128
- {dtlpy-1.115.44.dist-info → dtlpy-1.116.6.dist-info}/METADATA +186 -186
- dtlpy-1.116.6.dist-info/RECORD +239 -0
- {dtlpy-1.115.44.dist-info → dtlpy-1.116.6.dist-info}/WHEEL +1 -1
- {dtlpy-1.115.44.dist-info → dtlpy-1.116.6.dist-info}/licenses/LICENSE +200 -200
- tests/features/environment.py +551 -551
- dtlpy/assets/__pycache__/__init__.cpython-310.pyc +0 -0
- dtlpy-1.115.44.data/scripts/dlp.bat +0 -2
- dtlpy-1.115.44.dist-info/RECORD +0 -240
- {dtlpy-1.115.44.dist-info → dtlpy-1.116.6.dist-info}/entry_points.txt +0 -0
- {dtlpy-1.115.44.dist-info → dtlpy-1.116.6.dist-info}/top_level.txt +0 -0
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import json
|
|
3
|
-
import numpy as np
|
|
4
|
-
import dtlpy as dl
|
|
5
|
-
import tempfile
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class Report:
|
|
9
|
-
def __init__(self, nrows: int = 1, ncols: int = 1):
|
|
10
|
-
"""
|
|
11
|
-
Create a report layout with defined size
|
|
12
|
-
:param int nrows: number of rows in the report json
|
|
13
|
-
:param int ncols: number of columns in the report json
|
|
14
|
-
"""
|
|
15
|
-
self.figs = np.empty(shape=(nrows, ncols), dtype=object)
|
|
16
|
-
self._ncols = ncols
|
|
17
|
-
self._nrows = nrows
|
|
18
|
-
self._irow = 0
|
|
19
|
-
self._icol = 0
|
|
20
|
-
|
|
21
|
-
def add(self, fig, irow: int, icol: int):
|
|
22
|
-
"""
|
|
23
|
-
Add fig to to an index location in the layout
|
|
24
|
-
|
|
25
|
-
:param fig: input figure.
|
|
26
|
-
:param int irow: row location of the added fig. should be within the layout boundaries defined in the Report init
|
|
27
|
-
:param int icol: column location of the added fig. should be within the layout boundaries defined in the Report init
|
|
28
|
-
:return:
|
|
29
|
-
"""
|
|
30
|
-
if 0 > irow or irow >= self._nrows:
|
|
31
|
-
raise ValueError(
|
|
32
|
-
'Trying to set irow with value outside layout definition. layout rows: {}'.format(self._nrows))
|
|
33
|
-
if 0 > icol or icol >= self._ncols:
|
|
34
|
-
raise ValueError(
|
|
35
|
-
'Trying to set icol with value outside layout definition. layout cols: {}'.format(self._ncols))
|
|
36
|
-
self.figs[irow, icol] = fig.to_dict()
|
|
37
|
-
|
|
38
|
-
def prepare(self):
|
|
39
|
-
"""
|
|
40
|
-
Covert the layout into the json item for uploading
|
|
41
|
-
|
|
42
|
-
:return:
|
|
43
|
-
"""
|
|
44
|
-
return {
|
|
45
|
-
"shebang": "dataloop",
|
|
46
|
-
"metadata": {"dltype": "report"},
|
|
47
|
-
"layout": {
|
|
48
|
-
"rows": [{"cols": [fig for fig in row if fig is not None]} for row in self.figs]
|
|
49
|
-
# "rows": [{"cols": [report_json]}]
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
def upload(self, dataset: dl.Dataset, remote_name: str, remote_path: str):
|
|
54
|
-
"""
|
|
55
|
-
Upload the report item to the platform
|
|
56
|
-
|
|
57
|
-
:param dataset: dl.Dataset to upload the item to
|
|
58
|
-
:param remote_name: name of the report. should be with .json extension
|
|
59
|
-
:param remote_path: remote directory to upload the item to
|
|
60
|
-
:return:
|
|
61
|
-
"""
|
|
62
|
-
with tempfile.TemporaryDirectory() as tmpdir:
|
|
63
|
-
filepath = os.path.join(tmpdir, remote_name)
|
|
64
|
-
print(filepath)
|
|
65
|
-
with open(filepath, 'w') as f:
|
|
66
|
-
json.dump(self.prepare(), f)
|
|
67
|
-
item = dataset.items.upload(local_path=filepath,
|
|
68
|
-
remote_path=remote_path,
|
|
69
|
-
remote_name=remote_name,
|
|
70
|
-
overwrite=True)
|
|
71
|
-
return item
|
|
1
|
+
import os
|
|
2
|
+
import json
|
|
3
|
+
import numpy as np
|
|
4
|
+
import dtlpy as dl
|
|
5
|
+
import tempfile
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Report:
|
|
9
|
+
def __init__(self, nrows: int = 1, ncols: int = 1):
|
|
10
|
+
"""
|
|
11
|
+
Create a report layout with defined size
|
|
12
|
+
:param int nrows: number of rows in the report json
|
|
13
|
+
:param int ncols: number of columns in the report json
|
|
14
|
+
"""
|
|
15
|
+
self.figs = np.empty(shape=(nrows, ncols), dtype=object)
|
|
16
|
+
self._ncols = ncols
|
|
17
|
+
self._nrows = nrows
|
|
18
|
+
self._irow = 0
|
|
19
|
+
self._icol = 0
|
|
20
|
+
|
|
21
|
+
def add(self, fig, irow: int, icol: int):
|
|
22
|
+
"""
|
|
23
|
+
Add fig to to an index location in the layout
|
|
24
|
+
|
|
25
|
+
:param fig: input figure.
|
|
26
|
+
:param int irow: row location of the added fig. should be within the layout boundaries defined in the Report init
|
|
27
|
+
:param int icol: column location of the added fig. should be within the layout boundaries defined in the Report init
|
|
28
|
+
:return:
|
|
29
|
+
"""
|
|
30
|
+
if 0 > irow or irow >= self._nrows:
|
|
31
|
+
raise ValueError(
|
|
32
|
+
'Trying to set irow with value outside layout definition. layout rows: {}'.format(self._nrows))
|
|
33
|
+
if 0 > icol or icol >= self._ncols:
|
|
34
|
+
raise ValueError(
|
|
35
|
+
'Trying to set icol with value outside layout definition. layout cols: {}'.format(self._ncols))
|
|
36
|
+
self.figs[irow, icol] = fig.to_dict()
|
|
37
|
+
|
|
38
|
+
def prepare(self):
|
|
39
|
+
"""
|
|
40
|
+
Covert the layout into the json item for uploading
|
|
41
|
+
|
|
42
|
+
:return:
|
|
43
|
+
"""
|
|
44
|
+
return {
|
|
45
|
+
"shebang": "dataloop",
|
|
46
|
+
"metadata": {"dltype": "report"},
|
|
47
|
+
"layout": {
|
|
48
|
+
"rows": [{"cols": [fig for fig in row if fig is not None]} for row in self.figs]
|
|
49
|
+
# "rows": [{"cols": [report_json]}]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
def upload(self, dataset: dl.Dataset, remote_name: str, remote_path: str):
|
|
54
|
+
"""
|
|
55
|
+
Upload the report item to the platform
|
|
56
|
+
|
|
57
|
+
:param dataset: dl.Dataset to upload the item to
|
|
58
|
+
:param remote_name: name of the report. should be with .json extension
|
|
59
|
+
:param remote_path: remote directory to upload the item to
|
|
60
|
+
:return:
|
|
61
|
+
"""
|
|
62
|
+
with tempfile.TemporaryDirectory() as tmpdir:
|
|
63
|
+
filepath = os.path.join(tmpdir, remote_name)
|
|
64
|
+
print(filepath)
|
|
65
|
+
with open(filepath, 'w') as f:
|
|
66
|
+
json.dump(self.prepare(), f)
|
|
67
|
+
item = dataset.items.upload(local_path=filepath,
|
|
68
|
+
remote_path=remote_path,
|
|
69
|
+
remote_name=remote_name,
|
|
70
|
+
overwrite=True)
|
|
71
|
+
return item
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
#! /usr/bin/env python3
|
|
2
|
-
# This file is part of DTLPY.
|
|
3
|
-
#
|
|
4
|
-
# DTLPY is free software: you can redistribute it and/or modify
|
|
5
|
-
# it under the terms of the GNU General Public License as published by
|
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
|
7
|
-
# (at your option) any later version.
|
|
8
|
-
#
|
|
9
|
-
# DTLPY is distributed in the hope that it will be useful,
|
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
-
# GNU General Public License for more details.
|
|
13
|
-
#
|
|
14
|
-
# You should have received a copy of the GNU General Public License
|
|
15
|
-
# along with DTLPY. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
-
from .video_player import VideoPlayer
|
|
17
|
-
from .videos import Videos
|
|
1
|
+
#! /usr/bin/env python3
|
|
2
|
+
# This file is part of DTLPY.
|
|
3
|
+
#
|
|
4
|
+
# DTLPY is free software: you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
# (at your option) any later version.
|
|
8
|
+
#
|
|
9
|
+
# DTLPY is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with DTLPY. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
from .video_player import VideoPlayer
|
|
17
|
+
from .videos import Videos
|