anyscale 0.26.21__py3-none-any.whl → 0.26.22__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.
@@ -1,12 +1,15 @@
1
- from typing import Optional, Union
1
+ from typing import List, Optional, Union
2
2
 
3
+ from anyscale._private.models.model_base import ResultIterator
3
4
  from anyscale._private.sdk import sdk_command
4
5
  from anyscale.service._private.service_sdk import PrivateServiceSDK
5
6
  from anyscale.service.models import (
6
7
  ServiceConfig,
7
8
  ServiceLogMode,
9
+ ServiceSortField,
8
10
  ServiceState,
9
11
  ServiceStatus,
12
+ SortOrder,
10
13
  )
11
14
 
12
15
 
@@ -333,3 +336,77 @@ def _controller_logs(
333
336
  mode=mode,
334
337
  max_lines=max_lines,
335
338
  )
339
+
340
+
341
+ _LIST_EXAMPLE = """
342
+ import anyscale
343
+ from anyscale.service.models import ServiceState
344
+
345
+ # Example: Get the first 50 running services
346
+ for svc in anyscale.service.list(max_items=50, state_filter=[ServiceState.RUNNING]):
347
+ print(svc.name)
348
+ """
349
+
350
+ _LIST_ARG_DOCSTRINGS = {
351
+ "service_id": (
352
+ "If provided, returns just the service with this ID "
353
+ "wrapped in a one-page iterator."
354
+ ),
355
+ "name": "Substring to match against the service name.",
356
+ "state_filter": (
357
+ "List of states to include. "
358
+ "May be `ServiceState` enums or case-insensitive strings."
359
+ ),
360
+ "creator_id": "Filter services by user ID.",
361
+ "cloud": "Name of the Anyscale Cloud to search in.",
362
+ "project": "Name of the Anyscale Project to search in.",
363
+ "include_archived": "Include archived services (default: False).",
364
+ # Paging
365
+ "max_items": "Maximum **total** number of items to yield (default: iterate all).",
366
+ "page_size": "Number of items to fetch per API request (default: API default).",
367
+ # Sorting
368
+ "sort_field": "Field to sort by (`NAME`, `STATUS`, `CREATED_AT`).",
369
+ "sort_order": "Sort direction (`ASC` or `DESC`).",
370
+ }
371
+
372
+ # Public command
373
+ @sdk_command(
374
+ _SERVICE_SDK_SINGLETON_KEY,
375
+ PrivateServiceSDK,
376
+ doc_py_example=_LIST_EXAMPLE,
377
+ arg_docstrings=_LIST_ARG_DOCSTRINGS,
378
+ )
379
+ def list( # noqa: A001
380
+ *,
381
+ # Single-item lookup
382
+ service_id: Optional[str] = None,
383
+ # Filters
384
+ name: Optional[str] = None,
385
+ state_filter: Optional[Union[List[ServiceState], List[str]]] = None,
386
+ creator_id: Optional[str] = None,
387
+ cloud: Optional[str] = None,
388
+ project: Optional[str] = None,
389
+ include_archived: bool = False,
390
+ # Paging
391
+ max_items: Optional[int] = None,
392
+ page_size: Optional[int] = None,
393
+ # Sorting
394
+ sort_field: Optional[Union[str, ServiceSortField]] = None,
395
+ sort_order: Optional[Union[str, SortOrder]] = None,
396
+ # Injected SDK
397
+ _private_sdk: Optional[PrivateServiceSDK] = None,
398
+ ) -> ResultIterator[ServiceStatus]:
399
+ """List services or fetch a single service by ID."""
400
+ return _private_sdk.list( # type: ignore
401
+ service_id=service_id,
402
+ name=name,
403
+ state_filter=state_filter,
404
+ creator_id=creator_id,
405
+ cloud=cloud,
406
+ project=project,
407
+ include_archived=include_archived,
408
+ max_items=max_items,
409
+ page_size=page_size,
410
+ sort_field=sort_field,
411
+ sort_order=sort_order,
412
+ )
@@ -1,4 +1,5 @@
1
1
  from dataclasses import dataclass, field
2
+ from datetime import datetime
2
3
  from typing import Any, Dict, List, Optional, Union
3
4
 
