fleet-python 0.2.54__py3-none-any.whl → 0.2.56__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.

@@ -0,0 +1,76 @@
1
+ import argparse
2
+ import json
3
+ import fleet
4
+ from dotenv import load_dotenv
5
+
6
+ load_dotenv()
7
+
8
+
9
+ def main():
10
+ parser = argparse.ArgumentParser(description="Export tasks to a JSON file")
11
+ parser.add_argument(
12
+ "--project-key",
13
+ "-p",
14
+ help="Optional project key to filter tasks",
15
+ default=None,
16
+ )
17
+ parser.add_argument(
18
+ "--output",
19
+ "-o",
20
+ help="Output JSON filename (defaults to {team_id}.json)",
21
+ default=None,
22
+ )
23
+
24
+ args = parser.parse_args()
25
+
26
+ # Get account info
27
+ account = fleet.env.account()
28
+ print(f"Exporting from team: {account.team_name}")
29
+
30
+ # Load tasks
31
+ if args.project_key:
32
+ print(f"Loading tasks from project: {args.project_key}")
33
+ tasks = fleet.load_tasks(project_key=args.project_key)
34
+ else:
35
+ print("Loading all tasks")
36
+ tasks = fleet.load_tasks()
37
+
38
+ print(f"\nFound {len(tasks)} task(s)")
39
+
40
+ # Validate that all tasks have verifier_func
41
+ print("Validating tasks have verifier_func...")
42
+ missing_verifier = []
43
+ for task in tasks:
44
+ if not task.verifier_func:
45
+ missing_verifier.append(task.key)
46
+
47
+ if missing_verifier:
48
+ print(f"\n✗ Error: {len(missing_verifier)} task(s) missing verifier_func:")
49
+ for key in missing_verifier[:10]: # Show first 10
50
+ print(f" - {key}")
51
+ if len(missing_verifier) > 10:
52
+ print(f" ... and {len(missing_verifier) - 10} more")
53
+ raise ValueError(
54
+ "All tasks must have a verifier_func. Cannot export tasks without verifiers."
55
+ )
56
+
57
+ print("✓ All tasks have verifier_func")
58
+
59
+ # Determine output filename
60
+ output_file = args.output or f"{account.team_id}.json"
61
+
62
+ # Export to JSON
63
+ print(f"\nExporting to: {output_file}")
64
+ with open(output_file, "w", encoding="utf-8") as f:
65
+ json.dump(
66
+ [task.model_dump() for task in tasks],
67
+ f,
68
+ indent=2,
69
+ ensure_ascii=False,
70
+ )
71
+
72
+ print(f"✓ Successfully exported {len(tasks)} task(s) to {output_file}")
73
+
74
+
75
+ if __name__ == "__main__":
76
+ main()
examples/import_tasks.py CHANGED
@@ -1,4 +1,7 @@
1
1
  import asyncio
2
+ import argparse
3
+ import json
4
+ import sys
2
5
  import fleet
3
6
  from dotenv import load_dotenv
4
7
 
@@ -6,10 +9,93 @@ load_dotenv()
6
9
 
7
10
 
8
11
  async def main():
