skypilot-nightly 1.0.0.dev20241015__py3-none-any.whl → 1.0.0.dev20241017__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.
sky/__init__.py CHANGED
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  import urllib.request
6
6
 
7
7
  # Replaced with the current commit when building the wheels.
8
- _SKYPILOT_COMMIT_SHA = 'a4e2fcd438d70373377c85bcbec1b185ef04c99f'
8
+ _SKYPILOT_COMMIT_SHA = '3e98afe8f96531ffb6332679083918f7ad67481e'
9
9
 
10
10
 
11
11
  def _get_git_commit():
@@ -35,7 +35,7 @@ def _get_git_commit():
35
35
 
36
36
 
37
37
  __commit__ = _get_git_commit()
38
- __version__ = '1.0.0.dev20241015'
38
+ __version__ = '1.0.0.dev20241017'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
sky/clouds/gcp.py CHANGED
@@ -94,6 +94,12 @@ _IMAGE_NOT_FOUND_UX_MESSAGE = (
94
94
  f'\nTo query common AI images: {colorama.Style.BRIGHT}gcloud compute images list --project deeplearning-platform-release | less{colorama.Style.RESET_ALL}'
95
95
  )
96
96
 
97
+ # Image ID tags
98
+ _DEFAULT_CPU_IMAGE_ID = 'skypilot:custom-cpu-ubuntu-2204'
99
+ # For GPU-related package version, see sky/clouds/service_catalog/images/provisioners/cuda.sh
100
+ _DEFAULT_GPU_IMAGE_ID = 'skypilot:custom-gpu-ubuntu-2204'
101
+ _DEFAULT_GPU_K80_IMAGE_ID = 'skypilot:k80-debian-10'
102
+
97
103
 
98
104
  def _run_output(cmd):