4
5
  from anyscale._private.models import ModelBase, ModelEnum
@@ -488,6 +489,7 @@ primary_version:
488
489
  id: 601bd56c4b
489
490
  state: RUNNING
490
491
  weight: 100
492
+ created_at: 2025-04-18 17:21:28.323174+00:00
491
493
  """
492
494
 
493
495
  id: str = field(
@@ -525,6 +527,14 @@ primary_version:
525
527
  if not isinstance(weight, int):
526
528
  raise TypeError("'weight' must be an int.")
527
529
 
530
+ created_at: datetime = field(
531
+ metadata={"docstring": "Creation time of the service version."},
532
+ )
533
+
534
+ def _validate_created_at(self, created_at: datetime):
535
+ if not isinstance(created_at, datetime):
536
+ raise TypeError("created_at must be a datetime.")
537
+
528
538
  config: Union[ServiceConfig, Dict] = field(
529
539
  repr=False, metadata={"docstring": "Configuration of this service version."}
530
540
  )
@@ -598,6 +608,15 @@ primary_version:
598
608
  if not isinstance(query_url, str):
599
609
  raise TypeError("'query_url' must be a string.")
600
610
 
611
+ creator: Optional[str] = field(
612
+ default=None,
613
+ metadata={"docstring": "Email of the user or entity that created the service."},
614
+ )
615
+
616
+ def _validate_creator(self, creator: Optional[str]):
617
+ if creator is not None and not isinstance(creator, str):
618
+ raise TypeError("'creator' must be a string.")
619
+
601
620
  query_auth_token: Optional[str] = field(
602
621
  default=None,
603
622
  repr=False,
@@ -658,6 +677,31 @@ primary_version:
658
677
 
659
678
  return canary_version
660
679
 
680
+ project: Optional[str] = field(
681
+ default=None,
682
+ metadata={
683
+ "docstring": "Name of the project that this service version belongs to."
684
+ },
685
+ )
686
+
687
+ def _validate_project(self, project: Optional[str]):
688
+ if project is not None and not isinstance(project, str):
689
+ raise TypeError("project must be a string.")
690
+
691
+
692
+ class ServiceSortField(ModelEnum):
693
+ """Fields available for sorting services."""
694
+
695
+ STATUS = "STATUS"
696
+ NAME = "NAME"
697
+ CREATED_AT = "CREATED_AT"
698
+
699
+ __docstrings__ = {
700
+ STATUS: "Sort by service status (active first by default).",
701
+ NAME: "Sort by service name.",
702
+ CREATED_AT: "Sort by creation timestamp.",
703
+ }
704
+
661
705
 
662
706
  class ServiceLogMode(ModelEnum):
663
707
  """Mode to use for getting job logs."""
@@ -669,3 +713,24 @@ class ServiceLogMode(ModelEnum):
669
713
  HEAD: "Fetch logs from the start.",
670
714
  TAIL: "Fetch logs from the end.",
671
715
  }
716
+
717
+
718
+ @dataclass(frozen=True)
719
+ class ServiceModel(ModelBase):
720
+ """A model for a service."""
721
+
722
+ id: str = field(metadata={"docstring": "Unique ID of the service."})
723
+ name: str = field(metadata={"docstring": "Name of the service."})
724
+ state: ServiceState = field(metadata={"docstring": "Current state of the service."})
725
+
726
+
727
+ class SortOrder(ModelEnum):
728
+ """Enum for sort order directions."""
729
+
730
+ ASC = "ASC"
731
+ DESC = "DESC"
732
+
733
+ __docstrings__ = {
734
+ ASC: "Sort in ascending order.",
735
+ DESC: "Sort in descending order.",
736
+ }
anyscale/util.py CHANGED
@@ -37,7 +37,10 @@ from anyscale.authenticate import get_auth_api_client
37
37
  from anyscale.aws_iam_policies import ANYSCALE_IAM_POLICIES, AnyscaleIAMPolicy
38
38
  from anyscale.cli_logger import BlockLogger, CloudSetupLogger
39
39
  from anyscale.client.openapi_client.api.default_api import DefaultApi as ProductApi
40
- from anyscale.client.openapi_client.models import AWSMemoryDBClusterConfig
40
+ from anyscale.client.openapi_client.models import (
41
+ AWSMemoryDBClusterConfig,
42
+ ServiceEventCurrentState,
43
+ )
41
44
  from anyscale.client.openapi_client.models.cloud_analytics_event_cloud_resource import (
42
45
  CloudAnalyticsEventCloudResource,
43
46
  )
@@ -127,6 +130,15 @@ MEMORY_DB_RESOURCE = """ MemoryDBSubnetGroup:
127
130
  GCP_DEPLOYMENT_MANAGER_TIMEOUT_SECONDS_LONG = 600 # 10 minutes
128
131
 
129
132
 
133
+ class AnyscaleJSONEncoder(json.JSONEncoder):
134
+ """Custom JSON encoder for Anyscale models, handling datetime objects."""
135
+
136
+ def default(self, obj):
137
+ if isinstance(obj, datetime.datetime):
138
+ return obj.isoformat()
139
+ return json.JSONEncoder.default(self, obj)
140
+
141
+
130
142
  def confirm(msg: str, yes: bool) -> Optional[bool]:
131
143
  return None if yes else click.confirm(msg, abort=True)
132
144
 
@@ -623,6 +635,28 @@ def validate_non_negative_arg(ctx, param, value): # noqa: ARG001
623
635
  return value
624
636
 
625
637
 
638
+ def validate_service_state_filter(
639
+ ctx, param, value: Tuple[str, ...] # noqa: ARG001
640
+ ) -> List[str]:
641
+ """Validate ServiceEventCurrentState values."""
642
+ if not value:
643
+ return []
644
+
645
+ allowable_values_upper = {
646
+ s.upper() for s in ServiceEventCurrentState.allowable_values
647
+ }
648
+ allowed_values_str = ", ".join(ServiceEventCurrentState.allowable_values)
649
+
650
+ for state_str in value:
651
+ state_upper = state_str.upper()
652
+ if state_upper not in allowable_values_upper:
653
+ raise click.ClickException(
654
+ f"'{state_str}' is not a valid value for {param.opts[0]}. Allowed values: {allowed_values_str}"
655
+ )
656
+
657
+ return [s.upper() for s in value]
658
+
659
+
626
660
  def _update_external_ids_for_policy(
627
661
  original_policy: Dict[str, Any], new_external_id: str
628
662
  ):
anyscale/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.26.21"
1
+ __version__ = "0.26.22"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: anyscale
3
- Version: 0.26.21
3
+ Version: 0.26.22
4
4
  Summary: Command Line Interface for Anyscale
5
5
  Author: Anyscale Inc.
6
6
  License: AS License
@@ -26,14 +26,14 @@ anyscale/project_utils.py,sha256=SBwkD5B10ku2kkmp6y-Cr5RL7xf52b9zELP35kfg2PE,176
26
26
  anyscale/scripts.py,sha256=2LWIBxPHRhFG8m0La7xJXM2xKOQIG3SvlQobS4op2b0,5624
27
27
  anyscale/snapshot.py,sha256=UGJT5C1s_4xmQxjWODK5DFpGxHRBX5jOCdSCqXESH8E,1685
28
28
  anyscale/tables.py,sha256=TV4F2uLnwehvbkAfaP7iuLlT2wLIo6ORH2LVdRGXW5g,2840
29
- anyscale/util.py,sha256=hDV4_eopdMOoVpdHmhDmxNiK-dlaAbSXLva4BM_PJFE,40825
30
- anyscale/version.py,sha256=gtsPKN_satzDwTv3o1otQl1HwWzwBXeUyb8XS8-QBNs,24
29
+ anyscale/util.py,sha256=14AHIhl4c4hKAW4gLZIvy5w56-zDjcPmrdWqazsvnHU,41860
30
+ anyscale/version.py,sha256=TzFsFLuSSx5Ek_9DZNRJoL6Ff3sZxQYRzL9DkMtHXBA,24
31
31
  anyscale/workspace_utils.py,sha256=OViE88CnIF5ruVxd3kazQ0Mf2BxqtMq6wx-XQ5A2cp8,1204