9
- print(f"Importing tasks... {(await fleet.env.account_async()).team_name}")
10
- await fleet._async.import_tasks(
11
- "6bb6c6b6-36a8-4407-ba66-6908e42069c8.json", project_key="amazon"
12
+ parser = argparse.ArgumentParser(description="Import tasks from a JSON file")
13
+ parser.add_argument("json_file", help="Path to the JSON file containing tasks")
14
+ parser.add_argument(
15
+ "--project-key",
16
+ "-p",
17
+ help="Optional project key to associate with the tasks",
18
+ default=None,
12
19
  )
20
+ parser.add_argument(
21
+ "--yes",
22
+ "-y",
23
+ action="store_true",
24
+ help="Skip confirmation prompt and import automatically",
25
+ )
26
+
27
+ args = parser.parse_args()
28
+
29
+ # Load and parse the JSON file
30
+ try:
31
+ with open(args.json_file, "r", encoding="utf-8") as f:
32
+ tasks_data = json.load(f)
33
+ except FileNotFoundError:
34
+ print(f"Error: File '{args.json_file}' not found")
35
+ sys.exit(1)
36
+ except json.JSONDecodeError as e:
37
+ print(f"Error: Invalid JSON in '{args.json_file}': {e}")
38
+ sys.exit(1)
39
+
40
+ # Extract task information and validate verifier_func
41
+ task_count = len(tasks_data)
42
+ task_keys = []
43
+ missing_verifier = []
44
+ for task_data in tasks_data:
45
+ task_key = task_data.get("key") or task_data.get("id")
46
+ if task_key:
47
+ task_keys.append(task_key)
48
+ else:
49
+ task_keys.append("(no key)")
50
+
51
+ # Check for verifier_func
52
+ verifier_code = task_data.get("verifier_func") or task_data.get("verifier_code")
53
+ if not verifier_code:
54
+ missing_verifier.append(task_key or "(no key)")
55
+
56
+ # Validate all tasks have verifier_func
57
+ if missing_verifier:
58
+ print(f"✗ Error: {len(missing_verifier)} task(s) missing verifier_func:")
59
+ for key in missing_verifier[:10]: # Show first 10
60
+ print(f" - {key}")
61
+ if len(missing_verifier) > 10:
62
+ print(f" ... and {len(missing_verifier) - 10} more")
63
+ print("\nAll tasks must have a verifier_func to be imported.")
64
+ sys.exit(1)
65
+
66
+ # Get account info
67
+ account = await fleet.env.account_async()
68
+
69
+ # Print summary
70
+ print(f"Importing to team: {account.team_name}")
71
+ print(f"\nFound {task_count} task(s) in '{args.json_file}':")
72
+ print("\nTask keys:")
73
+ for i, key in enumerate(task_keys, 1):
74
+ print(f" {i}. {key}")
75
+
76
+ if args.project_key:
77
+ print(f"\nProject key: {args.project_key}")
78
+ else:
79
+ print("\nProject key: (none)")
80
+
81
+ # Confirmation prompt (unless --yes flag is provided)
82
+ if not args.yes:
83
+ print("\n" + "=" * 60)
84
+ response = input("Type 'YES' to proceed with import: ")
85
+ if response != "YES":
86
+ print("Import cancelled.")
87
+ sys.exit(0)
88
+
89
+ # Import tasks
90
+ print("\nImporting tasks...")
91
+ try:
92
+ results = await fleet.import_tasks_async(
93
+ args.json_file, project_key=args.project_key
94
+ )
95
+ print(f"\n✓ Successfully imported {len(results)} task(s)")
96
+ except Exception as e:
97
+ print(f"\n✗ Error importing tasks: {e}")
98
+ sys.exit(1)
13
99
 
14
100
 
15
101
  if __name__ == "__main__":
fleet/_async/client.py CHANGED
@@ -372,6 +372,8 @@ class AsyncFleet:
372
372
  ), # Use env_id or fallback to env_key
373
373
  created_at=task_json.get("created_at"),
374
374
  version=task_json.get("version"),
375
+ data_id=task_json.get("data_id"),
376
+ data_version=task_json.get("data_version"),
375
377
  env_variables=task_json.get("env_variables", {}),
376
378
  verifier_func=verifier_code, # Set verifier code
377
379
  verifier=verifier, # Use created verifier or None
@@ -386,6 +388,8 @@ class AsyncFleet:
386
388
  version: Optional[str] = None,
387
389
  team_id: Optional[str] = None,
388
390
  project_key: Optional[str] = None,
391
+ data_id: Optional[str] = None,
392
+ data_version: Optional[str] = None,
389
393
  ) -> List[Task]:
