Skip to main content

Python actor framework for heterogeneous computing.

Project description


Python actor framework for heterogeneous computing.

PyPI Latest Release Coverage Build Status License

What is actor

Writing parallel and distributed programs is often challenging and requires a lot of time to deal with concurrency issues. Actor model provides a high-level, scalable and robust abstraction for building distributed applications. It provides several benefits:

  • Scalability: Actors easily scale across nodes. The asynchronous, non-blocking nature of actors allows them to handle huge volumes of concurrent tasks efficiently.
  • Concurrency: The actor model abstracts over concurrency, allowing developers to avoid raw threads and locks.
  • Modularity: An actor system decomposes naturally into a collection of actors that can be understood independently. Actor logic is encapsulated within the actor itself.

Why Xoscar

Xoscar implements the actor model in Python and provides user-friendly APIs that offer significant benefits for building applications on heterogeneous hardware:

  • Abstraction over low-level communication details: Xoscar handles all communication between actors transparently, whether on CPUs, GPUs, or across nodes. Developers focus on application logic rather than managing hardware resources and optimizing data transfer.
  • Flexible actor models: Xoscar supports both stateful and stateless actors. Stateful actors ensure thread safety for concurrent systems while stateless actors can handle massive volumes of concurrent messages. Developers choose the appropriate actor model for their needs.
  • Batch method: Xoscar provides a batch interface to significantly improve call efficiency when an actor interface is invoked a large number of times.
  • Advanced debugging support: Xoscar can detect potential issues like deadlocks, long-running calls, and performance bottlenecks that would otherwise be nearly impossible to troubleshoot in a heterogeneous environment.
  • Automated recovery: If an actor fails for any reason, Xoscar will automatically restart it if you want. It can monitor actors and restart them upon failure, enabling fault-tolerant systems.

Overview

architecture.png Xoscar allows you to create multiple actor pools on each worker node, typically binding an actor pool to a CPU core or a GPU card. Xoscar provides allocation policies so that whenever an actor is created, it will be instantiated in the appropriate pool based on the specified policy.

When actors communicate, Xoscar will choose the optimal communication mechanism based on which pools the actors belong to. This allows Xoscar to optimize communication in heterogeneous environments with multiple processing units and accelerators.

Where to get it

PyPI

Binary installers for the latest released version are available at the Python Package Index (PyPI).

# PyPI
pip install xoscar

Build from source

The source code is currently hosted on GitHub at: https://github.com/xorbitsai/xoscar .

Building from source requires that you have cmake and gcc installed on your system.

  • cmake >= 3.11
  • gcc >= 8
# If you have never cloned xoscar before
git clone --recursive https://github.com/xorbitsai/xoscar.git
cd xoscar/python
pip install -e .

# If you have already cloned xoscar before
cd xoscar
git submodule init
git submodule update
cd python && pip install -e .

APIs

Here are basic APIs for Xoscar.

Define an actor

import xoscar as xo

# stateful actor, for stateless actor, inherit from xo.StatelessActor
class MyActor(xo.Actor):
    def __init__(self, *args, **kwargs):
        pass

    async def __post_create__(self):
        # called after created
        pass

    async def __pre_destroy__(self):
        # called before destroy
        pass

    def method_a(self, arg_1, arg_2, **kw_1):  # user-defined function
        pass

    async def method_b(self, arg_1, arg_2, **kw_1):  # user-defined async function
        pass

Create an actor

import xoscar as xo

actor_ref = await xo.create_actor(
    MyActor, 1, 2, a=1, b=2,
    address='<ip>:<port>', uid='UniqueActorName')

Get an actor reference

import xoscar as xo

actor_ref = await xo.actor_ref(address, actor_id)

Invoke a method

# send
await actor_ref.method_a.send(1, 2, a=1, b=2)
# equivalent to actor_ref.method_a.send
await actor_ref.method_a(1, 2, a=1, b=2)
# tell, it sends a message asynchronously and does not wait for a response.
await actor_ref.method_a.tell(1, 2, a=1, b=2)

Batch method

Xoscar provides a set of APIs to write batch methods. You can simply add a @extensible decorator to your actor method and create a batch version. All calls wrapped in a batch will be sent together, reducing possible RPC cost.

Define a batch method

import xoscar as xo

class ExampleActor(xo.Actor):
    @xo.extensible
    async def batch_method(self, a, b=None):
        pass

Xoscar also supports creating a batch version of the method:

class ExampleActor(xo.Actor):
    @xo.extensible
    async def batch_method(self, a, b=None):
        raise NotImplementedError  # this will redirect all requests to the batch version

    @batch_method.batch
    async def batch_method(self, args_list, kwargs_list):
        results = []
        for args, kwargs in zip(args_list, kwargs_list):
            a, b = self.batch_method.bind(*args, **kwargs)
            # process the request
            results.append(result)
        return results  # return a list of results

In a batch method, users can define how to more efficiently process a batch of requests.

Invoke a batch method