32
32
  anyscale/_private/anyscale_client/README.md,sha256=gk8obk7kqg6VWoUHcqDMwJULh35tYKEZFC0UF_dixGA,718
33
33
  anyscale/_private/anyscale_client/__init__.py,sha256=807Blx3RHQeS8BmKZcsOQQ4dYoKlCnpm6Bdsif2CrHg,337
34
- anyscale/_private/anyscale_client/anyscale_client.py,sha256=hxfWEGboSvh4O0-FqeyetolOqHwVEd9CClu8L2eKuTg,80768
35
- anyscale/_private/anyscale_client/common.py,sha256=92mgcResQSXDIWTT-UrRWSMJ-cf7QccEg91JlZyxObw,24433
36
- anyscale/_private/anyscale_client/fake_anyscale_client.py,sha256=pwaGUs88ANkt0D22bfq3hRFyXynMpwZgQ2wloT1Y3xY,53950
34
+ anyscale/_private/anyscale_client/anyscale_client.py,sha256=puf4cWCTttMQgdGBgK_BNh2-0P8JSjfW8mFDdnEgb2c,82799
35
+ anyscale/_private/anyscale_client/common.py,sha256=kKIFhGUrIpx4whqyP43K-XdjtP0FFCdp151rSTOYtiM,25416
36
+ anyscale/_private/anyscale_client/fake_anyscale_client.py,sha256=54jDPs2ZkLIP1A-69i-gI6bvEgB5mgYbZav18jxWEzw,57041
37
37
  anyscale/_private/docgen/README.md,sha256=z0tj8Jy0KmxWJBQMHKyzXGX_cYYgI8m5DCD6KCMU8oI,762
38
38
  anyscale/_private/docgen/__main__.py,sha256=rAKbkAjIyOps76XCrzqsxPdPTU4ANvEbeF3IG4VvVQE,26058
39
39
  anyscale/_private/docgen/api.md,sha256=4SbFnIzpQYcH-aBs0cu15BsVxiNxxnY8-Zb5Dqh4Oxw,30971
@@ -42,7 +42,7 @@ anyscale/_private/docgen/generator_legacy.py,sha256=pss_6ONF55XhARrKGcREDmg0J5pl
42
42
  anyscale/_private/docgen/models.md,sha256=z36cd7YqYr85Wx73bAKmNeLnhOvLUmm53ur66fWFsYo,297657
43
43
  anyscale/_private/models/__init__.py,sha256=ZrkdHhJZNeCYiogsHc_po8m7vaVdxEjkNGixNeYdlgs,125
44
44
  anyscale/_private/models/image_uri.py,sha256=CMzHc-MNTBsBXvX0G73bjkiznCbm95DYQusgXJ8drm8,3971
45
- anyscale/_private/models/model_base.py,sha256=11aJdjev8DRYoJtwVDrxJILkeoHyQirqOL4tclhD80s,8236
45
+ anyscale/_private/models/model_base.py,sha256=GJLA4JC0yHT554ctMYS_1es-YoTHQH9oqRHr28vV4R0,11354
46
46
  anyscale/_private/sdk/__init__.py,sha256=RXnjesqFtpABFW9oJ5ihXnkFEeKrHWwctUiHHB5jtuc,3657
47
47
  anyscale/_private/sdk/base_sdk.py,sha256=DMkiRA97DsShKtdUxncNbh9mduWGhpNn2CmmPaFcEwI,868
48
48
  anyscale/_private/sdk/timer.py,sha256=NK6rlmjW4NT6qOuxLo65FJ_wN1q23vNBaYDIt7WhSSU,1334
@@ -50,10 +50,10 @@ anyscale/_private/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
50
50
  anyscale/_private/utils/progress_util.py,sha256=7gOI91b8tKsS5dEtbhoenzvsl8408rvw6fhK90DgIXg,2303
51
51
  anyscale/_private/workload/__init__.py,sha256=_wOZsawqp5NZV9He502e2gFSM66hjqxhxNZTqxnrMws,134
52
52
  anyscale/_private/workload/workload_config.py,sha256=uo_x2tM1bAO3CsahKbUSOReauFeJ-t-IKVujhO6KU6I,8603