390
394
  """Load tasks for the authenticated team, with optional filtering.
391
395
 
@@ -394,6 +398,9 @@ class AsyncFleet:
394
398
  keys: Optional list of task keys to filter by
395
399
  version: Optional version to filter tasks by (client-side filter)
396
400
  team_id: Optional team_id to filter by (admin only)
401
+ project_key: Optional project key to filter tasks by
402
+ data_id: Optional data identifier to filter tasks by
403
+ data_version: Optional data version to filter tasks by
397
404
 
398
405
  Returns:
399
406
  List[Task] containing Task objects
@@ -407,6 +414,10 @@ class AsyncFleet:
407
414
  params["team_id"] = team_id
408
415
  if project_key is not None:
409
416
  params["project_key"] = project_key
417
+ if data_id is not None:
418
+ params["data_id"] = data_id
419
+ if data_version is not None:
420
+ params["data_version"] = data_version
410
421
 
411
422
  response = await self.client.request("GET", "/v1/tasks", params=params)
412
423
  task_list_response = TaskListResponse(**response.json())
@@ -511,6 +522,8 @@ class AsyncFleet:
511
522
  env_id=task_response.environment_id, # Map environment_id -> env_id
512
523
  created_at=task_response.created_at,
513
524
  version=task_response.version,
525
+ data_id=getattr(task_response, "data_id", None), # Get data_id if available
526
+ data_version=getattr(task_response, "data_version", None), # Get data_version if available
514
527
  env_variables=task_response.env_variables or {},
515
528
  verifier_func=verifier_func, # Set verifier code
516
529
  verifier=verifier, # Use created verifier or None
@@ -521,6 +534,14 @@ class AsyncFleet:
521
534
  # Apply client-side filtering for version if specified
522
535
  if version is not None:
523
536
  tasks = [task for task in tasks if task.version == version]
537
+
538
+ # Apply client-side filtering for data_id if specified
539
+ if data_id is not None:
540
+ tasks = [task for task in tasks if task.data_id == data_id]
541
+
542
+ # Apply client-side filtering for data_version if specified
543
+ if data_version is not None:
544
+ tasks = [task for task in tasks if task.data_version == data_version]
524
545
 
525
546
  return tasks
526
547
 
fleet/_async/tasks.py CHANGED
@@ -25,6 +25,8 @@ class Task(BaseModel):
25
25
  )
26
26
  created_at: Optional[datetime] = Field(None, description="Task creation timestamp")
27
27
  version: Optional[str] = Field(None, description="Task version")
28
+ data_id: Optional[str] = Field(None, description="Data identifier")
29
+ data_version: Optional[str] = Field(None, description="Data version")
28
30
  verifier_func: Optional[str] = Field(None, description="Verifier function code")
29
31
  verifier: Optional[Any] = Field(
30
32
  None,
@@ -58,6 +60,15 @@ class Task(BaseModel):
58
60
  return f"{self.env_id}:{self.version}"
59
61
  return self.env_id
60
62
 
63
+ @property
64
+ def data_key(self) -> Optional[str]:
65
+ """Get the data key combining data_id and data_version."""
66
+ if self.data_id and self.data_version:
67
+ return f"{self.data_id}:{self.data_version}"
68
+ elif self.data_id:
69
+ return self.data_id
70
+ return None
71
+
61
72
  class Config:
62
73
  """Pydantic model configuration."""
63
74
 
@@ -207,6 +218,42 @@ class Task(BaseModel):
207
218
 
208
219
  return await AsyncFleet().make(env_key=self.env_key, region=region)
209
220
 
221
+ async def make(
222
+ self, region: Optional[str] = None, image_type: Optional[str] = None
223
+ ):
224
+ """Create an environment instance with task's configuration.
225
+
226
+ Auto-populates environment creation with:
227
+ - env_key (env_id + version)
228
+ - data_key (data_id + data_version, if present)
229
+ - env_variables (if present)
230
+
231
+ Args:
232
+ region: Optional AWS region for the environment
233
+ image_type: Optional image type for the environment
234
+
235
+ Returns:
236
+ Environment instance configured for this task
237
+
238
+ Example:
239
+ task = fleet.Task(key="my-task", prompt="...", env_id="my-env",
240
+ data_id="my-data", data_version="v1.0")
241
+ env = await task.make(region="us-west-2")
242
+ """
243
+ if not self.env_id:
244
+ raise ValueError("Task has no env_id defined")
245
+
246
+ # Deferred import to avoid circular dependencies
247
+ from fleet.env import make_async
248
+
249
+ return await make_async(
250
+ env_key=self.env_key,
251
+ data_key=self.data_key,
252
+ region=region,
253
+ env_variables=self.env_variables if self.env_variables else None,
254
+ image_type=image_type,
255
+ )
256
+
210
257
 
211
258
  def verifier_from_string(
212
259
  verifier_func: str, verifier_id: str, verifier_key: str, sha256: str = ""
@@ -282,6 +329,8 @@ async def load_tasks(
282
329
  version: Optional[str] = None,
283
330
  team_id: Optional[str] = None,
284
331
  project_key: Optional[str] = None,
332
+ data_id: Optional[str] = None,
333
+ data_version: Optional[str] = None,
285
334
  ) -> List[Task]:
286
335
  """Convenience function to load tasks with optional filtering.
