xoscar 0.6.0__cp312-cp312-win_amd64.whl → 0.6.2__cp312-cp312-win_amd64.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 xoscar might be problematic. Click here for more details.

Binary file
@@ -134,6 +134,31 @@ class SubpoolStatus:
134
134
  traceback: TracebackType | None = None
135
135
 
136
136
 
137
+ _PRE_SET_ENV_LOCK = asyncio.Lock()
138
+
139
+
140
+ @contextlib.asynccontextmanager
141
+ async def _pre_set_env_in_main(env: dict[str, str]):
142
+ # Normally, `env` is set in sub pool,
143
+ # but something may have happened during initialization,
144
+ # e.g. CUDA_VISIBLE_DEVICES is too late to set when some actions may have polluted cuda
145
+ # we have to set environ before new process started
146
+ # enable this only when XOSCAR_PRE_SET_ENV=1
147
+ enable_pre_set_env = bool(int(os.getenv("XOSCAR_PRE_SET_ENV", 0)))
148
+ if not enable_pre_set_env or not env:
149
+ yield
150
+ return
151
+
152
+ global_environ = os.environ.copy()
153
+ async with _PRE_SET_ENV_LOCK:
154
+ try:
155
+ logger.debug("Updating environment variables in main: %s", env)
156
+ os.environ.update(env)
157
+ yield
158
+ finally:
159
+ os.environ = global_environ # type: ignore
160
+
161
+
137
162
  @_register_message_handler
138
163
  class MainActorPool(MainActorPoolBase):
139
164
  @classmethod
@@ -223,9 +248,12 @@ class MainActorPool(MainActorPoolBase):
223
248
 
224
249
  _patch_spawn_get_preparation_data()
225
250
  loop = asyncio.get_running_loop()
226
- with futures.ThreadPoolExecutor(1) as executor:
227
- create_pool_task = loop.run_in_executor(executor, start_pool_in_process)
228
- return await create_pool_task
251
+ async with _pre_set_env_in_main(
252
+ actor_pool_config.get_pool_config(process_index)["env"]
253
+ ):
254
+ with futures.ThreadPoolExecutor(1) as executor:
255
+ create_pool_task = loop.run_in_executor(executor, start_pool_in_process)
256
+ return await create_pool_task
229
257
 
230
258
  @classmethod
231
259
  async def wait_sub_pools_ready(cls, create_pool_tasks: List[asyncio.Task]):
@@ -394,9 +422,10 @@ class MainActorPool(MainActorPoolBase):
394
422
  return process, process_status
395
423
 
396
424
  loop = asyncio.get_running_loop()
397
- with futures.ThreadPoolExecutor(1) as executor:
398
- create_pool_task = loop.run_in_executor(executor, start_pool_in_process)
399
- process, process_status = await create_pool_task
425
+ async with _pre_set_env_in_main(env): # type: ignore
426
+ with futures.ThreadPoolExecutor(1) as executor:
427
+ create_pool_task = loop.run_in_executor(executor, start_pool_in_process)
428
+ process, process_status = await create_pool_task
400
429
 