53
- anyscale/_private/workload/workload_sdk.py,sha256=wk0OuxEK-1ahGD6sLa7xm2MAYzkEK1z-N5qpwUit2oU,13367
53
+ anyscale/_private/workload/workload_sdk.py,sha256=B4dWapNp8w8gWS1BFtFkmVR_y7k8aElFUZ_DMe0-5qY,13425
54
54
  anyscale/aggregated_instance_usage/__init__.py,sha256=mOreJrOZ87NAF3GD2ZEJ48sSwkUDKcTOPa9_DsRBZY8,1290
55
55
  anyscale/aggregated_instance_usage/commands.py,sha256=VonXROdszXPk4fUBADwMoUDxtYSenNO3XyyoHUQdYf0,1337
56
- anyscale/aggregated_instance_usage/models.py,sha256=i78vrTZMoGevvN-89k4Q3W0-agu6TXZdwEtGsokG4L4,2855
56
+ anyscale/aggregated_instance_usage/models.py,sha256=600C2wssovjQkj1KQwzpK-jzXRAzDTxOGcZd_qD9wQ0,2871
57
57
  anyscale/aggregated_instance_usage/_private/aggregated_instance_usage_sdk.py,sha256=mBwpsE5n8NAQ9xAVGtDk-uHSU5UZbZ-DBYfPd_72uFc,1038
58
58
  anyscale/anyscale_halo/LICENSE,sha256=R2t7cIDZ6-VroHO5M_FWET8adqmdI-PGv0AnhyvCo4A,1069
59
59
  anyscale/anyscale_halo/README.md,sha256=ikBBg6631PCMv-HxdIZvIKHmVUxsn3xbFb2GdxXuCtc,41
@@ -105,7 +105,7 @@ anyscale/background/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
105
105
  anyscale/background/job_runner.py,sha256=LTuv9JOahyv6C9i7DLQAONgQF6--FfYZEmJrKy-sUG8,2687
106
106
  anyscale/client/.gitignore,sha256=JZyvYEtT2DCSK9V5Joi6lQofhMik4PXiJRCWsg7SvqI,807
107
107
  anyscale/client/.openapi-generator-ignore,sha256=pu2PTide7pJtJ-DFLzDy0cTYQJRlrB-8RRH3zGLeUds,1040
108
- anyscale/client/README.md,sha256=3FxbrFpKQk2GRf6_rig8DdsCO5N66bpyUEL8I6bJaE8,113251
108
+ anyscale/client/README.md,sha256=DHgy_HZaOYpXRq5mdXeY1gQXrJfa5hl7PtfQVecc81E,113583
109
109
  anyscale/client/git_push.sh,sha256=EDCZOTTiLxbtPHmiU63qC99rGH67B7dhdPZdNUKivF0,1827
110
110
  anyscale/client/requirements.txt,sha256=dkVKYUStC5h_g_87SH7pRdhXCj7ySozAJMGAFEzGgFc,126
111
111
  anyscale/client/setup.cfg,sha256=l7bdKSIedeBhhoDtupsBwx1xPrlBf2yYeTH7a8kMga4,28
@@ -119,7 +119,7 @@ anyscale/client/openapi_client/configuration.py,sha256=Dd5XrlHwv-wxnf0C35PG_-HBQ
119
119
  anyscale/client/openapi_client/exceptions.py,sha256=3egwsXQG2j_vARbqgBxUO1xSltAhpfiHTYVP7VXTvU0,3792
120
120
  anyscale/client/openapi_client/rest.py,sha256=Ehj37v7GHW6SXV067Hze5HE42ayKaGi6a6ZlkR7u3Lg,12501
121
121
  anyscale/client/openapi_client/api/__init__.py,sha256=i8u7BI2xX1GrXTL3hN0pKpYIlnT-D_uDxH2ElOfYG1I,141
122
- anyscale/client/openapi_client/api/default_api.py,sha256=K2P4urpB3fd4PuUED0YpksLguFc8utgljGgnSmtKSQs,1818466
122
+ anyscale/client/openapi_client/api/default_api.py,sha256=SJzNSzwoKHjSNZI7Mtz-eBX8X9-B8tsYUotFUmvkwH0,1824751
123
123
  anyscale/client/openapi_client/models/__init__.py,sha256=RWJEccUSdsZM9QRtU0uH4_qPyGz66DQu5PHlNbyKQVU,49829
