xoscar 0.7.2__tar.gz → 0.7.3__tar.gz

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.

Files changed (91) hide show
  1. {xoscar-0.7.2 → xoscar-0.7.3}/PKG-INFO +1 -1
  2. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/virtualenv/uv.py +20 -2
  3. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar.egg-info/PKG-INFO +1 -1
  4. {xoscar-0.7.2 → xoscar-0.7.3}/MANIFEST.in +0 -0
  5. {xoscar-0.7.2 → xoscar-0.7.3}/pyproject.toml +0 -0
  6. {xoscar-0.7.2 → xoscar-0.7.3}/setup.cfg +0 -0
  7. {xoscar-0.7.2 → xoscar-0.7.3}/setup.py +0 -0
  8. {xoscar-0.7.2 → xoscar-0.7.3}/versioneer.py +0 -0
  9. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/__init__.py +0 -0
  10. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/_utils.pxd +0 -0
  11. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/_utils.pyx +0 -0
  12. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/_version.py +0 -0
  13. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/aio/__init__.py +0 -0
  14. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/aio/base.py +0 -0
  15. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/aio/file.py +0 -0
  16. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/aio/lru.py +0 -0
  17. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/aio/parallelism.py +0 -0
  18. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/api.py +0 -0
  19. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backend.py +0 -0
  20. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/__init__.py +0 -0
  21. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/allocate_strategy.py +0 -0
  22. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/__init__.py +0 -0
  23. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/base.py +0 -0
  24. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/core.py +0 -0
  25. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/dummy.py +0 -0
  26. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/errors.py +0 -0
  27. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/socket.py +0 -0
  28. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/ucx.py +0 -0
  29. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/communication/utils.py +0 -0
  30. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/config.py +0 -0
  31. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/context.py +0 -0
  32. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/core.py +0 -0
  33. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/indigen/__init__.py +0 -0
  34. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/indigen/__main__.py +0 -0
  35. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/indigen/backend.py +0 -0
  36. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/indigen/driver.py +0 -0
  37. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/indigen/fate_sharing.py +0 -0
  38. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/indigen/pool.py +0 -0
  39. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/indigen/shared_memory.py +0 -0
  40. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/message.pyi +0 -0
  41. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/message.pyx +0 -0
  42. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/pool.py +0 -0
  43. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/router.py +0 -0
  44. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/test/__init__.py +0 -0
  45. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/test/backend.py +0 -0
  46. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/backends/test/pool.py +0 -0
  47. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/batch.py +0 -0
  48. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/collective/__init__.py +0 -0
  49. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/collective/common.py +0 -0
  50. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/collective/core.py +0 -0
  51. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/collective/process_group.py +0 -0
  52. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/collective/utils.py +0 -0
  53. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/collective/xoscar_pygloo.pyi +0 -0
  54. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/constants.py +0 -0
  55. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/context.pxd +0 -0
  56. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/context.pyx +0 -0
  57. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/core.pxd +0 -0
  58. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/core.pyx +0 -0
  59. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/debug.py +0 -0
  60. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/driver.py +0 -0
  61. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/errors.py +0 -0
  62. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/libcpp.pxd +0 -0
  63. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/__init__.py +0 -0
  64. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/api.py +0 -0
  65. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/backends/__init__.py +0 -0
  66. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/backends/console/__init__.py +0 -0
  67. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/backends/console/console_metric.py +0 -0
  68. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/backends/metric.py +0 -0
  69. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/backends/prometheus/__init__.py +0 -0
  70. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/metrics/backends/prometheus/prometheus_metric.py +0 -0
  71. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/nvutils.py +0 -0
  72. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/profiling.py +0 -0
  73. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/__init__.py +0 -0
  74. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/aio.py +0 -0
  75. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/core.pxd +0 -0
  76. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/core.pyi +0 -0
  77. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/core.pyx +0 -0
  78. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/cuda.py +0 -0
  79. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/exception.py +0 -0
  80. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/mlx.py +0 -0
  81. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/numpy.py +0 -0
  82. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/pyfury.py +0 -0
  83. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/serialization/scipy.py +0 -0
  84. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/utils.py +0 -0
  85. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/virtualenv/__init__.py +0 -0
  86. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar/virtualenv/core.py +0 -0
  87. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar.egg-info/SOURCES.txt +0 -0
  88. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar.egg-info/dependency_links.txt +0 -0
  89. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar.egg-info/not-zip-safe +0 -0
  90. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar.egg-info/requires.txt +0 -0
  91. {xoscar-0.7.2 → xoscar-0.7.3}/xoscar.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xoscar
3
- Version: 0.7.2
3
+ Version: 0.7.3
4
4
  Summary: Python actor framework for heterogeneous computing.
5
5
  Home-page: http://github.com/xorbitsai/xoscar
6
6
  Author: Qin Xuye
@@ -14,14 +14,22 @@
14
14
 
15
15
  from __future__ import annotations
16
16
 
17
+ import os
17
18
  import shutil
18
19
  import subprocess
20
+ import sys
19
21
  import sysconfig
20
22
  from pathlib import Path
21
23
  from typing import Optional
22
24
 
23
25
  from .core import VirtualEnvManager
24
26
 
27
+ UV_PATH = os.getenv("XOSCAR_UV_PATH")
28
+
29
+
30
+ def _is_in_pyinstaller():
31
+ return hasattr(sys, "_MEIPASS")
32
+
25
33
 
26
34
  class UVVirtualEnvManager(VirtualEnvManager):
27
35
  def __init__(self, env_path: Path):
@@ -30,12 +38,21 @@ class UVVirtualEnvManager(VirtualEnvManager):
30
38
 
31
39
  @classmethod
32
40
  def is_available(cls):
41
+ if UV_PATH is not None:
42
+ # user specified uv, just treat it as existed
43
+ return True
33
44
  return shutil.which("uv") is not None
34
45
 
35
46
  def create_env(self, python_path: Path | None = None) -> None:
36
- cmd = ["uv", "venv", str(self.env_path), "--system-site-packages"]
47
+ uv_path = UV_PATH or "uv"
48
+ cmd = [uv_path, "venv", str(self.env_path), "--system-site-packages"]
37
49
  if python_path:
38
50
  cmd += ["--python", str(python_path)]
51
+ elif _is_in_pyinstaller():
52
+ # in pyinstaller, uv would find the system python
53
+ # in this case we'd better specify the same python version
54
+ python_version = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
55
+ cmd += ["--python", python_version]
39
56
  subprocess.run(cmd, check=True)
40
57
 
41
58
  def install_packages(self, packages: list[str], **kwargs):
@@ -50,7 +67,8 @@ class UVVirtualEnvManager(VirtualEnvManager):
50
67
  # maybe replace #system_torch# to the real version
51
68
  packages = self.process_packages(packages)
52
69
 
53
- cmd = ["uv", "pip", "install", "-p", str(self.env_path)] + packages
70
+ uv_path = UV_PATH or "uv"
71
+ cmd = [uv_path, "pip", "install", "-p", str(self.env_path)] + packages
54
72
 
55
73
  # Handle known pip-related kwargs
56
74
  if "index_url" in kwargs and kwargs["index_url"]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xoscar
3
- Version: 0.7.2
3
+ Version: 0.7.3
4
4
  Summary: Python actor framework for heterogeneous computing.
5
5
  Home-page: http://github.com/xorbitsai/xoscar
6
6
  Author: Qin Xuye
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes