fleet-python 0.2.56__py3-none-any.whl → 0.2.58__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.
Potentially problematic release.
This version of fleet-python might be problematic. Click here for more details.
- examples/export_tasks.py +18 -0
- fleet/_async/client.py +20 -1
- fleet/client.py +20 -1
- {fleet_python-0.2.56.dist-info → fleet_python-0.2.58.dist-info}/METADATA +1 -1
- {fleet_python-0.2.56.dist-info → fleet_python-0.2.58.dist-info}/RECORD +8 -8
- {fleet_python-0.2.56.dist-info → fleet_python-0.2.58.dist-info}/WHEEL +0 -0
- {fleet_python-0.2.56.dist-info → fleet_python-0.2.58.dist-info}/licenses/LICENSE +0 -0
- {fleet_python-0.2.56.dist-info → fleet_python-0.2.58.dist-info}/top_level.txt +0 -0
examples/export_tasks.py
CHANGED
|
@@ -14,6 +14,13 @@ def main():
|
|
|
14
14
|
help="Optional project key to filter tasks",
|
|
15
15
|
default=None,
|
|
16
16
|
)
|
|
17
|
+
parser.add_argument(
|
|
18
|
+
"--task-keys",
|
|
19
|
+
"-t",
|
|
20
|
+
nargs="+",
|
|
21
|
+
help="Optional list of task keys to export (space-separated)",
|
|
22
|
+
default=None,
|
|
23
|
+
)
|
|
17
24
|
parser.add_argument(
|
|
18
25
|
"--output",
|
|
19
26
|
"-o",
|
|
@@ -23,6 +30,12 @@ def main():
|
|
|
23
30
|
|
|
24
31
|
args = parser.parse_args()
|
|
25
32
|
|
|
33
|
+
# Validate that only one filter is specified
|
|
34
|
+
if args.project_key and args.task_keys:
|
|
35
|
+
parser.error(
|
|
36
|
+
"Cannot specify both --project-key and --task-keys. Use one or neither."
|
|
37
|
+
)
|
|
38
|
+
|
|
26
39
|
# Get account info
|
|
27
40
|
account = fleet.env.account()
|
|
28
41
|
print(f"Exporting from team: {account.team_name}")
|
|
@@ -31,6 +44,11 @@ def main():
|
|
|
31
44
|
if args.project_key:
|
|
32
45
|
print(f"Loading tasks from project: {args.project_key}")
|
|
33
46
|
tasks = fleet.load_tasks(project_key=args.project_key)
|
|
47
|
+
elif args.task_keys:
|
|
48
|
+
print(
|
|
49
|
+
f"Loading {len(args.task_keys)} specific task(s): {', '.join(args.task_keys)}"
|
|
50
|
+
)
|
|
51
|
+
tasks = fleet.load_tasks(keys=args.task_keys)
|
|
34
52
|
else:
|
|
35
53
|
print("Loading all tasks")
|
|
36
54
|
tasks = fleet.load_tasks()
|
fleet/_async/client.py
CHANGED
|
@@ -333,9 +333,26 @@ class AsyncFleet:
|
|
|
333
333
|
) -> Task:
|
|
334
334
|
verifier = None
|
|
335
335
|
verifier_code = task_json.get("verifier_func") or task_json.get("verifier_code")
|
|
336
|
+
verifier_sha = task_json.get("verifier_sha", "")
|
|
337
|
+
|
|
338
|
+
# Check if verifier is a nested object with code inside
|
|
339
|
+
if not verifier_code and "verifier" in task_json:
|
|
340
|
+
verifier_obj = task_json["verifier"]
|
|
341
|
+
if isinstance(verifier_obj, dict):
|
|
342
|
+
verifier_code = verifier_obj.get("code")
|
|
343
|
+
# Also extract sha256 from nested verifier if not found at top level
|
|
344
|
+
if not verifier_sha:
|
|
345
|
+
verifier_sha = verifier_obj.get("sha256", "")
|
|
336
346
|
|
|
337
347
|
# Try to find verifier_id in multiple locations
|
|
338
348
|
verifier_id = task_json.get("verifier_id")
|
|
349
|
+
|
|
350
|
+
# Check nested verifier object for verifier_id
|
|
351
|
+
if not verifier_id and "verifier" in task_json:
|
|
352
|
+
verifier_obj = task_json["verifier"]
|
|
353
|
+
if isinstance(verifier_obj, dict):
|
|
354
|
+
verifier_id = verifier_obj.get("verifier_id")
|
|
355
|
+
|
|
339
356
|
if (
|
|
340
357
|
not verifier_id
|
|
341
358
|
and "metadata" in task_json
|
|
@@ -355,7 +372,7 @@ class AsyncFleet:
|
|
|
355
372
|
verifier_id=verifier_id,
|
|
356
373
|
verifier_key=task_json.get("key", task_json.get("id")),
|
|
357
374
|
verifier_code=verifier_code,
|
|
358
|
-
verifier_sha=
|
|
375
|
+
verifier_sha=verifier_sha,
|
|
359
376
|
)
|
|
360
377
|
except Exception as e:
|
|
361
378
|
error_msg = f"Failed to create verifier {task_json.get('key', task_json.get('id'))}: {e}"
|
|
@@ -377,6 +394,8 @@ class AsyncFleet:
|
|
|
377
394
|
env_variables=task_json.get("env_variables", {}),
|
|
378
395
|
verifier_func=verifier_code, # Set verifier code
|
|
379
396
|
verifier=verifier, # Use created verifier or None
|
|
397
|
+
verifier_id=verifier_id, # Set verifier_id so _rebuild_verifier works
|
|
398
|
+
verifier_sha=verifier_sha, # Set verifier_sha
|
|
380
399
|
metadata=task_json.get("metadata", {}), # Default empty metadata
|
|
381
400
|
)
|
|
382
401
|
return task
|
fleet/client.py
CHANGED
|
@@ -331,9 +331,26 @@ class Fleet:
|
|
|
331
331
|
) -> Task:
|
|
332
332
|
verifier = None
|
|
333
333
|
verifier_code = task_json.get("verifier_func") or task_json.get("verifier_code")
|
|
334
|
+
verifier_sha = task_json.get("verifier_sha", "")
|
|
335
|
+
|
|
336
|
+
# Check if verifier is a nested object with code inside
|
|
337
|
+
if not verifier_code and "verifier" in task_json:
|
|
338
|
+
verifier_obj = task_json["verifier"]
|
|
339
|
+
if isinstance(verifier_obj, dict):
|
|
340
|
+
verifier_code = verifier_obj.get("code")
|
|
341
|
+
# Also extract sha256 from nested verifier if not found at top level
|
|
342
|
+
if not verifier_sha:
|
|
343
|
+
verifier_sha = verifier_obj.get("sha256", "")
|
|
334
344
|
|
|
335
345
|
# Try to find verifier_id in multiple locations
|
|
336
346
|
verifier_id = task_json.get("verifier_id")
|
|
347
|
+
|
|
348
|
+
# Check nested verifier object for verifier_id
|
|
349
|
+
if not verifier_id and "verifier" in task_json:
|
|
350
|
+
verifier_obj = task_json["verifier"]
|
|
351
|
+
if isinstance(verifier_obj, dict):
|
|
352
|
+
verifier_id = verifier_obj.get("verifier_id")
|
|
353
|
+
|
|
337
354
|
if (
|
|
338
355
|
not verifier_id
|
|
339
356
|
and "metadata" in task_json
|
|
@@ -353,7 +370,7 @@ class Fleet:
|
|
|
353
370
|
verifier_id=verifier_id,
|
|
354
371
|
verifier_key=task_json.get("key", task_json.get("id")),
|
|
355
372
|
verifier_code=verifier_code,
|
|
356
|
-
verifier_sha=
|
|
373
|
+
verifier_sha=verifier_sha,
|
|
357
374
|
)
|
|
358
375
|
except Exception as e:
|
|
359
376
|
error_msg = f"Failed to create verifier {task_json.get('key', task_json.get('id'))}: {e}"
|
|
@@ -375,6 +392,8 @@ class Fleet:
|
|
|
375
392
|
env_variables=task_json.get("env_variables", {}),
|
|
376
393
|
verifier_func=verifier_code, # Set verifier code
|
|
377
394
|
verifier=verifier, # Use created verifier or None
|
|
395
|
+
verifier_id=verifier_id, # Set verifier_id so _rebuild_verifier works
|
|
396
|
+
verifier_sha=verifier_sha, # Set verifier_sha
|
|
378
397
|
metadata=task_json.get("metadata", {}), # Default empty metadata
|
|
379
398
|
)
|
|
380
399
|
return task
|
|
@@ -11,7 +11,7 @@ examples/example_sync.py,sha256=EkuWmUzB1ZsBJQk6ZRflB793rKsuRHeSg5HJZHVhBB0,975
|
|
|
11
11
|
examples/example_task.py,sha256=dhG6STAkNsTdHs9cO1RFH9WfuvRmq5bRC211hTeFrk8,7088
|
|
12
12
|
examples/example_tasks.py,sha256=xTL8UWVAuolSX6swskfrAcmDrLIzn45dJ7YPWCwoEBU,514
|
|
13
13
|
examples/example_verifier.py,sha256=0vwNITIG3m4CkSPwIxNXcGx9TqrxEsCGqK2A8keKZMM,2392
|
|
14
|
-
examples/export_tasks.py,sha256=
|
|
14
|
+
examples/export_tasks.py,sha256=e5CaHga_1IV2W7PGPjQjOZtMrLAhoPNt74V6qRY99EE,2700
|
|
15
15
|
examples/gemini_example.py,sha256=qj9WDazQTYNiRHNeUg9Tjkp33lJMwbx8gDfpFe1sDQo,16180
|
|
16
16
|
examples/import_tasks.py,sha256=pb60dOXnOn-G1INQxV1wujeHmmY2oWz9Ddj9SbMm1pk,3139
|
|
17
17
|
examples/json_tasks_example.py,sha256=CYPESGGtOo0fmsDdLidujTfsE4QlJHw7rOhyVqPJ_Ls,5329
|
|
@@ -23,7 +23,7 @@ examples/quickstart.py,sha256=1VT39IRRhemsJgxi0O0gprdpcw7HB4pYO97GAYagIcg,3788
|
|
|
23
23
|
examples/test_cdp_logging.py,sha256=AkCwQCgOTQEI8w3v0knWK_4eXMph7L9x07wj9yIYM10,2836
|
|
24
24
|
fleet/__init__.py,sha256=fwIcuaJPPdLMdKPsazfz4EAPeJchl9MBN4nxs0YlOjw,4117
|
|
25
25
|
fleet/base.py,sha256=bc-340sTpq_DJs7yQ9d2pDWnmJFmA1SwDB9Lagvqtb4,9182
|
|
26
|
-
fleet/client.py,sha256=
|
|
26
|
+
fleet/client.py,sha256=gvJYF1Y3hG4DHM0PPuCHVbID-aSVK_oIT84aAY8lhQU,31244
|
|
27
27
|
fleet/config.py,sha256=uY02ZKxVoXqVDta-0IMWaYJeE1CTXF_fA9NI6QUutmU,319
|
|
28
28
|
fleet/exceptions.py,sha256=fUmPwWhnT8SR97lYsRq0kLHQHKtSh2eJS0VQ2caSzEI,5055
|
|
29
29
|
fleet/global_client.py,sha256=frrDAFNM2ywN0JHLtlm9qbE1dQpnQJsavJpb7xSR_bU,1072
|
|
@@ -32,7 +32,7 @@ fleet/tasks.py,sha256=PqOlJBM5b-qwto_nrOXzLvfLJ7B4fGq05Eg-0kDNFv8,15681
|
|
|
32
32
|
fleet/types.py,sha256=L4Y82xICf1tzyCLqhLYUgEoaIIS5h9T05TyFNHSWs3s,652
|
|
33
33
|
fleet/_async/__init__.py,sha256=ruGtdMl9BRQRsJygNszPT89ZbMy6AYv1mmeYoB--r60,7557
|
|
34
34
|
fleet/_async/base.py,sha256=oisVTQsx0M_yTmyQJc3oij63uKZ97MHz-xYFsWXxQE8,9202
|
|
35
|
-
fleet/_async/client.py,sha256=
|
|
35
|
+
fleet/_async/client.py,sha256=NxYb4jVBLO3f3eL_1x7z-nkZusFHllFQdgUunUfCwSw,31680
|
|
36
36
|
fleet/_async/exceptions.py,sha256=fUmPwWhnT8SR97lYsRq0kLHQHKtSh2eJS0VQ2caSzEI,5055
|
|
37
37
|
fleet/_async/global_client.py,sha256=4WskpLHbsDEgWW7hXMD09W-brkp4euy8w2ZJ88594rQ,1103
|
|
38
38
|
fleet/_async/models.py,sha256=GX-sRciZDenW2O7Qx9w_ftOkJyE4ph1-92WMq6lynHE,12856
|
|
@@ -69,10 +69,10 @@ fleet/verifiers/decorator.py,sha256=nAP3O8szXu7md_kpwpz91hGSUNEVLYjwZQZTkQlV1DM,
|
|
|
69
69
|
fleet/verifiers/parse.py,sha256=qz9AfJrTbjlg-LU-lE8Ciqi7Yt2a8-cs17FdpjTLhMk,8550
|
|
70
70
|
fleet/verifiers/sql_differ.py,sha256=TqTLWyK3uOyLbitT6HYzYEzuSFC39wcyhgk3rcm__k8,6525
|
|
71
71
|
fleet/verifiers/verifier.py,sha256=_lcxXVm8e0xRrK2gNJy9up7pW1zOkPRY5n5lQ85S8jg,14197
|
|
72
|
-
fleet_python-0.2.
|
|
72
|
+
fleet_python-0.2.58.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
73
73
|
scripts/fix_sync_imports.py,sha256=X9fWLTpiPGkSHsjyQUDepOJkxOqw1DPj7nd8wFlFqLQ,8368
|
|
74
74
|
scripts/unasync.py,sha256=vWVQxRWX8SRZO5cmzEhpvnG_REhCWXpidIGIpWmEcvI,696
|
|
75
|
-
fleet_python-0.2.
|
|
76
|
-
fleet_python-0.2.
|
|
77
|
-
fleet_python-0.2.
|
|
78
|
-
fleet_python-0.2.
|
|
75
|
+
fleet_python-0.2.58.dist-info/METADATA,sha256=wMsd79uNixxkzRCfBNmI2xdVsEz4TeHA2ZFnl_wwos4,3304
|
|
76
|
+
fleet_python-0.2.58.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
77
|
+
fleet_python-0.2.58.dist-info/top_level.txt,sha256=_3DSmTohvSDf3AIP_BYfGzhwO1ECFwuzg83X-wHCx3Y,23
|
|
78
|
+
fleet_python-0.2.58.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|