124
124
  anyscale/client/openapi_client/models/access_config.py,sha256=b2mA0qtuTA5PFbp6C61Jc_T2zUMaojM1v32IhZo0MfY,3648
125
125
  anyscale/client/openapi_client/models/actor_status.py,sha256=6xyX_aIqURj2raBdY9DmBxsdDACFrqqYvElGiM6YG2E,2813
@@ -734,7 +734,7 @@ anyscale/commands/cloud_commands.py,sha256=kN6BOfCLRPV-fyPyZQ1V-GPqQzrOgsD8zatNQ
734
734
  anyscale/commands/cloud_commands_util.py,sha256=d-6TSZ_syrGkZ3Fc1uRX6jG4dqYMebNkBNpYLojOJFg,247
735
735
  anyscale/commands/cluster_commands.py,sha256=taNcffyFfqJ1MgOQd0cz9kzRXWFTdp-wfLPM4l_2tBc,13487
736
736
  anyscale/commands/cluster_env_commands.py,sha256=KNWylyE8Ew1sDi7yu2Tp4RLcRu2_KJJJIzVGRyPflJo,3899
737
- anyscale/commands/command_examples.py,sha256=NPUvnaHregPYQz8jFEFM-0RtU86OL5b49gDP6yOnJuA,26356
737
+ anyscale/commands/command_examples.py,sha256=NpKuuQBgmZ9sYO6zYHW1EP4Q7dhgk8ES61EmWK8JSNE,26448
738
738
  anyscale/commands/compute_config_commands.py,sha256=vdyrtMcdP8eeK32p_Y6zF-qps6_SyzprhbjRZ9p18tQ,7828
739
739
  anyscale/commands/config_commands.py,sha256=p55uM6WrhfbFoRXC9hNAV-8c5ANghw7tBUYwaQDAtjE,7195
740
740
  anyscale/commands/exec_commands.py,sha256=cMOP1u6xQbl81h69Jug3y73XnNSwpbM6XC1X57SIp4c,465
@@ -743,6 +743,7 @@ anyscale/commands/image_commands.py,sha256=M5UIxeBx40tZWzOJ51dtmB3rjj4VUmxNeK0rW
743
743
  anyscale/commands/job_commands.py,sha256=_U3imBldpwXv-Y-7gWZp3dzt9okpQzACC414H2mPbRg,25113
744
744
  anyscale/commands/job_queue_commands.py,sha256=eq80XfHJpajBY9sBfdFqQRiuZfcHJGTYFm7eX_gESUQ,4953
745
745
  anyscale/commands/list_commands.py,sha256=rcDn-Qh3z99zE9oD7RPPa80-y0ml90W4UbGiYMw4aQo,2710
746
+ anyscale/commands/list_util.py,sha256=tDKC6jQ7XtOVUe2KfHYkF2yRCbGw2fmAHtdmPgchWv8,3717
746
747
  anyscale/commands/login_commands.py,sha256=0pIjpRC3Mw86WjDubJ5v2FHINke-Tk3JvGal_aiQMG0,3477
747
748
  anyscale/commands/logs_commands.py,sha256=OgOwBsEbhcGH-STQ9MOJy8sQBYcZYmd31wzHzVPUo0g,9495
748
749
  anyscale/commands/machine_commands.py,sha256=73rgz9aTIOBYcWX8zH-OYlUx3UuhODHtl1RnKtBdU1E,3641
@@ -753,10 +754,10 @@ anyscale/commands/project_commands.py,sha256=xVm-W5kKzgfbQjAiHSRhnyMIlYgGji1TUfY
753
754
  anyscale/commands/resource_quota_commands.py,sha256=J6r8b6Bo1wMys5pYWieD6F-VsC2OpQZGVLaNFlvAKmI,8536
754
755
  anyscale/commands/schedule_commands.py,sha256=mdwelVght3HnN5YPjtG4Spn0KiEDWmg-UosfaDkQPKE,14485
755
756
  anyscale/commands/service_account_commands.py,sha256=u45N2akHsZxyu5LK03FGEEnZh4dTt4B2Be-dXgbSg3U,3977