287
336
 
@@ -290,11 +339,15 @@ async def load_tasks(
290
339
  keys: Optional list of task keys to filter by
291
340
  version: Optional version to filter tasks by
292
341
  team_id: Optional team_id to filter by (admin only)
342
+ project_key: Optional project key to filter tasks by
343
+ data_id: Optional data identifier to filter tasks by
344
+ data_version: Optional data version to filter tasks by
293
345
 
294
346
  Examples:
295
347
  tasks = await fleet.load_tasks(env_key="fira")
296
348
  tasks = await fleet.load_tasks(keys=["task1", "task2"])
297
349
  tasks = await fleet.load_tasks(env_key="fira", version="v1.0")
350
+ tasks = await fleet.load_tasks(data_id="my-data", data_version="v1.0")
298
351
  """
299
352
  # Use the global client by default so users can pre-configure it once
300
353
  from .global_client import get_client
@@ -306,6 +359,8 @@ async def load_tasks(
306
359
  version=version,
307
360
  team_id=team_id,
308
361
  project_key=project_key,
362
+ data_id=data_id,
363
+ data_version=data_version,
309
364
  )
310
365
 
311
366
 
fleet/client.py CHANGED
@@ -370,6 +370,8 @@ class Fleet:
370
370
  ), # Use env_id or fallback to env_key
371
371
  created_at=task_json.get("created_at"),
372
372
  version=task_json.get("version"),
373
+ data_id=task_json.get("data_id"),
374
+ data_version=task_json.get("data_version"),
373
375
  env_variables=task_json.get("env_variables", {}),
374
376
  verifier_func=verifier_code, # Set verifier code
375
377
  verifier=verifier, # Use created verifier or None
@@ -384,6 +386,8 @@ class Fleet:
384
386
  version: Optional[str] = None,
385
387
  team_id: Optional[str] = None,
386
388
  project_key: Optional[str] = None,
389
+ data_id: Optional[str] = None,
390
+ data_version: Optional[str] = None,
387
391
  ) -> List[Task]:
388
392
  """Load tasks for the authenticated team, with optional filtering.
389
393
 
@@ -392,6 +396,9 @@ class Fleet:
392
396
  keys: Optional list of task keys to filter by
393
397
  version: Optional version to filter tasks by (client-side filter)
394
398
  team_id: Optional team_id to filter by (admin only)
399
+ project_key: Optional project key to filter tasks by
400
+ data_id: Optional data identifier to filter tasks by
401
+ data_version: Optional data version to filter tasks by
395
402
 
396
403
  Returns:
397
404
  List[Task] containing Task objects
@@ -405,6 +412,10 @@ class Fleet:
405
412
  params["team_id"] = team_id
406
413
  if project_key is not None:
407
414
  params["project_key"] = project_key
415
+ if data_id is not None:
416
+ params["data_id"] = data_id
417
+ if data_version is not None:
418
+ params["data_version"] = data_version
408
419
 
409
420
  response = self.client.request("GET", "/v1/tasks", params=params)
410
421
  task_list_response = TaskListResponse(**response.json())
@@ -517,6 +528,8 @@ class Fleet:
517
528
  env_id=task_response.environment_id, # Map environment_id -> env_id
518
529
  created_at=task_response.created_at,
519
530
  version=task_response.version,
531
+ data_id=getattr(task_response, "data_id", None), # Get data_id if available
532
+ data_version=getattr(task_response, "data_version", None), # Get data_version if available
520
533
  env_variables=task_response.env_variables or {},
521
534
  verifier_func=verifier_func, # Set verifier code
522
535
  verifier=verifier, # Use created verifier or None
@@ -527,6 +540,14 @@ class Fleet:
527
540
  # Apply client-side filtering for version if specified
528
541
  if version is not None:
529
542
  tasks = [task for task in tasks if task.version == version]
543
+
544
+ # Apply client-side filtering for data_id if specified
545
+ if data_id is not None:
546
+ tasks = [task for task in tasks if task.data_id == data_id]
547
+
548
+ # Apply client-side filtering for data_version if specified
549
+ if data_version is not None:
550
+ tasks = [task for task in tasks if task.data_version == data_version]
530
551
 
531
552
  return tasks
532
553
 
fleet/tasks.py CHANGED
@@ -26,6 +26,8 @@ class Task(BaseModel):
26
26
  )