99
105
  proc = subprocess.run(cmd,
@@ -422,7 +428,7 @@ class GCP(clouds.Cloud):
422
428
  # --no-standard-images
423
429
  # We use the debian image, as the ubuntu image has some connectivity
424
430
  # issue when first booted.
425
- image_id = 'skypilot:cpu-debian-11'
431
+ image_id = _DEFAULT_CPU_IMAGE_ID
426
432
 
427
433
  def _failover_disk_tier() -> Optional[resources_utils.DiskTier]:
428
434
  if (r.disk_tier is not None and
@@ -477,7 +483,7 @@ class GCP(clouds.Cloud):
477
483
  if acc in ('A100-80GB', 'L4'):
478
484
  # A100-80GB and L4 have a different name pattern.
479
485
  resources_vars['gpu'] = f'nvidia-{acc.lower()}'
480
- elif acc == 'H100':
486
+ elif acc in ('H100', 'H100-MEGA'):
481
487
  resources_vars['gpu'] = f'nvidia-{acc.lower()}-80gb'
482
488
  else:
483
489
  resources_vars['gpu'] = 'nvidia-tesla-{}'.format(
@@ -487,10 +493,10 @@ class GCP(clouds.Cloud):
487
493
  # Though the image is called cu113, it actually has later
488
494
  # versions of CUDA as noted below.
489
495
  # CUDA driver version 470.57.02, CUDA Library 11.4
490
- image_id = 'skypilot:k80-debian-10'
496
+ image_id = _DEFAULT_GPU_K80_IMAGE_ID
491
497
  else:
492
498
  # CUDA driver version 535.86.10, CUDA Library 12.2
493
- image_id = 'skypilot:gpu-debian-11'
499
+ image_id = _DEFAULT_GPU_IMAGE_ID
494
500
 
495
501
  if (resources.image_id is not None and
496
502
  resources.extract_docker_image() is None):
@@ -540,6 +546,11 @@ class GCP(clouds.Cloud):
540
546
  resources_vars[
541
547
  'force_enable_external_ips'] = skypilot_config.get_nested(
542
548
  ('gcp', 'force_enable_external_ips'), False)
549
+
550
+ # Add gVNIC from config
551
+ resources_vars['enable_gvnic'] = skypilot_config.get_nested(
552
+ ('gcp', 'enable_gvnic'), False)
553
+
543
554
  return resources_vars
544
555
 
545
556
  def _get_feasible_launchable_resources(
@@ -419,6 +419,11 @@ def _get_gpus_for_zone(zone: str) -> 'pd.DataFrame':
419
419
  if count != 8:
420
420
  # H100 only has 8 cards.
421
421
  continue
422
+ if 'H100-MEGA-80GB' in gpu_name:
423
+ gpu_name = 'H100-MEGA'
424
+ if count != 8:
425
+ # H100-MEGA only has 8 cards.
426
+ continue
422
427
  if 'VWS' in gpu_name:
423
428
  continue
424
429
  if gpu_name.startswith('TPU-'):
@@ -447,6 +452,7 @@ def _gpu_info_from_name(name: str) -> Optional[Dict[str, List[Dict[str, Any]]]]:
447
452
  'A100-80GB': 80 * 1024,
448
453
  'A100': 40 * 1024,
449
454
  'H100': 80 * 1024,
455
+ 'H100-MEGA': 80 * 1024,
450
456
  'P4': 8 * 1024,
451
457
  'T4': 16 * 1024,
452
458
  'V100': 16 * 1024,
@@ -491,12 +497,17 @@ def get_gpu_df(skus: List[Dict[str, Any]],
491
497
  if sku['category']['usageType'] != ondemand_or_spot:
492
498
  continue
493
499
 
494
- gpu_name = row['AcceleratorName']
495
- if gpu_name == 'A100-80GB':
496
- gpu_name = 'A100 80GB'
497
- if gpu_name == 'H100':
498
- gpu_name = 'H100 80GB'
499
- if f'{gpu_name} GPU' not in sku['description']:
500
+ gpu_names = [row['AcceleratorName']]
501
+ if gpu_names[0] == 'A100-80GB':
502
+ gpu_names = ['A100 80GB']
503
+ if gpu_names[0] == 'H100':
504
+ gpu_names = ['H100 80GB']
505
+ if gpu_names[0] == 'H100-MEGA':
506
+ # Seems that H100-MEGA has two different descriptions in SKUs in
507
+ # different regions: 'H100 80GB Mega' and 'H100 80GB Plus'.
508
+ gpu_names = ['H100 80GB Mega', 'H100 80GB Plus']
509
+ if not any(f'{gpu_name} GPU' in sku['description']
510
+ for gpu_name in gpu_names):
500
511
  continue
501
512
 
502
513
  unit_price = _get_unit_price(sku)
@@ -98,6 +98,9 @@ _ACC_INSTANCE_TYPE_DICTS = {
98
98
  },
99
99
  'H100': {
100
100
  8: ['a3-highgpu-8g'],
101
+ },
102
+ 'H100-MEGA': {
103
+ 8: ['a3-megagpu-8g'],
101
104
  }
102
105
  }
103
106
 
@@ -670,8 +670,12 @@ def _configure_subnet(region: str, cluster_name: str,
670
670
  'accessConfigs': [{
671
671
  'name': 'External NAT',
672
672
  'type': 'ONE_TO_ONE_NAT',
673
- }],
673
+ }]
674
674
  }]
675
+ # Add gVNIC if specified in config
676
+ enable_gvnic = config.provider_config.get('enable_gvnic', False)
677
+ if enable_gvnic:
678
+ default_interfaces[0]['nicType'] = 'gVNIC'
675
679
  enable_external_ips = _enable_external_ips(config)
676
680
  if not enable_external_ips:
677
681
  # Removing this key means the VM will not be assigned an external IP.
sky/skylet/constants.py CHANGED
@@ -155,8 +155,8 @@ CONDA_INSTALLATION_COMMANDS = (
155
155
  # We use --system-site-packages to reuse the system site packages to avoid
156
156
  # the overhead of installing the same packages in the new environment.
157
157
  f'[ -d {SKY_REMOTE_PYTHON_ENV} ] || '
158
- f'{{ {SKY_PYTHON_CMD} -m venv {SKY_REMOTE_PYTHON_ENV} --system-site-packages && '
159
- f'echo "$(echo {SKY_REMOTE_PYTHON_ENV})/bin/python" > {SKY_PYTHON_PATH_FILE}; }};'
158
+ f'{SKY_PYTHON_CMD} -m venv {SKY_REMOTE_PYTHON_ENV} --system-site-packages;'
159
+ f'echo "$(echo {SKY_REMOTE_PYTHON_ENV})/bin/python" > {SKY_PYTHON_PATH_FILE};'
160
160
  )
161
161
 
162
162
  _sky_version = str(version.parse(sky.__version__))
@@ -64,6 +64,9 @@ provider:
64
64
  # leakage.
65
65
  disable_launch_config_check: true
66
66
  use_managed_instance_group: {{ gcp_use_managed_instance_group }}
67
+ {%- if enable_gvnic %}
68
+ enable_gvnic: {{ enable_gvnic }}
69
+ {%- endif %}
67
70
 
68
71
  auth:
69
72
  ssh_user: gcpuser
sky/utils/schemas.py CHANGED
@@ -755,6 +755,9 @@ def get_config_schema():
755
755
  'force_enable_external_ips': {
756
756
  'type': 'boolean'
757
757
  },
758
+ 'enable_gvnic': {
759
+ 'type': 'boolean'
760
+ },
758
761
  **_LABELS_SCHEMA,
759
762
  **_NETWORK_CONFIG_SCHEMA,
760
763
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241015
3
+ Version: 1.0.0.dev20241017
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=wp2_9HrUWrDIKzYNWBHPGOeQdgEfO8jWVmulsFY4BLY,5854
1
+ sky/__init__.py,sha256=XdaRMNJ4-ritsbPyacMhOoexlt5I17gTGpbN5voU8pQ,5854
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=TfKkVnmRIetATSEVQFp-rOOIRGqVig2i8faSQQt_ixA,20974
4
4
  sky/check.py,sha256=jLMIIJrseaZj1_o5WkbaD9XdyXIlCaT6pyAaIFdhdmA,9079
@@ -46,7 +46,7 @@ sky/clouds/cloud.py,sha256=PPk-Cbf1YbJT8bswcQLtPBtko02OWrRGJKkLzDpytTI,34858
46
46
  sky/clouds/cloud_registry.py,sha256=4yQMv-iBSgyN5aNL4Qxbn0JVE-dkVoEUIgj7S1z9S_Q,955
47
47
  sky/clouds/cudo.py,sha256=H4VyMo5wWGAv2MXZ3xsbWjlZA_cZYnt4ecNlTOOao8Y,13147
48
48
  sky/clouds/fluidstack.py,sha256=iOmoOx52yTrHKMzwBDaxFJCfNo79M61d5tj-Np24Lyc,12436
49
- sky/clouds/gcp.py,sha256=CrSsaSXd83tM78foKH9viBfW1cQsjve3aUQbshsqvDg,54033
49
+ sky/clouds/gcp.py,sha256=lUImS2WJIcUOtrgrVz8zaR4yPGqALqZ0lSmLbjN9xLU,54470
50
50
  sky/clouds/ibm.py,sha256=M8QdjeSFlwssfoY2aOodxG4q5R3eT9K-4lTPDHYvEYI,21476
51
51
  sky/clouds/kubernetes.py,sha256=aWoXWR-S4puZHzuUHroLKxLdTpkqU7j75dQlXECnsmE,28679
52
52
  sky/clouds/lambda_cloud.py,sha256=2Al3qCSl-I4iTi7pPPNXcbaLyVfCUgTl__vYBunLB6k,12439
@@ -63,7 +63,7 @@ sky/clouds/service_catalog/config.py,sha256=ylzqewdEBjDg4awvFek6ldYmFrnvD2bVGLZu
63
63
  sky/clouds/service_catalog/constants.py,sha256=ai2yOlsVqBnEpbxaEHXt61COsHBLwOfw6GZXntEPj7k,411
64
64
  sky/clouds/service_catalog/cudo_catalog.py,sha256=QXAOpx5fJ_cGCr5LbB7wpHMfKIla7G-q_mMJnv_ArTA,4652
65
65
  sky/clouds/service_catalog/fluidstack_catalog.py,sha256=c8MMTldG-q97MJ0zJymudQiOVQC_rxS7vqrZgLrgbQA,5038
66
- sky/clouds/service_catalog/gcp_catalog.py,sha256=MHWq_-jqm68oNpK1i8AlJIGBkSKT-P6xX7DkpvqvpHU,24323
66
+ sky/clouds/service_catalog/gcp_catalog.py,sha256=v_5fsB3dB9oD8U7lBKnCe5ii6AUWEOiQjNarMnU_qLA,24379
67
67
  sky/clouds/service_catalog/ibm_catalog.py,sha256=0dzjmXABFECzaAuIa0E6pVINhVK6-G6U52Mj-L45gK8,4472
68
68
  sky/clouds/service_catalog/kubernetes_catalog.py,sha256=6OocEUkgyJtBgHwzu4RPsvru6pj6RwGU-4uSFNQmsSM,8254
69
69
  sky/clouds/service_catalog/lambda_catalog.py,sha256=BAhUGqHj8aVe1zUhEQNO7bQUhcd9jAespGvPyQubTJY,5281
@@ -78,7 +78,7 @@ sky/clouds/service_catalog/data_fetchers/fetch_aws.py,sha256=6gpRtQaQtvT1cMpiVBa
78
78
  sky/clouds/service_catalog/data_fetchers/fetch_azure.py,sha256=jsSVqbSbBIw_IYmO-y2u4co20AJ-JF713KFjUKdO_VA,12272
79
79
  sky/clouds/service_catalog/data_fetchers/fetch_cudo.py,sha256=52P48lvWN0s1ArjeLPeLemPRpxjSRcHincRle0nqdm4,3440
80
80
  sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py,sha256=35nO_VaDOgp5W13kt_lIANSk_CNf7gBiZGJ5fGyZu6o,6808
81
- sky/clouds/service_catalog/data_fetchers/fetch_gcp.py,sha256=2VebGjKkCckQZgOW3MBlfjFvA56U7eaIAh2q-6NYcL0,29070
81
+ sky/clouds/service_catalog/data_fetchers/fetch_gcp.py,sha256=VHwYIPX1kGOvGQ67mtvhKe1enmKFF3knveIktDwdYio,29633
82
82
  sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py,sha256=B7H14so38zayuJGgUrD1PJYJKiVZHGnwH6JJop3F7o0,4918
83
83
  sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py,sha256=SF_gTU74qg6L-DSWneCAbqP0lwZXaaDi5otiMIJbrw0,21462
84
84
  sky/clouds/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -131,7 +131,7 @@ sky/provision/fluidstack/config.py,sha256=hDqesKEVjIhXLTWej3fDdpbHtKBXoybxFGgC6T
131
131
  sky/provision/fluidstack/fluidstack_utils.py,sha256=Y21y2IAiHPLk_b-Lp-ld26SZSfWARhxdDEiu7MtfBmc,5693
132
132
  sky/provision/fluidstack/instance.py,sha256=jZb_zJFkyCZw3QV3Dt-GbUxl_2HR1kxvOxS7G3lkWcA,13708
133
133
  sky/provision/gcp/__init__.py,sha256=zlgjR2JoaGD7sStGStMRu9bJ62f-8NKEIyb-bFHBlzM,528
134
- sky/provision/gcp/config.py,sha256=THxFEtl9FjRvn9WJPYHbPjUaYNI5dXJRrcaznhRfM9k,33161
134
+ sky/provision/gcp/config.py,sha256=i0PhR1ybGErQiPT8cD6E5OFB7LD6sub4Rc-mhgTREVI,33340
135
135
  sky/provision/gcp/constants.py,sha256=ojerfnNEeayJn-0aJq2Uq1iTchxOkpruKrPBbHmdiEw,7448
136
136
  sky/provision/gcp/instance.py,sha256=l2-1nHj4pUoHqOu8HMN1hT1bwd4Q96X8MXgOPsNJUN8,25184
137
137
  sky/provision/gcp/instance_utils.py,sha256=veRBr6Oziv0KaUdC4acuWeaOremNV0gMYCCHaSvY7c8,70943
@@ -187,7 +187,7 @@ sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
187
  sky/skylet/attempt_skylet.py,sha256=GZ6ITjjA0m-da3IxXXfoHR6n4pjp3X3TOXUqVvSrV0k,2136
188
188
  sky/skylet/autostop_lib.py,sha256=JPDHmByuhoNYXSUHl-OnyeJUkOFWn7gDM1FrS7Kr3E8,4478
189
189
  sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
190
- sky/skylet/constants.py,sha256=txAK0602kGtaD42JUYECq5u4rLIZFhOIWz-fLUV1KgA,14652
190
+ sky/skylet/constants.py,sha256=OsuJcQp6UgkQ9Yfml6f_raXXbHS7-_h-v4QNv92y0Gw,14642
191
191
  sky/skylet/events.py,sha256=A09E7LmmwzcGrSG0n8K7d3EZ1ZJr1mmmzoGyhnArYJA,12303
192
192
  sky/skylet/job_lib.py,sha256=csXhJ6lvAxjzSy2PzZvr0sPJyEoVkCvPi2Zjq9JZkHY,35884
193
193
  sky/skylet/log_lib.py,sha256=7rdmEr5Wy9CIGLkWls5-FVeqTL1O2GPy44uDaEAqMS0,19312
@@ -221,7 +221,7 @@ sky/templates/aws-ray.yml.j2,sha256=K0rAuyf1XC_GPFp1BR9df42-Be12A6T2UF0BllVSpYg,
221
221
  sky/templates/azure-ray.yml.j2,sha256=RtYAcAmFQd6TB3j-pbxi7ekjWhznqFhJtzdkqH_nXqM,6135
222
222
  sky/templates/cudo-ray.yml.j2,sha256=SEHVY57iBauCOE2HYJtYVFEKlriAkdwQu_p86a1n_bA,3548
223
223
  sky/templates/fluidstack-ray.yml.j2,sha256=t8TCULgiErCZdtFmBZVsA8ZdcqR7ccwsmQhuDFTBEAU,3541
224
- sky/templates/gcp-ray.yml.j2,sha256=q2xSWxxYI8MVAq_mA__8FF6PwEqXCAW1SOEOGTt0qPw,9591
224
+ sky/templates/gcp-ray.yml.j2,sha256=y95B-Nk6hFxm6vEIaxI1wFzAIcy_GcKC3XMYo9m-ThI,9662
225
225
  sky/templates/ibm-ray.yml.j2,sha256=RMBUqPId8i4CnVwcyfK3DbRapF1jFMuGQlY0E0PFbMU,6669
226
226
  sky/templates/jobs-controller.yaml.j2,sha256=Gu3ogFxFYr09VEXP-6zEbrCUOFo1aYxWEjAq7whCrxo,1607
227
227
  sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
@@ -255,7 +255,7 @@ sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM
255
255
  sky/utils/log_utils.py,sha256=ptv2sbsiJSgk4NvdccrMsUR-MvOKnbu4BQiRSishgk0,12472
256
256
  sky/utils/resources_utils.py,sha256=sJuPextjJKHhvDGAaOPEzeEkteryF2fGNgNgBLqnLic,7419
257
257
  sky/utils/rich_utils.py,sha256=hmnI1X5dKvRIQzB7EyNb34FT97qFNve-0QHqM5r0mVk,3066
258
- sky/utils/schemas.py,sha256=QT0Fxri2o0SiWkky1DlZhA1dzQRQoB5OdVaej0wJvhc,28787
258
+ sky/utils/schemas.py,sha256=qo9j1TJZXqgJlBgbQfqz1oIZAxc3CN8uWooKYPQXXIY,28878
259
259
  sky/utils/subprocess_utils.py,sha256=3R54Elc2n8DQeO6Y8MCDJ6N6v27HDGpbNMIfCquqXYQ,6552
260
260
  sky/utils/timeline.py,sha256=ao_nm0y52ZQILfL7Y92c3pSEFRyPm_ElORC3DrI5BwQ,3936
261
261
  sky/utils/ux_utils.py,sha256=CqyIFGDuSE8fQasPkna_loZMwtboC9KedR09WEQ7qz0,6502
@@ -273,9 +273,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=KPqp23B-zQ2SZK03jdHeF9fLTog
273
273
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
274
274
  sky/utils/kubernetes/rsync_helper.sh,sha256=aRMa_0JRHtXFOPtEg4rFAwR1t57wvvAoGZhn3H3BtGk,1059
275
275
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=RFLJ3k7MR5UN4SKHykQ0lV9SgXumoULpKYIAt1vh-HU,6560
276
- skypilot_nightly-1.0.0.dev20241015.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
- skypilot_nightly-1.0.0.dev20241015.dist-info/METADATA,sha256=bi4nYXgxrzZkWNu-u5MEHjWs5J91R9LhI9pG3RuQvqo,18945
278
- skypilot_nightly-1.0.0.dev20241015.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
279
- skypilot_nightly-1.0.0.dev20241015.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
- skypilot_nightly-1.0.0.dev20241015.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
- skypilot_nightly-1.0.0.dev20241015.dist-info/RECORD,,
276
+ skypilot_nightly-1.0.0.dev20241017.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
+ skypilot_nightly-1.0.0.dev20241017.dist-info/METADATA,sha256=enbjKxXe134HA1nE0fpSR0FjL3hjnNWnVtUC6p2MJYo,18945
278
+ skypilot_nightly-1.0.0.dev20241017.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
279
+ skypilot_nightly-1.0.0.dev20241017.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
+ skypilot_nightly-1.0.0.dev20241017.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
+ skypilot_nightly-1.0.0.dev20241017.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5