756
- anyscale/commands/service_commands.py,sha256=XpBU7vz4b4rHnBnD367nRC_bYhoF6a6YvSTFpyyIrVo,26470
757
+ anyscale/commands/service_commands.py,sha256=M-GRQMbnM5TxNAJZ4194-AfuE8TBs-hl5Y820At6eJk,33271
757
758
  anyscale/commands/session_commands_hidden.py,sha256=APEypnUB1yV2Rr6wdSFWy1vQbAnn-lOn0rU2enF5JdM,6200
758
759
  anyscale/commands/user_commands.py,sha256=C-i1dGpdhboywN_2XgPS2BekKx2y6LZq8c8gvS0S-tY,1259
759
- anyscale/commands/util.py,sha256=h34d1OUOjcC_QMUGc8th-sAp7xDGs4l7YeYmJx82BKk,5106
760
+ anyscale/commands/util.py,sha256=N8gkVv9LBr5QypBGm2e_Pw2F2e_tiiR4YNLmn8CtsK0,5124
760
761
  anyscale/commands/workspace_commands.py,sha256=RjK8rPlIPoReZBb7RPB6z9aFp7gSmnsxDge8d3uj9t8,15768
761
762
  anyscale/commands/workspace_commands_v2.py,sha256=N4vpb54xq_4wrCwsYQrjrjNxYwYvOE3gbP0pmrfYmEE,27964
762
763
  anyscale/commands/anyscale_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -792,7 +793,7 @@ anyscale/controllers/machine_controller.py,sha256=WauNi7Spzt2TFZrIN4PwULzgJZBVDF
792
793
  anyscale/controllers/machine_pool_controller.py,sha256=zRWDJgnkusLfOKtaOB2c3FSE70e2SaZS0iGwO39Rar8,3574
793
794
  anyscale/controllers/project_controller.py,sha256=wAWIRGljy_oQYH7x4ERJxqtbW5z1Vgu9wVN9ifq_vaY,10904
794
795
  anyscale/controllers/schedule_controller.py,sha256=4yLsWfRVqAFAkSV-eUnvLHw1732SUY7oWsgjeJrhhL8,11910
795
- anyscale/controllers/service_controller.py,sha256=a3mrYb_1c7YZh_3RcjT11Q3Rx9mSQ-OYtEg1bG37iiI,17041
796
+ anyscale/controllers/service_controller.py,sha256=mj6epC7KmWB5KG9FGa0j8X-I-UMxiExqGsi80SvHmcM,14467
796
797
  anyscale/controllers/workspace_controller.py,sha256=LNjLMxQ29vBvYiVVLUWVl3AXTHlRU4Ohao0EgiD4ofI,8449
797
798
  anyscale/controllers/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
798
799
  anyscale/controllers/llm/models_controller.py,sha256=IXI9-1LpUPMSuPEChBcZCEagvJHh52R3djfyk5JY1xU,5690
@@ -1034,10 +1035,10 @@ anyscale/sdk/anyscale_client/models/user_service_access_types.py,sha256=3gW1L_VT
1034
1035
  anyscale/sdk/anyscale_client/models/ux_instance.py,sha256=F2F2cxAJ5GElRgHcrxpB7GEpvhM-PJa3qpBBYmhwlUQ,15935
1035
1036
  anyscale/sdk/anyscale_client/models/validation_error.py,sha256=h5Cope8JNSDE3Fpr1TfjcnuJPThF0dd_uawvltOqPt0,4901
1036
1037
  anyscale/sdk/anyscale_client/models/worker_node_type.py,sha256=bI3sPVPA4t4axjdbj7pNlPkKPJDDkOnMgiN7B_o3IZI,15046