Calling batch methods is easy. You can use <method_name>.delay to make a batched call and use <method_name>.batch to send them:

ref = await xo.actor_ref(uid='ExampleActor', address='127.0.0.1:13425')
results = await ref.batch_method.batch(
    ref.batch_method.delay(10, b=20),
    ref.batch_method.delay(20),
)

License

Apache 2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xoscar-0.9.6.tar.gz (153.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

xoscar-0.9.6-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

xoscar-0.9.6-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

xoscar-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

xoscar-0.9.6-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

xoscar-0.9.6-cp313-cp313-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

xoscar-0.9.6-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

xoscar-0.9.6-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

xoscar-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

xoscar-0.9.6-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

xoscar-0.9.6-cp312-cp312-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

xoscar-0.9.6-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

xoscar-0.9.6-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

xoscar-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

xoscar-0.9.6-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

xoscar-0.9.6-cp311-cp311-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

xoscar-0.9.6-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

xoscar-0.9.6-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

xoscar-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

xoscar-0.9.6-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

xoscar-0.9.6-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

xoscar-0.9.6-cp39-cp39-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9Windows x86-64

xoscar-0.9.6-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

xoscar-0.9.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

xoscar-0.9.6-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

xoscar-0.9.6-cp39-cp39-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file xoscar-0.9.6.tar.gz.

File metadata

  • Download URL: xoscar-0.9.6.tar.gz
  • Upload date:
  • Size: 153.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for xoscar-0.9.6.tar.gz
Algorithm Hash digest
SHA256 503ab48a8793262e6b3d8994edad8fc21c50c3816239ee87a768065284c50a53
MD5 6163b297e8aa44fe85f3018244f56bd7
BLAKE2b-256 92e0ab084c5c2f0a86c38f963c1365c46585ccaeee74a76328f7c16000f81323

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: xoscar-0.9.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for xoscar-0.9.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 21c3e96bcde09be72f9d442ce564f5b335fc42ad21ba047c8322878c7224a4e8
MD5 d473d967068dfa132d32d5db748010b3
BLAKE2b-256 c2a1e8a5345fe6e15fc7f8fc41fd0778a466805bd7497879335deab5c25c0adf

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e567c67fd3dc91a90c7a951ce76fe2c4b37570e0c51e8a403e4655dedc45497e
MD5 1e09dc08948d4f1ba3b05e5e60d6d6a3
BLAKE2b-256 85afab6c39d547b09a08c52f4312dbcbb73f0751278bb972bbe978ff986fe8c1

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ad759e14dcffc6f6b97dd6f04187e730483bf3d0d50761bdba5c62f418758616
MD5 25984c70d999ee8c146a9455e2d630d7
BLAKE2b-256 851fe1ce171319acc6008875b6b6541612f2456df21d8fe1b410895ae0702037

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3bec6cbc0fc49739eab3bd0f88438fc00a9ec8ac96a123ac54e5ed7a78cca483
MD5 b7f3de8e75276d168e8dd46dbbeeeb67
BLAKE2b-256 45b64867c4d644ccd77bfd7acb9cc3799526cfa8908857bc2026dd66f8b8f42c

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9f4fe8b5abc11fbe1885c728cb2d64a783096d20ee7a411b85b7eaf228e9fe43
MD5 232aab5b6a1a5d65434817b3fcb82a0d
BLAKE2b-256 dd6c2aeebf31fd9a3af3674c5ef34fa78e722362b54e91189d4847f0f155b175

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: xoscar-0.9.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for xoscar-0.9.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eb57880d21f444ec35f3e4ec8f290bcfcd6e3539a6ed8cdac6d8161123933a62
MD5 5afd0e7b4a90a4f222994d9b30dd9125
BLAKE2b-256 cbf18fdf750b0923f29a0b8e1d813991847c3be5970a92862c1628ed23c51648

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e78edc6f02f9f4ed8ba38461877ee672767e11dcd172aa732e6736130050db2b
MD5 744c3ba9097c018bf7e2160b23e0232c
BLAKE2b-256 fbef93209a221bc8025dc3e8708f385dd7e724ec782abdff2de932f36c0f5c6c

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 157f9bf952c7451855929d40b818fbb3fe28bb0db8f10cecf710463fdbc5a4be
MD5 3e0e12d2541a7ca2356017074d055cd4
BLAKE2b-256 0e57177fcd9d4bfde425ed3c5461c8f650f05c6c671a4ef5b2233b70ff77641d

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8b056fd784bcf383e300785a190dbca3521943541e9379a156ed8dcde7193bc0
MD5 f17c583909a5e9500c067f756cdc79e0
BLAKE2b-256 a2aea8384ff6e4d92018647fc8e829bf663ce746fd79ea34d2c3c9f33f3ace31

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c387a9a952f864e561dca464c8717c2d59204184c7f048ef423d01b1b1a1fee5
MD5 9aa144e71298cf3ab1ae1bb161f47113
BLAKE2b-256 b0d52d985973ade79f02e164a8042812ee06fc86567ddee988b85e97b631d58a

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xoscar-0.9.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for xoscar-0.9.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d85165e3e87c3648e036af5e87ebda26791cce89c215b407fad7c788c8b5450c
MD5 e8ceb437c15d3a5ff1e5bdb11818db24
BLAKE2b-256 a311f37499849bd82343c4f52047ece92a21a191505c25caf68b8b3706d24310

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1942a89fdad9df864c744672733359039a1ea9973329a3605fb9ecb85dc07a89
MD5 e9481f3abf5e2f65e03349eb0f460c29
BLAKE2b-256 519f5df9c800444264453de28173a2472eccf721cdd30ae352875085ff1530a8

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 119d9183f66f852ab72972a853d06e934399e1bca93cb387709ece16f6a51cd0
MD5 05bd6e010f6720b8bb067f83d33c335e
BLAKE2b-256 a1fd04ba3527c2a37c3c91935966cb93702e3a261d96d9c897cc104016548723

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7d3eb09f2d9947f767b8f9578fabd5eebd4ebb553b63eb829ae93e21d2f596a
MD5 4191c8c6c5f1124dd9d4e1a3b031aa42
BLAKE2b-256 579b18adbd2daabe0a31ccbe221479c0b88cbd1b361887c47a9744501f898377

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 95b9c59065cfed67e4ccc992cc2dffb431bf79d21c2ce53a1aa19adc72a0348b
MD5 e580ba0471e22f2563a13b78b4c93ce5
BLAKE2b-256 ca4c634db6ecc0159a2cdaf0ad794363468f0ed0af18e0cece7930caa4f92a19

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: xoscar-0.9.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for xoscar-0.9.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 abc16c8fb019cf48049bc3144f6cde5adbf20c903495fda6427baf7234d9bf72
MD5 a8430aceeff28b9f604ca1a20c050969
BLAKE2b-256 bb20b8cf4f1caadfcc2d9f3c0f753a02a142295582a08c782faa3568812e4d59

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 10bfb4deef6f0927c09c25625ce2cb2c951f7d072581f7444b8eb7799e604119
MD5 1d4514b0e8209d64bcabec1e08887f73
BLAKE2b-256 c39fa4bfc181353a44bf0e621fc4a7652785272374f915c8b674aab2f2b531a3

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ff57797fbf34f900b79319e333a07bd4d28ee0a63cc65fddaa5b2c69c54463c0
MD5 2af3a846d2dcfd3814e01eaa76f87c25
BLAKE2b-256 d4490d023fc2c2bfa403a441805c7eb5169e021bd2284276f67685dc4adeba66

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31dba0063780c89f9792df5cc14162f26d90db729f6a3f1cfc1c0f08cf71d65f
MD5 75c8f705ed8a591e2c650acfa59da9f4
BLAKE2b-256 ae9b16f244f5374b86dd041ee8867c035e24354e2e33fd0f5f36d9a6d97e368b

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ef241c4cca5606fe5c9df8fe6fead99083a5ba9faa50293f46a293284681b465
MD5 7be2ba25f0f69f551f9ea4a1828c04b4
BLAKE2b-256 0ded439713226f805f03886c2faa92ec984b90534d1184ef5536029989793ae3

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: xoscar-0.9.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for xoscar-0.9.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 380307bc1352f8f4acdc931dbdc742cba748807563cf2ae9680b44d6d5836a10
MD5 7262df3c06a595168870960dbcdfbb70
BLAKE2b-256 4a10a2aedfcfbe38504b0c3f1eda3703d72cfe8ecfdd4b2cfa77ec930a75ad84

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c3716f4e963ba1cf4831efbc0dd21df0aedbb8f8bc089c3b736f0c4e1a8ead7d
MD5 95b6a53f4ef70e35c31d1f6c59956ffe
BLAKE2b-256 dccb0b2e94f05f6c861dfed8f39e64c5dc6b69deeb0d460c3269e92599dc6089

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 84e4603092a9cc7291ab54be2b88c759a3cceee6971372973238da0fc2deead6
MD5 920d696c10125b11aca7336f83759cf5
BLAKE2b-256 1f6a9c12f959bf5735bdbef89956fc7adede19cc051a9289d84fbed6ee53c2dc

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d6548b3b907402cc7cda11a6bf203478d71b811eb26c45dd5ae15367fbdd677
MD5 6dc85890e2ad4afc2e49268456e2a173
BLAKE2b-256 2ec49076bb1c8213a67440bc3bde9fc533c2073b3dc24c376d7cc6f6852b4d0b

See more details on using hashes here.

File details

Details for the file xoscar-0.9.6-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7403fb289e9fa60a46618e7ad2605764e93d56012eafd21d71b2f7ea7144db0b
MD5 ae9523783fe7c5a331dce1ec259130c8
BLAKE2b-256 b67194eebd4d7d80b9ced0addf0b9096bd1dd0e1b0bfbe5ea25bc18219a19b86

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page