401
430
  self._config.reset_pool_external_address(
402
431
  process_index, process_status.external_addresses[0]
Binary file
xoscar/collective/uv.dll CHANGED
Binary file
Binary file
Binary file
xoscar/virtualenv/uv.py CHANGED
@@ -58,19 +58,13 @@ class UVVirtualEnvManager(VirtualEnvManager):
58
58
  if "trusted_host" in kwargs and kwargs["trusted_host"]:
59
59
  cmd += ["--trusted-host", kwargs["trusted_host"]]
60
60
 
61
- self._install_process = subprocess.Popen(
62
- cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE
63
- )
64
-
65
- stdout, stderr = self._install_process.communicate()
66
- returncode = self._install_process.returncode
61
+ self._install_process = process = subprocess.Popen(cmd)
62
+ returncode = process.wait()
67
63
 
68
64
  self._install_process = None # install finished, clear reference
69
65
 
70
66
  if returncode != 0:
71
- raise subprocess.CalledProcessError(
72
- returncode, cmd, output=stdout, stderr=stderr
73
- )
67
+ raise subprocess.CalledProcessError(returncode, cmd)
74
68
 
75
69
  def cancel_install(self):
76
70
  if self._install_process and self._install_process.poll() is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xoscar
3
- Version: 0.6.0
3
+ Version: 0.6.2
4
4
  Summary: Python actor framework for heterogeneous computing.
5
5
  Home-page: http://github.com/xorbitsai/xoscar
6
6
  Author: Qin Xuye
@@ -1,5 +1,5 @@
1
1
  xoscar/__init__.py,sha256=dlwtB7dnDp5WME6CZVQY7d9lk1yJ9s___H5UxjGlAd4,1668
2
- xoscar/_utils.cp312-win_amd64.pyd,sha256=TpaW1vNWuMgCk5XnDdhZEhWo1DMfWNRJBSq4gFoBzLs,115200
2
+ xoscar/_utils.cp312-win_amd64.pyd,sha256=vhT4MRVEpp_lTOieoRdUy3o00ZLWv5T_-u4OoK1066g,115200
3
3
  xoscar/_utils.pxd,sha256=rlNbTg5lhXA-jCOLksqF4jhUlNn0xw2jx1HxdLa34pc,1193
4
4
  xoscar/_utils.pyx,sha256=18MUutw6M8Het9FcnrDMjexiJ3zxYljpTNRiYKGD-Jw,7524
5
5
  xoscar/_version.py,sha256=bsfCVAo_o9LkiP3AjPsP4SRRqhjuS0t4D1WGJPzbdls,24412
@@ -7,10 +7,10 @@ xoscar/api.py,sha256=B5oXv4vgMxMteh1YNaBmNFDrUFmYa_dCdzfaWwwZnCo,13820
7
7
  xoscar/backend.py,sha256=8G5JwjoOT6Q2slb11eXNApxgcmvNQUCdQzkoIMDwLcQ,1917
8
8
  xoscar/batch.py,sha256=Jk5BSpvMFAV9DrRy0a9tgPvIo_dt8cbJReZBL0cnOPc,8128
9
9
  xoscar/constants.py,sha256=GJ1KEOxwnqksc9K_GH42TSWpQECeC6ti3KJmE3PUcTw,810
10
- xoscar/context.cp312-win_amd64.pyd,sha256=7iF8lGtdqWGQB_A7HH7ty0t7B1Pg8uKw0OqJEFDUgIo,159232
10
+ xoscar/context.cp312-win_amd64.pyd,sha256=you0F2BHqRk18lKQigJ-TOXyxnOJb15gjtze4fingZw,159232
11
11
  xoscar/context.pxd,sha256=6n6IAbmArSRq8EjcsbS6npW8xP1jI0qOoS1fF0oyj-o,746
12
12
  xoscar/context.pyx,sha256=FOJVerGOvxe2USryXEQA0rpaFX_ScxISH6QWKUcahY8,11310
13
- xoscar/core.cp312-win_amd64.pyd,sha256=wO5rwg3tYo6YGqCaehQfBS52lYGn2r_7BoTOZEDKCFU,332800
13
+ xoscar/core.cp312-win_amd64.pyd,sha256=8iWLR13qVwVAK0gNI89uOUuVJl3toQGGzA6rR67Cx18,332800
14
14
  xoscar/core.pxd,sha256=9IZP7dYGfnF1I-obIls8R8b6forxDOPbiM3v5nVslLk,1368
15
15
  xoscar/core.pyx,sha256=U6jCZN74MQHi7HkQRaVGm_w5q-FMsw0nnE3aU6533_Q,22756
16
16
  xoscar/debug.py,sha256=hrmxIH6zvTKasQo6PUUgXu5mgEsR0g87Fvpw7CoHipg,5257
@@ -30,7 +30,7 @@ xoscar/backends/allocate_strategy.py,sha256=DzvTlixwzTANURI2mDLHm3vcaugSPDxU6UQZ
30
30
  xoscar/backends/config.py,sha256=86j0g_Xrl8ENPzBWi296yWg9QEcljvdKK-yJbfYTvQ0,5532
31
31
  xoscar/backends/context.py,sha256=qWwksx8JxYcKR-LQA3PvXh4ReuuTTEyDaLbjpxGXcTA,16766
32
32
  xoscar/backends/core.py,sha256=fbekAxys_t1Dv7if-1R6uVvC_yAxNkXLeQ1V1ZSAfC0,11161
33
- xoscar/backends/message.cp312-win_amd64.pyd,sha256=-ggjyZVNnZFLGaKl2LJTiiTbaRy_Tp5r2oBkply0tjY,284160
33
+ xoscar/backends/message.cp312-win_amd64.pyd,sha256=aF4lB90HNOBVV5oe03AgMUef2U5qVdBIoo7TXKhA0T8,284160
34
34
  xoscar/backends/message.pyi,sha256=m1PrSLvj-IbrHuVfQGoPDs6prI-GJV1vQJqZ5WdQcY4,6798
35
35
  xoscar/backends/message.pyx,sha256=lBEjMJv4VyxmeO9lHXJJazOajbFnTLak4PSBcLoPZvU,20331
36
36
  xoscar/backends/pool.py,sha256=XFij5l9FCbMC1isXp4tpr6YsZVxf4GfpIRfwn-nhCGE,62638
@@ -46,7 +46,7 @@ xoscar/backends/communication/utils.py,sha256=F-muF5_ow9JzAPAZ3d8XaGDiz3bRZOdWmW
46
46
  xoscar/backends/indigen/__init__.py,sha256=Khr2aGbaIw_04NIdY7QNhdljCKbmmzLb4NeAOM3LF8M,701
47
47
  xoscar/backends/indigen/backend.py,sha256=cCMkZDEKuRQlFb6v79JvWi5lfzsvAafznOeEWlw7CWY,1663
48
48
  xoscar/backends/indigen/driver.py,sha256=uLPBAxG7q8ds6yc-baeYUWu_m4K1gST3_BPqkfnlarw,978
49
- xoscar/backends/indigen/pool.py,sha256=KU36v_Co2sujDiOGhX2I4TZ7kgmDr1Zga8co7uW88TA,17711
49
+ xoscar/backends/indigen/pool.py,sha256=Pyf2sOOBrcEorgM6COZ1ZfJ4AbTY5xAr-i1IL1e3aWo,18801
50
50
  xoscar/backends/test/__init__.py,sha256=xgE4hbD3g46G1GDJEeozaXIk57XaahmFMNQsnRzRcrs,698
51
51
  xoscar/backends/test/backend.py,sha256=Q4C6TFQzZogjugGmPh3QZw4IigL8VGCFOJ5fKkE1Uvk,1301
52
52
  xoscar/backends/test/pool.py,sha256=Eg_P--ErTwd2EowpZZg9BMhAG9UBOfXEHVhEId3OqPw,7465
@@ -55,8 +55,8 @@ xoscar/collective/common.py,sha256=9c7xq3IOUvfA0I9GnpalUqXZOzmF6IEILv4zL64BYVE,3
55
55
  xoscar/collective/core.py,sha256=191aPxbUgWpjzrqyozndImDAQhZFmqoQdBkHFLDfXN0,24239
56
56
  xoscar/collective/process_group.py,sha256=kTPbrLMJSGhqbiWvTIiz-X3W0rZWd_CFn_zUIlXbOlM,23286
57
57
  xoscar/collective/utils.py,sha256=p3WEVtXvnVhkuO5mRgQBhBRFr1dKHcDKMjrbMyuiyfg,1219
58
- xoscar/collective/uv.dll,sha256=Glz0cqPd4PhrYCDBt5-FeNUTGfZXPexWIEn3NBHde9g,620544
59
- xoscar/collective/xoscar_pygloo.cp312-win_amd64.pyd,sha256=25zARLeeZ1oShF89nTaBGa-wopCg3G_MQFBeKLM1otY,838656
58
+ xoscar/collective/uv.dll,sha256=z9pwPlk_zpiy3haVspVqg3Uipw9o7cNT1Y2pnIESdtc,620544
59
+ xoscar/collective/xoscar_pygloo.cp312-win_amd64.pyd,sha256=jvYToCopNQY2LQXXD8i7BYMnOzJ6SoerNI-rNSy8heI,838656
60
60
  xoscar/collective/xoscar_pygloo.pyi,sha256=6KRzElgNBBKWh-VivUw1b5Dolp17MgwA91hQo33EysU,7616
61
61
  xoscar/metrics/__init__.py,sha256=RjXuuYw4I2YYgD8UY2Z5yCZk0Z56xMJ1n40O80Dtxf8,726
62
62
  xoscar/metrics/api.py,sha256=dtJ4QrIqQNXhJedeqOPs4TXKgrRGZFFN50xAd9SCfec,9144
@@ -68,7 +68,7 @@ xoscar/metrics/backends/prometheus/__init__.py,sha256=ZHepfhCDRuK9yz4pAM7bjpWDvS
68
68
  xoscar/metrics/backends/prometheus/prometheus_metric.py,sha256=65hb8O3tmsEJ7jgOrIwl_suj9SE5Tmqcfjuk0urkLvE,2120
69
69
  xoscar/serialization/__init__.py,sha256=tS8C49yrW_geWNEsbgW3phK1q4YN1ojI6CN-vroIFYM,876
70
70
  xoscar/serialization/aio.py,sha256=7YLXgkWpQ3ANy-TZ1qO8Mt4_J3cZFhFh2FEgUgxMT60,4873
71
- xoscar/serialization/core.cp312-win_amd64.pyd,sha256=8R0MoKwd7MRx7X2lZqYIHnHAAj_8iF57MrsHNy2A9Cg,292352
71
+ xoscar/serialization/core.cp312-win_amd64.pyd,sha256=uM5joLeQb11DAzXoNEzj16NjEuRowCmkoWvr8Z8Wq_A,292352
72
72
  xoscar/serialization/core.pxd,sha256=X-47bqBM2Kzw5SkLqICdKD0gU6CpmLsBxC3kfW--wVk,1013
73
73
  xoscar/serialization/core.pyi,sha256=Zof9373qy2lmjenSuMznEiTSCNW6WQB7rmSXrRbjUo0,1931
74
74
  xoscar/serialization/core.pyx,sha256=ZKexLRnRwZXXn2045kR7xfM_szcoPNrDuouQCWtpFp8,30570
@@ -80,8 +80,8 @@ xoscar/serialization/pyfury.py,sha256=3ucal29Hr7PX9_1SfB2x43FE2xw_C0rLkVv3foL7qw
80
80
  xoscar/serialization/scipy.py,sha256=9ph-yoRoNiwUZTwQrn35U60VPirWlncXNAg6EXvqMR4,2554
81
81
  xoscar/virtualenv/__init__.py,sha256=rhJ7I6x7aXjKOCzSqsKLwqFJMh4YC2sqchEIJNEfI58,1151
82
82
  xoscar/virtualenv/core.py,sha256=pk6Pcv2Aewk1d-oTau1wyP80p8McIi7DodWL9PcDg1Q,1311
83
- xoscar/virtualenv/uv.py,sha256=XLU20Ip4C5FRnswdx11YBHNgLiYvoqeGCtiFXxJZyUg,3127
84
- xoscar-0.6.0.dist-info/METADATA,sha256=GZtz-IOEeCZzJFaURGwOToO3RbV2rcCm8CRu61ZnzGU,9357
85
- xoscar-0.6.0.dist-info/WHEEL,sha256=ovhA9_Ei_7ok2fAych90j-feDV4goiAxbO7REePtvw0,101
86
- xoscar-0.6.0.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
87
- xoscar-0.6.0.dist-info/RECORD,,
83
+ xoscar/virtualenv/uv.py,sha256=xNNjv8Ywkwx6I1B_yQr8nkEUgJbIFNaseUCzWIo41nY,2921
84
+ xoscar-0.6.2.dist-info/METADATA,sha256=BPUs3N1BF5tW1DYFRKelfpaWysUsdEKnPu3nk5OTAnU,9357
85
+ xoscar-0.6.2.dist-info/WHEEL,sha256=YvQgr19VPpDKcQ70xCXIWyDmGnURmFmzZpp_Uw5rBS8,101
86
+ xoscar-0.6.2.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
87
+ xoscar-0.6.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (79.0.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp312-cp312-win_amd64
5
5