1037
- anyscale/service/__init__.py,sha256=xhx3Nn5KFM7AAuEtEnpg2YMAufBkdpF1UcHahVYZyts,6233
1038
- anyscale/service/commands.py,sha256=DLymFztl_YVOmsPrPafw84odEds2B4kW91xA881W3P0,11685
1039
- anyscale/service/models.py,sha256=-e-V1RKZ34ZXPzEBkvq4vfrvum33E_JTTu6uxmDA1Ak,24038
1040
- anyscale/service/_private/service_sdk.py,sha256=5UtvG4PujdvQUVPYlrHj4KE50d8a4JrcB5ro5IWbpZE,29479
1038
+ anyscale/service/__init__.py,sha256=aH9NjJgnIXErG0uRvhjDxv0RHi0vLTQdlzAGZBUQJwU,7911
1039
+ anyscale/service/commands.py,sha256=kbWkHP3hFo0dtz0AgTkG6koqcvd35rzpmAvLZjKY25M,14232
1040
+ anyscale/service/models.py,sha256=In9Nn6xYWSpKwjYaMe1zyRWs1gU-g9J-tNt74BQh0js,25985
1041
+ anyscale/service/_private/service_sdk.py,sha256=MxN-owkUAKnnX--6xrmPkE3gLHWECWxDZVNFWtCVz6k,34286
1041
1042
  anyscale/service_account/__init__.py,sha256=jV1OFo_ZTxU3vuPztO1300TuoMz-Ocudm6_84ZtjPQ4,2764
1042
1043
  anyscale/service_account/commands.py,sha256=pkJjZwK8aRKFFVfE5swMTJrm9CTnPcNJETEFdMkPiic,3680
1043
1044
  anyscale/service_account/models.py,sha256=MhY-Fo5AZQ68brqtolTUMW3WQDrkNyL1udtNg70sNAU,2189
@@ -1103,10 +1104,10 @@ anyscale/workspace/__init__.py,sha256=Innbm5ZhCyADEVBiYSo_vbpKwUNcMzVSAfxIGKOYe6
1103
1104
  anyscale/workspace/commands.py,sha256=b1sqNseoPj-1VXznqQOLe0V_a663bOTvJX-TaOMJa1Y,14590
1104
1105
  anyscale/workspace/models.py,sha256=Ey67KqxdslS51yK7xetbRaFjE8sURAArpf-F38r3cUU,9760
1105
1106
  anyscale/workspace/_private/workspace_sdk.py,sha256=2CMeYfJt0UtIFCocDn1ukw1iI5esKHdopLe6duEs-qE,27599
1106
- anyscale-0.26.21.dist-info/LICENSE,sha256=UOPu974Wzsna6frFv1mu4VrZgNdZT7lbcNPzo5ue3qs,3494
1107
- anyscale-0.26.21.dist-info/METADATA,sha256=TgBZOSFHDQo5IUyGa0AGzJXS6qM9bKGPIvxXo6RNyFI,3160
1108
- anyscale-0.26.21.dist-info/NOTICE,sha256=gHqDhSnUYlRXX-mDOL5FtE7774oiKyV_HO80qM3r9Xo,196
1109
- anyscale-0.26.21.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
1110
- anyscale-0.26.21.dist-info/entry_points.txt,sha256=NqO18sCZn6zG6J0S38itjcN00s7aE3C3v3k5lMAfCLk,51
1111
- anyscale-0.26.21.dist-info/top_level.txt,sha256=g3NVNS8Oh0NZwbFFgeX696C5MZZkS5dqV2NqcsbDRJE,9
1112
- anyscale-0.26.21.dist-info/RECORD,,
1107
+ anyscale-0.26.22.dist-info/LICENSE,sha256=UOPu974Wzsna6frFv1mu4VrZgNdZT7lbcNPzo5ue3qs,3494
1108
+ anyscale-0.26.22.dist-info/METADATA,sha256=_b2gRKDjDbmKiNJ3lTaTBGbqF9O8Md8XNhX9isq768Q,3160
1109
+ anyscale-0.26.22.dist-info/NOTICE,sha256=gHqDhSnUYlRXX-mDOL5FtE7774oiKyV_HO80qM3r9Xo,196
1110
+ anyscale-0.26.22.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
1111
+ anyscale-0.26.22.dist-info/entry_points.txt,sha256=NqO18sCZn6zG6J0S38itjcN00s7aE3C3v3k5lMAfCLk,51
1112
+ anyscale-0.26.22.dist-info/top_level.txt,sha256=g3NVNS8Oh0NZwbFFgeX696C5MZZkS5dqV2NqcsbDRJE,9
1113
+ anyscale-0.26.22.dist-info/RECORD,,