27
27
  created_at: Optional[datetime] = Field(None, description="Task creation timestamp")
28
28
  version: Optional[str] = Field(None, description="Task version")
29
+ data_id: Optional[str] = Field(None, description="Data identifier")
30
+ data_version: Optional[str] = Field(None, description="Data version")
29
31
  verifier_func: Optional[str] = Field(None, description="Verifier function code")
30
32
  verifier: Optional[Any] = Field(
31
33
  None,
@@ -59,6 +61,15 @@ class Task(BaseModel):
59
61
  return f"{self.env_id}:{self.version}"
60
62
  return self.env_id
61
63
 
64
+ @property
65
+ def data_key(self) -> Optional[str]:
66
+ """Get the data key combining data_id and data_version."""
67
+ if self.data_id and self.data_version:
68
+ return f"{self.data_id}:{self.data_version}"
69
+ elif self.data_id:
70
+ return self.data_id
71
+ return None
72
+
62
73
  class Config:
63
74
  """Pydantic model configuration."""
64
75
 
@@ -200,6 +211,40 @@ class Task(BaseModel):
200
211
 
201
212
  return Fleet().make(env_key=self.env_key, region=region)
202
213
 
214
+ def make(self, region: Optional[str] = None, image_type: Optional[str] = None):
215
+ """Create an environment instance with task's configuration.
216
+
217
+ Auto-populates environment creation with:
218
+ - env_key (env_id + version)
219
+ - data_key (data_id + data_version, if present)
220
+ - env_variables (if present)
221
+
222
+ Args:
223
+ region: Optional AWS region for the environment
224
+ image_type: Optional image type for the environment
225
+
226
+ Returns:
227
+ Environment instance configured for this task
228
+
229
+ Example:
230
+ task = fleet.Task(key="my-task", prompt="...", env_id="my-env",
231
+ data_id="my-data", data_version="v1.0")
232
+ env = task.make(region="us-west-2")
233
+ """
234
+ if not self.env_id:
235
+ raise ValueError("Task has no env_id defined")
236
+
237
+ # Deferred import to avoid circular dependencies
238
+ from fleet.env import make
239
+
240
+ return make(
241
+ env_key=self.env_key,
242
+ data_key=self.data_key,
243
+ region=region,
244
+ env_variables=self.env_variables if self.env_variables else None,
245
+ image_type=image_type,
246
+ )
247
+
203
248
 
204
249
  def verifier_from_string(
205
250
  verifier_func: str, verifier_id: str, verifier_key: str, sha256: str = ""
@@ -285,6 +330,8 @@ def load_tasks(
285
330
  version: Optional[str] = None,
286
331
  team_id: Optional[str] = None,
287
332
  project_key: Optional[str] = None,
333
+ data_id: Optional[str] = None,
334
+ data_version: Optional[str] = None,
288
335
  ) -> List[Task]:
289
336
  """Convenience function to load tasks with optional filtering.
290
337
 
@@ -293,11 +340,15 @@ def load_tasks(
293
340
  keys: Optional list of task keys to filter by
294
341
  version: Optional version to filter tasks by
295
342
  team_id: Optional team_id to filter by (admin only)
343
+ project_key: Optional project key to filter tasks by
344
+ data_id: Optional data identifier to filter tasks by
345
+ data_version: Optional data version to filter tasks by
296
346
 
297
347
  Examples:
298
- tasks = await fleet.load_tasks(env_key="fira")
299
- tasks = await fleet.load_tasks(keys=["task1", "task2"])
300
- tasks = await fleet.load_tasks(env_key="fira", version="v1.0")
348
+ tasks = fleet.load_tasks(env_key="fira")
349
+ tasks = fleet.load_tasks(keys=["task1", "task2"])
350
+ tasks = fleet.load_tasks(env_key="fira", version="v1.0")
351
+ tasks = fleet.load_tasks(data_id="my-data", data_version="v1.0")
301
352
  """
302
353
  # Use the global client by default so users can pre-configure it once
303
354
  from .global_client import get_client
@@ -309,6 +360,8 @@ def load_tasks(
309
360
  version=version,
310
361
  team_id=team_id,
311
362
  project_key=project_key,
363
+ data_id=data_id,
364
+ data_version=data_version,
312
365
  )
313
366
 
314
367
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fleet-python
3
- Version: 0.2.54
3
+ Version: 0.2.56
4
4
  Summary: Python SDK for Fleet environments
5
5
  Author-email: Fleet AI <nic@fleet.so>
6
6
  License: Apache-2.0
@@ -11,8 +11,9 @@ 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=BSRmsGIIk34QYanB8rPlaFbmn3MBxaf7TyFVrbsdPeU,2114
14
15
  examples/gemini_example.py,sha256=qj9WDazQTYNiRHNeUg9Tjkp33lJMwbx8gDfpFe1sDQo,16180
15
- examples/import_tasks.py,sha256=InZdnnL8KfTy8JkuZPlsgFvdU7h2LrdpQNa2XA9VR88,343
16
+ examples/import_tasks.py,sha256=pb60dOXnOn-G1INQxV1wujeHmmY2oWz9Ddj9SbMm1pk,3139
16
17
  examples/json_tasks_example.py,sha256=CYPESGGtOo0fmsDdLidujTfsE4QlJHw7rOhyVqPJ_Ls,5329
17
18
  examples/nova_act_example.py,sha256=rH23Lp74Okf0rn8ynMdWjK2aviEf5NLPH4k_53Pyxho,831
18
19
  examples/openai_example.py,sha256=dEWERrTEP5xBiGkLkQjBQGd2NqoxX6gcW6XteBPsWFQ,8231
@@ -22,20 +23,20 @@ examples/quickstart.py,sha256=1VT39IRRhemsJgxi0O0gprdpcw7HB4pYO97GAYagIcg,3788
22
23
  examples/test_cdp_logging.py,sha256=AkCwQCgOTQEI8w3v0knWK_4eXMph7L9x07wj9yIYM10,2836
23
24
  fleet/__init__.py,sha256=fwIcuaJPPdLMdKPsazfz4EAPeJchl9MBN4nxs0YlOjw,4117
24
25
  fleet/base.py,sha256=bc-340sTpq_DJs7yQ9d2pDWnmJFmA1SwDB9Lagvqtb4,9182
25
- fleet/client.py,sha256=qG2nowkeDqitqDhAbYwoGtnXkau3nTwmkUGzN0iPgOk,29201
26
+ fleet/client.py,sha256=0RwFXBdiBSK7ziTrUe2uzhHX14MxuboIQhMCoRMC300,30315
26
27
  fleet/config.py,sha256=uY02ZKxVoXqVDta-0IMWaYJeE1CTXF_fA9NI6QUutmU,319
27
28
  fleet/exceptions.py,sha256=fUmPwWhnT8SR97lYsRq0kLHQHKtSh2eJS0VQ2caSzEI,5055
28
29
  fleet/global_client.py,sha256=frrDAFNM2ywN0JHLtlm9qbE1dQpnQJsavJpb7xSR_bU,1072
29
30
  fleet/models.py,sha256=d9eish0KO3t4VCNu8h8Q_6K1Xj-crYo5Fejtle0Ur28,13056
30
- fleet/tasks.py,sha256=uzGKwbLDKlNpuPjUTeF7N2FG_tez3JwiyHYLYt5rBSI,13660
31
+ fleet/tasks.py,sha256=PqOlJBM5b-qwto_nrOXzLvfLJ7B4fGq05Eg-0kDNFv8,15681
31
32
  fleet/types.py,sha256=L4Y82xICf1tzyCLqhLYUgEoaIIS5h9T05TyFNHSWs3s,652
32
33
  fleet/_async/__init__.py,sha256=ruGtdMl9BRQRsJygNszPT89ZbMy6AYv1mmeYoB--r60,7557
33
34
  fleet/_async/base.py,sha256=oisVTQsx0M_yTmyQJc3oij63uKZ97MHz-xYFsWXxQE8,9202
34
- fleet/_async/client.py,sha256=SbateFBfFDRju-gHtFr8TQdR0thBNA0rWt0RuUse9s0,29637
35
+ fleet/_async/client.py,sha256=uiYufTUAG3o_nseflp_DxW8yLe8JnprIxCwjZ4CsqoI,30751
35
36
  fleet/_async/exceptions.py,sha256=fUmPwWhnT8SR97lYsRq0kLHQHKtSh2eJS0VQ2caSzEI,5055
36
37
  fleet/_async/global_client.py,sha256=4WskpLHbsDEgWW7hXMD09W-brkp4euy8w2ZJ88594rQ,1103
37
38
  fleet/_async/models.py,sha256=GX-sRciZDenW2O7Qx9w_ftOkJyE4ph1-92WMq6lynHE,12856
38
- fleet/_async/tasks.py,sha256=t51pK4gBZZOmtJs35wjEorxKIgDeIvPxwCtGRs00Tpg,13590
39
+ fleet/_async/tasks.py,sha256=wYCSmCDs9svXWXmIKp55I2bf6-85VkTWpJo0pZmOUJ0,15679
39
40
  fleet/_async/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
41
  fleet/_async/env/client.py,sha256=C5WG5Ir_McXaFPZNdkQjj0w4V7xMIcw3QyVP5g-3kVk,1237
41
42
  fleet/_async/instance/__init__.py,sha256=PtmJq8J8bh0SOQ2V55QURz5GJfobozwtQoqhaOk3_tI,515
@@ -68,10 +69,10 @@ fleet/verifiers/decorator.py,sha256=nAP3O8szXu7md_kpwpz91hGSUNEVLYjwZQZTkQlV1DM,
68
69
  fleet/verifiers/parse.py,sha256=qz9AfJrTbjlg-LU-lE8Ciqi7Yt2a8-cs17FdpjTLhMk,8550
69
70
  fleet/verifiers/sql_differ.py,sha256=TqTLWyK3uOyLbitT6HYzYEzuSFC39wcyhgk3rcm__k8,6525
70
71
  fleet/verifiers/verifier.py,sha256=_lcxXVm8e0xRrK2gNJy9up7pW1zOkPRY5n5lQ85S8jg,14197
71
- fleet_python-0.2.54.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
+ fleet_python-0.2.56.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
73
  scripts/fix_sync_imports.py,sha256=X9fWLTpiPGkSHsjyQUDepOJkxOqw1DPj7nd8wFlFqLQ,8368
73
74
  scripts/unasync.py,sha256=vWVQxRWX8SRZO5cmzEhpvnG_REhCWXpidIGIpWmEcvI,696
74
- fleet_python-0.2.54.dist-info/METADATA,sha256=tkesOoS66aveH_fYtJvJoYi2ErjrkiApcXbx1bUh1Eo,3304
75
- fleet_python-0.2.54.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
76
- fleet_python-0.2.54.dist-info/top_level.txt,sha256=_3DSmTohvSDf3AIP_BYfGzhwO1ECFwuzg83X-wHCx3Y,23
77
- fleet_python-0.2.54.dist-info/RECORD,,
75
+ fleet_python-0.2.56.dist-info/METADATA,sha256=i9F_dXu80Okx9Eic7EEMqaDVy_7L7cZNksRcC1KTCP4,3304
76
+ fleet_python-0.2.56.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
77
+ fleet_python-0.2.56.dist-info/top_level.txt,sha256=_3DSmTohvSDf3AIP_BYfGzhwO1ECFwuzg83X-wHCx3Y,23
78
+ fleet_python-0.2.56.dist-info/RECORD,,