fleet-python 0.2.27__py3-none-any.whl → 0.2.29__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.
- fleet/_async/client.py +47 -0
- fleet/_async/env/client.py +3 -1
- fleet/_async/tasks.py +2 -0
- fleet/client.py +55 -2
- fleet/env/__init__.py +2 -1
- fleet/env/client.py +3 -2
- fleet/tasks.py +84 -0
- {fleet_python-0.2.27.dist-info → fleet_python-0.2.29.dist-info}/METADATA +1 -1
- {fleet_python-0.2.27.dist-info → fleet_python-0.2.29.dist-info}/RECORD +12 -11
- {fleet_python-0.2.27.dist-info → fleet_python-0.2.29.dist-info}/WHEEL +0 -0
- {fleet_python-0.2.27.dist-info → fleet_python-0.2.29.dist-info}/licenses/LICENSE +0 -0
- {fleet_python-0.2.27.dist-info → fleet_python-0.2.29.dist-info}/top_level.txt +0 -0
fleet/_async/client.py
CHANGED
|
@@ -213,6 +213,9 @@ class AsyncFleet:
|
|
|
213
213
|
await instance.instance.load()
|
|
214
214
|
return instance
|
|
215
215
|
|
|
216
|
+
async def make_for_task(self, task: Task) -> AsyncEnv:
|
|
217
|
+
return self.make(env_key=f"{task.env_id}:{task.version}")
|
|
218
|
+
|
|
216
219
|
async def instances(
|
|
217
220
|
self, status: Optional[str] = None, region: Optional[str] = None
|
|
218
221
|
) -> List[AsyncEnv]:
|
|
@@ -247,6 +250,50 @@ class AsyncFleet:
|
|
|
247
250
|
async def delete(self, instance_id: str) -> InstanceResponse:
|
|
248
251
|
return await _delete_instance(self.client, instance_id)
|
|
249
252
|
|
|
253
|
+
async def load_tasks_from_file(self, filename: str) -> List[Task]:
|
|
254
|
+
with open(filename, 'r', encoding='utf-8') as f:
|
|
255
|
+
tasks_data = f.read()
|
|
256
|
+
|
|
257
|
+
return self.load_task_array_from_string(tasks_data)
|
|
258
|
+
|
|
259
|
+
async def load_task_array_from_string(self, serialized_tasks: List[Dict]) -> List[Task]:
|
|
260
|
+
tasks = []
|
|
261
|
+
|
|
262
|
+
json_tasks = json.loads(serialized_tasks)
|
|
263
|
+
for json_task in json_tasks:
|
|
264
|
+
parsed_task = self.load_task_from_json(json_task)
|
|
265
|
+
tasks.append(parsed_task)
|
|
266
|
+
return tasks
|
|
267
|
+
|
|
268
|
+
async def load_task_from_string(self, task_string: str) -> Task:
|
|
269
|
+
task_json = json.loads(task_string)
|
|
270
|
+
return self.load_task_from_json(task_json)
|
|
271
|
+
|
|
272
|
+
async def load_task_from_json(self, task_json: Dict) -> Task:
|
|
273
|
+
try:
|
|
274
|
+
if 'verifier_id' in task_json and task_json['verifier_id']:
|
|
275
|
+
verifier = self._create_verifier_from_data(
|
|
276
|
+
verifier_id=task_json['verifier_id'],
|
|
277
|
+
verifier_key=task_json['key'],
|
|
278
|
+
verifier_code=task_json['verifier_func'],
|
|
279
|
+
verifier_sha=task_json.get('verifier_sha', '')
|
|
280
|
+
)
|
|
281
|
+
except Exception as e:
|
|
282
|
+
logger.warning(f"Failed to create verifier {task_json['key']}: {e}")
|
|
283
|
+
|
|
284
|
+
task = Task(
|
|
285
|
+
key=task_json['key'],
|
|
286
|
+
prompt=task_json['prompt'],
|
|
287
|
+
env_id=task_json['env_id'], # Use env_id from the data
|
|
288
|
+
created_at=task_json['created_at'],
|
|
289
|
+
version=task_json.get('version'),
|
|
290
|
+
env_variables=task_json.get('env_variables', {}),
|
|
291
|
+
verifier_func=task_json.get('verifier_func'), # Set verifier code
|
|
292
|
+
verifier=verifier, # Use created verifier or None
|
|
293
|
+
metadata=task_json.get('metadata', {}) # Default empty metadata
|
|
294
|
+
)
|
|
295
|
+
return task
|
|
296
|
+
|
|
250
297
|
async def load_tasks(self, env_key: Optional[str] = None) -> List[Task]:
|
|
251
298
|
"""Load tasks for the authenticated team, optionally filtered by environment.
|
|
252
299
|
|
fleet/_async/env/client.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ..client import AsyncFleet, AsyncEnv
|
|
1
|
+
from ..client import AsyncFleet, AsyncEnv, Task
|
|
2
2
|
from ...models import Environment as EnvironmentModel, AccountResponse
|
|
3
3
|
from typing import List, Optional
|
|
4
4
|
|
|
@@ -6,6 +6,8 @@ from typing import List, Optional
|
|
|
6
6
|
async def make_async(env_key: str, region: Optional[str] = None) -> AsyncEnv:
|
|
7
7
|
return await AsyncFleet().make(env_key, region=region)
|
|
8
8
|
|
|
9
|
+
async def make_for_task_async(task: Task) -> AsyncEnv:
|
|
10
|
+
return await AsyncFleet().make_for_task(task)
|
|
9
11
|
|
|
10
12
|
async def list_envs_async() -> List[EnvironmentModel]:
|
|
11
13
|
return await AsyncFleet().list_envs()
|
fleet/_async/tasks.py
CHANGED
|
@@ -24,6 +24,8 @@ class Task(BaseModel):
|
|
|
24
24
|
version: Optional[str] = Field(None, description="Task version")
|
|
25
25
|
verifier_func: Optional[str] = Field(None, description="Verifier function code")
|
|
26
26
|
verifier: Optional[Any] = Field(None, description="Verifier function with decorator (async or sync)")
|
|
27
|
+
verifier_id: Optional[str] = Field(None, description="Verifier identifier")
|
|
28
|
+
verifier_sha: Optional[str] = Field(None, description="Verifier SHA256 hash")
|
|
27
29
|
metadata: Optional[Dict[str, Any]] = Field(default_factory=dict, description="Additional task metadata")
|
|
28
30
|
|
|
29
31
|
@validator('key')
|
fleet/client.py
CHANGED
|
@@ -213,6 +213,9 @@ class Fleet:
|
|
|
213
213
|
instance.instance.load()
|
|
214
214
|
return instance
|
|
215
215
|
|
|
216
|
+
def make_for_task(self, task: Task) -> SyncEnv:
|
|
217
|
+
return self.make(env_key=f"{task.env_id}:{task.version}")
|
|
218
|
+
|
|
216
219
|
def instances(
|
|
217
220
|
self, status: Optional[str] = None, region: Optional[str] = None
|
|
218
221
|
) -> List[SyncEnv]:
|
|
@@ -246,8 +249,54 @@ class Fleet:
|
|
|
246
249
|
|
|
247
250
|
def delete(self, instance_id: str) -> InstanceResponse:
|
|
248
251
|
return _delete_instance(self.client, instance_id)
|
|
252
|
+
|
|
253
|
+
def load_tasks_from_file(self, filename: str) -> List[Task]:
|
|
254
|
+
with open(filename, 'r', encoding='utf-8') as f:
|
|
255
|
+
tasks_data = f.read()
|
|
256
|
+
|
|
257
|
+
return self.load_task_array_from_string(tasks_data)
|
|
258
|
+
|
|
259
|
+
def load_task_array_from_string(self, serialized_tasks: List[Dict]) -> List[Task]:
|
|
260
|
+
tasks = []
|
|
261
|
+
|
|
262
|
+
json_tasks = json.loads(serialized_tasks)
|
|
263
|
+
for json_task in json_tasks:
|
|
264
|
+
parsed_task = self.load_task_from_json(json_task)
|
|
265
|
+
tasks.append(parsed_task)
|
|
266
|
+
return tasks
|
|
267
|
+
|
|
268
|
+
def load_task_from_string(self, task_string: str) -> Task:
|
|
269
|
+
task_json = json.loads(task_string)
|
|
270
|
+
return self.load_task_from_json(task_json)
|
|
271
|
+
|
|
272
|
+
def load_task_from_json(self, task_json: Dict) -> Task:
|
|
273
|
+
verifier = None
|
|
274
|
+
try:
|
|
275
|
+
if 'verifier_id' in task_json and task_json['verifier_id']:
|
|
276
|
+
verifier = self._create_verifier_from_data(
|
|
277
|
+
verifier_id=task_json['verifier_id'],
|
|
278
|
+
verifier_key=task_json['key'],
|
|
279
|
+
verifier_code=task_json['verifier_func'],
|
|
280
|
+
verifier_sha=task_json.get('verifier_sha', '')
|
|
281
|
+
)
|
|
282
|
+
except Exception as e:
|
|
283
|
+
logger.warning(f"Failed to create verifier {task_json['key']}: {e}")
|
|
284
|
+
|
|
285
|
+
task = Task(
|
|
286
|
+
key=task_json['key'],
|
|
287
|
+
prompt=task_json['prompt'],
|
|
288
|
+
env_id=task_json['env_id'], # Use env_id from the data
|
|
289
|
+
created_at=task_json['created_at'],
|
|
290
|
+
version=task_json.get('version'),
|
|
291
|
+
env_variables=task_json.get('env_variables', {}),
|
|
292
|
+
verifier_func=task_json.get('verifier_func'), # Set verifier code
|
|
293
|
+
verifier=verifier, # Use created verifier or None
|
|
294
|
+
metadata=task_json.get('metadata', {}) # Default empty metadata
|
|
295
|
+
)
|
|
296
|
+
return task
|
|
249
297
|
|
|
250
|
-
|
|
298
|
+
|
|
299
|
+
def load_tasks(self, env_key: Optional[str] = None, task_keys: Optional[List[str]] = None) -> List[Task]:
|
|
251
300
|
"""Load tasks for the authenticated team, optionally filtered by environment.
|
|
252
301
|
|
|
253
302
|
Args:
|
|
@@ -259,6 +308,9 @@ class Fleet:
|
|
|
259
308
|
params = {}
|
|
260
309
|
if env_key is not None:
|
|
261
310
|
params["env_key"] = env_key
|
|
311
|
+
|
|
312
|
+
if task_keys is not None:
|
|
313
|
+
params["task_keys"] = task_keys
|
|
262
314
|
|
|
263
315
|
response = self.client.request("GET", "/v1/tasks", params=params)
|
|
264
316
|
task_list_response = TaskListResponse(**response.json())
|
|
@@ -294,6 +346,8 @@ class Fleet:
|
|
|
294
346
|
env_variables=task_response.env_variables or {},
|
|
295
347
|
verifier_func=verifier_func, # Set verifier code
|
|
296
348
|
verifier=verifier, # Use created verifier or None
|
|
349
|
+
verifier_id=task_response.verifier.verifier_id,
|
|
350
|
+
verifier_sha=task_response.verifier.sha256,
|
|
297
351
|
metadata={} # Default empty metadata
|
|
298
352
|
)
|
|
299
353
|
tasks.append(task)
|
|
@@ -371,7 +425,6 @@ class Fleet:
|
|
|
371
425
|
logger.error(f"Failed to import task {task.key}: {e}")
|
|
372
426
|
continue
|
|
373
427
|
|
|
374
|
-
|
|
375
428
|
def account(self) -> AccountResponse:
|
|
376
429
|
"""Get account information including instance limits and usage.
|
|
377
430
|
|
fleet/env/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Fleet env module - convenience functions for environment management."""
|
|
2
2
|
|
|
3
|
-
from .client import make, list_envs, list_regions, get, list_instances, account
|
|
3
|
+
from .client import make, make_for_task, list_envs, list_regions, get, list_instances, account
|
|
4
4
|
|
|
5
5
|
# Import async versions from _async
|
|
6
6
|
from .._async.env.client import (
|
|
@@ -14,6 +14,7 @@ from .._async.env.client import (
|
|
|
14
14
|
|
|
15
15
|
__all__ = [
|
|
16
16
|
"make",
|
|
17
|
+
"make_for_task",
|
|
17
18
|
"list_envs",
|
|
18
19
|
"list_regions",
|
|
19
20
|
"list_instances",
|
fleet/env/client.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from ..client import Fleet, SyncEnv
|
|
1
|
+
from ..client import Fleet, SyncEnv, Task
|
|
2
2
|
from ..models import Environment as EnvironmentModel, AccountResponse
|
|
3
3
|
from typing import List, Optional
|
|
4
4
|
|
|
@@ -6,11 +6,12 @@ from typing import List, Optional
|
|
|
6
6
|
def make(env_key: str, region: Optional[str] = None) -> SyncEnv:
|
|
7
7
|
return Fleet().make(env_key, region=region)
|
|
8
8
|
|
|
9
|
+
def make_for_task(task: Task) -> SyncEnv:
|
|
10
|
+
return Fleet().make_for_task(task)
|
|
9
11
|
|
|
10
12
|
def list_envs() -> List[EnvironmentModel]:
|
|
11
13
|
return Fleet().list_envs()
|
|
12
14
|
|
|
13
|
-
|
|
14
15
|
def list_regions() -> List[str]:
|
|
15
16
|
return Fleet().list_regions()
|
|
16
17
|
|
fleet/tasks.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""Fleet SDK Task Model."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import re
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from typing import Any, Dict, Optional
|
|
8
|
+
from uuid import UUID
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, validator
|
|
11
|
+
|
|
12
|
+
# Import the shared VerifierFunction type that works for both async and sync
|
|
13
|
+
from fleet.types import VerifierFunction
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Task(BaseModel):
|
|
17
|
+
"""A task model representing a single task in the Fleet system."""
|
|
18
|
+
|
|
19
|
+
key: str = Field(..., description="Unique task key identifier")
|
|
20
|
+
prompt: str = Field(..., description="Task prompt or instruction")
|
|
21
|
+
env_id: str = Field(..., description="Environment identifier")
|
|
22
|
+
env_variables: Optional[Dict[str, Any]] = Field(default_factory=dict, description="Environment variables")
|
|
23
|
+
created_at: Optional[datetime] = Field(None, description="Task creation timestamp")
|
|
24
|
+
version: Optional[str] = Field(None, description="Task version")
|
|
25
|
+
verifier_func: Optional[str] = Field(None, description="Verifier function code")
|
|
26
|
+
verifier: Optional[Any] = Field(None, description="Verifier function with decorator (async or sync)")
|
|
27
|
+
verifier_id: Optional[str] = Field(None, description="Verifier identifier")
|
|
28
|
+
verifier_sha: Optional[str] = Field(None, description="Verifier SHA256 hash")
|
|
29
|
+
metadata: Optional[Dict[str, Any]] = Field(default_factory=dict, description="Additional task metadata")
|
|
30
|
+
|
|
31
|
+
@validator('key')
|
|
32
|
+
def validate_key_format(cls, v):
|
|
33
|
+
"""Validate key follows kebab-case format."""
|
|
34
|
+
if not re.match(r'^[a-z0-9]+(-[a-z0-9]+)*$', v):
|
|
35
|
+
raise ValueError(f'Invalid task key format: {v}. Must follow kebab-case format.')
|
|
36
|
+
return v
|
|
37
|
+
|
|
38
|
+
@validator('created_at', pre=True, always=True)
|
|
39
|
+
def set_created_at(cls, v):
|
|
40
|
+
"""Set created_at to current time if not provided."""
|
|
41
|
+
return v or datetime.now()
|
|
42
|
+
|
|
43
|
+
@property
|
|
44
|
+
def env_key(self) -> str:
|
|
45
|
+
"""Get the environment key combining env_id and version."""
|
|
46
|
+
if self.version:
|
|
47
|
+
return f"{self.env_id}:{self.version}"
|
|
48
|
+
return self.env_id
|
|
49
|
+
|
|
50
|
+
class Config:
|
|
51
|
+
"""Pydantic model configuration."""
|
|
52
|
+
json_encoders = {
|
|
53
|
+
datetime: lambda v: v.isoformat(),
|
|
54
|
+
}
|
|
55
|
+
# Allow arbitrary types for the verifier field
|
|
56
|
+
arbitrary_types_allowed = True
|
|
57
|
+
|
|
58
|
+
def verify(self, env, *args, **kwargs) -> float:
|
|
59
|
+
"""Verify the task using the verifier function (sync version).
|
|
60
|
+
|
|
61
|
+
For sync environments, calls the sync verifier directly.
|
|
62
|
+
For async verifiers, automatically runs them with asyncio.run().
|
|
63
|
+
"""
|
|
64
|
+
if self.verifier:
|
|
65
|
+
return self.verifier.remote(env, *args, **kwargs)
|
|
66
|
+
else:
|
|
67
|
+
raise ValueError("No verifier function found for this task")
|
|
68
|
+
|
|
69
|
+
def verify_async(self, *args, **kwargs) -> float:
|
|
70
|
+
"""Verify the task using the verifier function (async version).
|
|
71
|
+
|
|
72
|
+
For async environments, awaits the async verifier.
|
|
73
|
+
Works with both sync and async verifiers in async contexts.
|
|
74
|
+
"""
|
|
75
|
+
if self.verifier:
|
|
76
|
+
result = self.verifier.remote(*args, **kwargs)
|
|
77
|
+
# If it's a coroutine, await it
|
|
78
|
+
import inspect
|
|
79
|
+
if inspect.iscoroutine(result):
|
|
80
|
+
return result
|
|
81
|
+
else:
|
|
82
|
+
return result
|
|
83
|
+
else:
|
|
84
|
+
raise ValueError("No verifier function found for this task")
|
|
@@ -18,19 +18,20 @@ examples/query_builder_example.py,sha256=Q3lUBETHpu1aS2FXAO79ADYqCxOjMMMZNgCcFVa
|
|
|
18
18
|
examples/quickstart.py,sha256=1VT39IRRhemsJgxi0O0gprdpcw7HB4pYO97GAYagIcg,3788
|
|
19
19
|
fleet/__init__.py,sha256=2WHAk_ZRIxDs1uxrWf-sSeokiK4f_nDVHJJ1_VUFSPA,2306
|
|
20
20
|
fleet/base.py,sha256=0yYuMN0lBkrfTTZBt5NQp5112xWgziuWEk4GuHJB1wE,9189
|
|
21
|
-
fleet/client.py,sha256=
|
|
21
|
+
fleet/client.py,sha256=GxpQufucXEJedb0MWE1wZL1G40CLV1c-GzUsUYNSxmU,22475
|
|
22
22
|
fleet/config.py,sha256=rqR-y2TbZS-VYACaqrg-PUe0y0UDbR1ZNU1KGJZBwNQ,272
|
|
23
23
|
fleet/exceptions.py,sha256=fUmPwWhnT8SR97lYsRq0kLHQHKtSh2eJS0VQ2caSzEI,5055
|
|
24
24
|
fleet/models.py,sha256=6SqoWdTIygF3jriZW53a-jQ1JZoPatuWZ4JQ1qIY5MY,12453
|
|
25
|
+
fleet/tasks.py,sha256=koyaRk-ytn4yM5oOpGLHrY73KxtJyyJHsdhUFpTjPkk,3400
|
|
25
26
|
fleet/types.py,sha256=eXeI8BFmiU5hln0PVvJbUZs7BSjl6wSqAtN9zaJT6yY,652
|
|
26
27
|
fleet/_async/__init__.py,sha256=AJWCnuo7XKja4yBb8fK2wX7ntciLXQrpzdRHwjTRP6M,62
|
|
27
28
|
fleet/_async/base.py,sha256=s0rYOtXsMJeitOvpa-Oh8ciLV226p_TIPp3fplzWvV4,9209
|
|
28
|
-
fleet/_async/client.py,sha256=
|
|
29
|
+
fleet/_async/client.py,sha256=DMLjGtLpeDzl2bJ8VO753IzzvLaR0l9TeP5C8fmlfio,22382
|
|
29
30
|
fleet/_async/exceptions.py,sha256=fUmPwWhnT8SR97lYsRq0kLHQHKtSh2eJS0VQ2caSzEI,5055
|
|
30
31
|
fleet/_async/models.py,sha256=6SqoWdTIygF3jriZW53a-jQ1JZoPatuWZ4JQ1qIY5MY,12453
|
|
31
|
-
fleet/_async/tasks.py,sha256=
|
|
32
|
+
fleet/_async/tasks.py,sha256=WXZNGHYzNBeG5QF6EjOMNFpR5x3XZMdAwuwxZRTwFJI,4231
|
|
32
33
|
fleet/_async/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
fleet/_async/env/client.py,sha256=
|
|
34
|
+
fleet/_async/env/client.py,sha256=LJ0P9Dn06RhmzVCC9hnTTqd9k0LcWOaQ5nm4G7y1sOY,969
|
|
34
35
|
fleet/_async/instance/__init__.py,sha256=PtmJq8J8bh0SOQ2V55QURz5GJfobozwtQoqhaOk3_tI,515
|
|
35
36
|
fleet/_async/instance/base.py,sha256=3qUBuUR8OVS36LzdP6KyZzngtwPKYO09HoY6Ekxp-KA,1625
|
|
36
37
|
fleet/_async/instance/client.py,sha256=2ZNoBxRJXDQc8fohCLy_RNo-wmuUKXzJo5RZQeCQnkQ,6069
|
|
@@ -41,8 +42,8 @@ fleet/_async/resources/sqlite.py,sha256=DvDLRI5dJ7_v4WkHw-Zday1M_FQUdzAqUCy9FtfO
|
|
|
41
42
|
fleet/_async/verifiers/__init__.py,sha256=7dtLOFgirYQmEIiDMcx02-ZqR7yqrfjOiqBBuXBz914,466
|
|
42
43
|
fleet/_async/verifiers/bundler.py,sha256=A4yR3wBOcVZYFAv87CD58QlJn6L4QXeilrasnVm8n74,26185
|
|
43
44
|
fleet/_async/verifiers/verifier.py,sha256=vS2Nv-tLgDa_1xhMHdkw0297uNMzzSlRPsXe4zIJsqw,14528
|
|
44
|
-
fleet/env/__init__.py,sha256=
|
|
45
|
-
fleet/env/client.py,sha256=
|
|
45
|
+
fleet/env/__init__.py,sha256=w88In82IhmuGpRMW-bPlWGLTqdSWH2ic9eU6-8L8Rps,631
|
|
46
|
+
fleet/env/client.py,sha256=WbjtYME1N4_Z88HDoLtsrNHRw8N5XNuXvRK8w48K-So,796
|
|
46
47
|
fleet/instance/__init__.py,sha256=-Anms7Vw_FO8VBIvwnAnq4rQjwl_XNfAS-i7bypHMow,478
|
|
47
48
|
fleet/instance/base.py,sha256=OYqzBwZFfTX9wlBGSG5gljqj98NbiJeKIfFJ3uj5I4s,1587
|
|
48
49
|
fleet/instance/client.py,sha256=0gNXWRKNSXUqVTf6E5VUFO2gEZrBTF87QnvpLr5xaD8,5895
|
|
@@ -60,10 +61,10 @@ fleet/verifiers/decorator.py,sha256=Q-KHhicnIYFwX7FX_VZguzNfu8ZslqNUeWxcS2CwNVY,
|
|
|
60
61
|
fleet/verifiers/parse.py,sha256=W4cBnto-XfPNrRwsYs7PFR3QJoI5UfWyB-QWsm1jUEg,7844
|
|
61
62
|
fleet/verifiers/sql_differ.py,sha256=dmiGCFXVMEMbAX519OjhVqgA8ZvhnvdmC1BVpL7QCF0,6490
|
|
62
63
|
fleet/verifiers/verifier.py,sha256=7yiqko332lX0pgjbyAQ6KbaGm_V8TX864ceH-4fvvW0,14470
|
|
63
|
-
fleet_python-0.2.
|
|
64
|
+
fleet_python-0.2.29.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
64
65
|
scripts/fix_sync_imports.py,sha256=m2OHz1lCAdDVIRhPvn8grNXpRaPo1b99dRMYI7TiEes,7117
|
|
65
66
|
scripts/unasync.py,sha256=--Fmaae47o-dZ1HYgX1c3Nvi-rMjcFymTRlJcWWnmpw,725
|
|
66
|
-
fleet_python-0.2.
|
|
67
|
-
fleet_python-0.2.
|
|
68
|
-
fleet_python-0.2.
|
|
69
|
-
fleet_python-0.2.
|
|
67
|
+
fleet_python-0.2.29.dist-info/METADATA,sha256=jEanmSO_HJs7L4Xhw0a_iWu5SPqVH9F3ieqV94BmVBA,3347
|
|
68
|
+
fleet_python-0.2.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
+
fleet_python-0.2.29.dist-info/top_level.txt,sha256=_3DSmTohvSDf3AIP_BYfGzhwO1ECFwuzg83X-wHCx3Y,23
|
|
70
|
+
fleet_python-0.2.29.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|