das-cli 1.0.15__tar.gz → 1.2.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.
- {das_cli-1.0.15/das_cli.egg-info → das_cli-1.2.2}/PKG-INFO +24 -2
- {das_cli-1.0.15 → das_cli-1.2.2}/README.md +23 -1
- {das_cli-1.0.15 → das_cli-1.2.2}/das/ai/plugins/dasai.py +11 -2
- {das_cli-1.0.15 → das_cli-1.2.2}/das/cli.py +1234 -1152
- {das_cli-1.0.15 → das_cli-1.2.2}/das/common/api.py +20 -0
- das_cli-1.2.2/das/managers/digital_objects_manager.py +84 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/managers/download_manager.py +43 -1
- {das_cli-1.0.15 → das_cli-1.2.2}/das/managers/entries_manager.py +17 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/managers/search_manager.py +0 -1
- das_cli-1.2.2/das/services/digital_objects.py +142 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/downloads.py +101 -84
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/entries.py +29 -3
- {das_cli-1.0.15 → das_cli-1.2.2/das_cli.egg-info}/PKG-INFO +24 -2
- {das_cli-1.0.15 → das_cli-1.2.2}/das_cli.egg-info/SOURCES.txt +10 -1
- {das_cli-1.0.15 → das_cli-1.2.2}/pyproject.toml +1 -1
- das_cli-1.2.2/tests/__init__.py +3 -0
- das_cli-1.2.2/tests/attributes_test.py +77 -0
- das_cli-1.2.2/tests/download_manager_test.py +34 -0
- das_cli-1.2.2/tests/entries_manager_test.py +116 -0
- das_cli-1.2.2/tests/entries_service_test.py +86 -0
- das_cli-1.2.2/tests/entries_test.py +37 -0
- das_cli-1.2.2/tests/file_utils_test.py +115 -0
- das_cli-1.2.2/tests/run_tests.py +18 -0
- das_cli-1.2.2/tests/search_manager_test.py +35 -0
- das_cli-1.0.15/das/managers/digital_objects_manager.py +0 -46
- das_cli-1.0.15/das/services/digital_objects.py +0 -44
- {das_cli-1.0.15 → das_cli-1.2.2}/LICENSE +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/MANIFEST.in +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/__init__.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/ai/plugins/entries/entries_plugin.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/app.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/authentication/auth.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/authentication/secure_input.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/common/config.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/common/entry_fields_constants.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/common/enums.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/common/file_utils.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/managers/__init__.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/attributes.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/cache.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/entry_fields.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/hangfire.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/search.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das/services/users.py +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das_cli.egg-info/dependency_links.txt +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das_cli.egg-info/entry_points.txt +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das_cli.egg-info/requires.txt +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/das_cli.egg-info/top_level.txt +0 -0
- {das_cli-1.0.15 → das_cli-1.2.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: das-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: DAS api client.
|
|
5
5
|
Author: Royal Netherlands Institute for Sea Research
|
|
6
6
|
License-Expression: MIT
|
|
@@ -130,7 +130,11 @@ das entry get --code CODE
|
|
|
130
130
|
das entry get --id ID
|
|
131
131
|
|
|
132
132
|
# Delete an entry
|
|
133
|
-
das entry delete CODE
|
|
133
|
+
das entry delete --code CODE
|
|
134
|
+
# Or by ID
|
|
135
|
+
das entry delete --id ID
|
|
136
|
+
# Skip confirmation prompt
|
|
137
|
+
das entry delete --code CODE --force
|
|
134
138
|
|
|
135
139
|
# Create entries from file or data
|
|
136
140
|
das entry create --attribute <AttributeName> <file_path>
|
|
@@ -166,6 +170,13 @@ das entry update --attribute <AttributeName> [--code CODE] <file_path>
|
|
|
166
170
|
# das entry update --attribute core --data [{ 'Code': 'ENT001' }, { 'Code': 'ENT002' }]
|
|
167
171
|
```
|
|
168
172
|
|
|
173
|
+
#### Upload and link a digital object
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# Upload a file as a digital object and link it to an entry
|
|
177
|
+
das entry upload-digital-object --entry-code ENT001 --type Dataset --description "CTD raw" c:\data\ctd.zip
|
|
178
|
+
```
|
|
179
|
+
|
|
169
180
|
#### Link or unlink digital objects
|
|
170
181
|
|
|
171
182
|
```bash
|
|
@@ -275,6 +286,8 @@ results = search_manager.search_entries(
|
|
|
275
286
|
sort_order="asc",
|
|
276
287
|
)
|
|
277
288
|
|
|
289
|
+
|
|
290
|
+
|
|
278
291
|
# Downloads
|
|
279
292
|
from das.managers.download_manager import DownloadManager
|
|
280
293
|
download_manager = DownloadManager()
|
|
@@ -351,6 +364,15 @@ das download my-requests --format table
|
|
|
351
364
|
|
|
352
365
|
# Delete a download request
|
|
353
366
|
das download delete-request 6b0e68e6-00cd-43a7-9c51-d56c9c091123
|
|
367
|
+
|
|
368
|
+
# Download files for a completed request
|
|
369
|
+
das download files 6b0e68e6-00cd-43a7-9c51-d56c9c091123
|
|
370
|
+
|
|
371
|
+
# Save to a specific folder
|
|
372
|
+
das download files 6b0e68e6-00cd-43a7-9c51-d56c9c091123 --out C:\Downloads
|
|
373
|
+
|
|
374
|
+
# Save to an explicit filename, overwriting if it exists
|
|
375
|
+
das download files 6b0e68e6-00cd-43a7-9c51-d56c9c091123 --out C:\Downloads\bundle.zip --force
|
|
354
376
|
```
|
|
355
377
|
|
|
356
378
|
## Examples
|
|
@@ -107,7 +107,11 @@ das entry get --code CODE
|
|
|
107
107
|
das entry get --id ID
|
|
108
108
|
|
|
109
109
|
# Delete an entry
|
|
110
|
-
das entry delete CODE
|
|
110
|
+
das entry delete --code CODE
|
|
111
|
+
# Or by ID
|
|
112
|
+
das entry delete --id ID
|
|
113
|
+
# Skip confirmation prompt
|
|
114
|
+
das entry delete --code CODE --force
|
|
111
115
|
|
|
112
116
|
# Create entries from file or data
|
|
113
117
|
das entry create --attribute <AttributeName> <file_path>
|
|
@@ -143,6 +147,13 @@ das entry update --attribute <AttributeName> [--code CODE] <file_path>
|
|
|
143
147
|
# das entry update --attribute core --data [{ 'Code': 'ENT001' }, { 'Code': 'ENT002' }]
|
|
144
148
|
```
|
|
145
149
|
|
|
150
|
+
#### Upload and link a digital object
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Upload a file as a digital object and link it to an entry
|
|
154
|
+
das entry upload-digital-object --entry-code ENT001 --type Dataset --description "CTD raw" c:\data\ctd.zip
|
|
155
|
+
```
|
|
156
|
+
|
|
146
157
|
#### Link or unlink digital objects
|
|
147
158
|
|
|
148
159
|
```bash
|
|
@@ -252,6 +263,8 @@ results = search_manager.search_entries(
|
|
|
252
263
|
sort_order="asc",
|
|
253
264
|
)
|
|
254
265
|
|
|
266
|
+
|
|
267
|
+
|
|
255
268
|
# Downloads
|
|
256
269
|
from das.managers.download_manager import DownloadManager
|
|
257
270
|
download_manager = DownloadManager()
|
|
@@ -328,6 +341,15 @@ das download my-requests --format table
|
|
|
328
341
|
|
|
329
342
|
# Delete a download request
|
|
330
343
|
das download delete-request 6b0e68e6-00cd-43a7-9c51-d56c9c091123
|
|
344
|
+
|
|
345
|
+
# Download files for a completed request
|
|
346
|
+
das download files 6b0e68e6-00cd-43a7-9c51-d56c9c091123
|
|
347
|
+
|
|
348
|
+
# Save to a specific folder
|
|
349
|
+
das download files 6b0e68e6-00cd-43a7-9c51-d56c9c091123 --out C:\Downloads
|
|
350
|
+
|
|
351
|
+
# Save to an explicit filename, overwriting if it exists
|
|
352
|
+
das download files 6b0e68e6-00cd-43a7-9c51-d56c9c091123 --out C:\Downloads\bundle.zip --force
|
|
331
353
|
```
|
|
332
354
|
|
|
333
355
|
## Examples
|
|
@@ -3,6 +3,7 @@ import logging
|
|
|
3
3
|
from dotenv import load_dotenv
|
|
4
4
|
import asyncio
|
|
5
5
|
from semantic_kernel import Kernel
|
|
6
|
+
from openai import OpenAI
|
|
6
7
|
from semantic_kernel.connectors.ai.open_ai import (
|
|
7
8
|
OpenAIChatCompletion,
|
|
8
9
|
)
|
|
@@ -22,9 +23,17 @@ class DasAI:
|
|
|
22
23
|
api_key = os.getenv("OPENAI_API_KEY") or load_openai_api_key()
|
|
23
24
|
if not api_key:
|
|
24
25
|
raise ValueError("OpenAI API key is not configured.")
|
|
25
|
-
self.openai_chat_completion = OpenAIChatCompletion(ai_model_id="
|
|
26
|
+
self.openai_chat_completion = OpenAIChatCompletion(ai_model_id=os.getenv("OPEN_AI_MODEL_ID"), api_key=api_key)
|
|
26
27
|
self.kernel.add_service(self.openai_chat_completion)
|
|
27
|
-
self.kernel.add_plugin(GetEntryByCodePlugin(), plugin_name="get_entry_by_code")
|
|
28
|
+
self.kernel.add_plugin(GetEntryByCodePlugin(), plugin_name="get_entry_by_code")
|
|
29
|
+
# self.__load_available_models()
|
|
30
|
+
|
|
31
|
+
def __load_available_models(self):
|
|
32
|
+
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY") or load_openai_api_key())
|
|
33
|
+
models = client.models.list()
|
|
34
|
+
for model in models:
|
|
35
|
+
print(model.id)
|
|
36
|
+
|
|
28
37
|
|
|
29
38
|
async def main(self):
|
|
30
39
|
history = ChatHistory()
|