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.8.tar.gz (155.8 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.8-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

xoscar-0.9.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

xoscar-0.9.8-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

xoscar-0.9.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

xoscar-0.9.8-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

xoscar-0.9.8-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.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

xoscar-0.9.8-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

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

xoscar-0.9.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

xoscar-0.9.8-cp310-cp310-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9Windows x86-64

xoscar-0.9.8-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

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

xoscar-0.9.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

xoscar-0.9.8-cp39-cp39-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: xoscar-0.9.8.tar.gz
  • Upload date:
  • Size: 155.8 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.8.tar.gz
Algorithm Hash digest
SHA256 1ca6a731520db3850f0a4ed44e23a4a6be3d2f9646a97dfa52f69ee3d3990f28
MD5 c2202f1ee5b9c5fd440f3a0db7fa5e6c
BLAKE2b-256 db7f54d6423aa48430c6067629e7ce6fb346438f395349254d5056cd1ee7fb38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xoscar-0.9.8-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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 919906e6e4f0e51c2a7435e3e96a646cb0058b8e58b5d05c00c6874cb1dc3dfc
MD5 6007ab82d77e4a20b579cbc93fdbbc25
BLAKE2b-256 460fa5aae71e3aa05a32edd63f8a0f6d4c660208fa65190b3249bd1d480990d7

See more details on using hashes here.

File details

Details for the file xoscar-0.9.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d300188b12c914b482039cad709b01d55f254b9f5f471854f4a58f209936f6ec
MD5 133b753b6b7165014b7317c3ceb18cb4
BLAKE2b-256 19d7a56e3c21f5d75f2ed50f52bdd38d585264335aad3793f614b401f206a7f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a42ff4879f1272d7daaf8bda84fa7a2a4efecea6a07d4fbc65d7f85ff25ca502
MD5 aa9134d0afb6902c926a80ee4a3b4ebc
BLAKE2b-256 1e57b47b5a49d9ff739df3e0c47bef3d4adcf9dc91033ad060d516d2c068e300

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 715f193ccc5452e78b03029ff12afd65f614ad008d366d6927ee721460387b13
MD5 853bad79de6798df95dd9df88632aa78
BLAKE2b-256 a3f387ff83ee741632d331666623fb498bbc41b8fec04c1fb2dc177156c87921

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 66676800fc789c563967f80b8594da1bce8a5fb55e03ae4d0bcb5ef07282ee4a
MD5 9f0cd7845b5b8cf9d5509f4542c2e9ed
BLAKE2b-256 c14a9bbeb925de5b5b11d81d6798481a50671e04cdc19741fa7181be68e3c877

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xoscar-0.9.8-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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c0c1a96f458deab858601d465e475a8a49dd1d26e1e21d70dbe6a6fe3dd8ccb2
MD5 b8e288f25084295638835223b7f56190
BLAKE2b-256 1d5419546e338468a5bb594d15c99fee8f9574ac77f30323dec8e7c0c1f7f818

See more details on using hashes here.

File details

Details for the file xoscar-0.9.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xoscar-0.9.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 305dbf3f2c209dfa119a32f07331b2744ec5d6126dd81193a47dbb14fe76193b
MD5 86d0c44bb2174037c7b9ba8b53df0b6c
BLAKE2b-256 637470ee4973ce4e2dbc6273392cc3d8fbab90bb36e98ead6575294ced77ab94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0b18549edd2e575082238fa5af118c3bb4c06795cfcbd208b2c7fa72cb9989fb
MD5 6c89c7ac5457292c9bb75105c2c8cbba
BLAKE2b-256 4419425f90ebca6308075fbd3892756bebbde30e9572cb7c277134e6a9249bf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a686926edc557ddbcc99dbe5420ec26af4cff1f22bae7cdccae6e507fa957ca7
MD5 243d716c7522c1501522d59b9b292414
BLAKE2b-256 5199fd87471558182c689cc44511731877cc92feb99d66987a749b35ba71f2c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 396880904bc413a0e6c38cdb808d1e54bfdf52b51ca4212fc22cbebca41c01c9
MD5 1418e5ef181bfa0bad576d5ff2aaa7af
BLAKE2b-256 02dd2313a895d83e4bd9bd77de3681a5ebdeb868fdded0e49606fa756101d606

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xoscar-0.9.8-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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 12e2f07fda42667ecaaf590b4e07058f7d583746e562cb368b3214b4ac30d679
MD5 68239c479a690592a931c66518928402
BLAKE2b-256 3afb90b56d127ea6699818e3c943f758b4753387a6783e208afafe9f86580857

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f7dfc80785e30303772e8ef2973c503767d95dec3f37ec8992e413d9a8001216
MD5 c1a6ef3bec91ba38f95cd0956ed64d9b
BLAKE2b-256 7d44a538c2526ae665e8f28e85b63f453d7adeaf732e25c2ea8357908847f325

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 701aa63142635ecc39225db2c3b68de5d0a0bb599b18a46f04b311fe42cda6de
MD5 0cb182bb67d96b15e4913141479251c1
BLAKE2b-256 9be6f07caac6a1bbed5e0c259d4ee606df5ddd2a09085a7dd9d87cfe9ebac0a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7af65a613036d8cf6655bd6718ea7dcb4fe9f991983cb0a7464fcee2d53fd1ca
MD5 affcd5940a8dc5b9f3364bc3f046bd66
BLAKE2b-256 b8da861b454e482cbb5c142125e138b651c509a1daf9ea571b40639a23244dbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3a6c8bad042524ceae435b2e5b52161ae63cfef0102a5cd6ed8197e9a04591d0
MD5 084e35823ef10e5f99da60e5afeb8025
BLAKE2b-256 52f621d90784a3a4ba23778e16c6d650c54ded5ecafe1cc7203766f2bf1c166e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xoscar-0.9.8-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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fbe231de77e273b53c53eacc4a7be6646bffba2c36593e212b83ea597dcde19f
MD5 9e98d8a27b7028033331517f69e7e671
BLAKE2b-256 ac9afac6367ae7926028aefbda019575ba7643fc615eec22529af9a65384a31b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b7d8394491f694e7d3d9b104978391ed075faf4e41caa7059eef4c265e8f4ae5
MD5 53999f40e4baf33efbcc552ec56214ed
BLAKE2b-256 be06cf50d41ee77314408660280a673a59139fa812ff1aa1b99830f7ed4f8cf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 95147a9ed454183721f5e2237e2907f3ca82ef72e86f635c236252bfe703436c
MD5 97b1cfabb329b60556100f31972dd7af
BLAKE2b-256 75ab2e08d0cc0b26841557db79cd01a57a25a5a0311e7cdfca209d3758155d0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd6f760cc4e52f98816565799bd6673f14fffd5793fd3f8e147f9f10cf92b403
MD5 1581b29c12720ec984ff5d7e07bf4945
BLAKE2b-256 a43e2c658b8f7ccf55b59fb6bf2362d89b9e5b3db85c6d40dc5644e8f935f2b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0fb2e8b8e644bf4e6d9bbd09f86195a753b182640f09e5cc1bd13d40bde5c89f
MD5 ddcb55fcdfc831f6f4ff348e8a92fcf2
BLAKE2b-256 a453dfa02389b8bc9b67ff054f1902ff2202bbc11bf049633804c7fe5485638b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xoscar-0.9.8-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.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b8db7b7eb450df0f13ede0d82a36e0c39b945aa011ac642f8f67693cb9d5541f
MD5 4607a70773ad234b727022532bc48dd3
BLAKE2b-256 f4d1c1abd5c738d08ef3ca932fc9b2a0c6ebea8e6ba586e7105e6992b606303b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b4349892f54e70b60ca58e2f53c029f7175e2d50fd5b5a98d8e1c026e7ba0e09
MD5 ad2dd015033acdd37390deb55a287e46
BLAKE2b-256 0cf0ecca522ee342989d3d9f18b3db9f5c56b3889a99a30ec0f031edeedd3f62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7e22dc7ad4551ae2b28cc2441ee6033a7c5ebde26d0b18aaac720f5a6be4135d
MD5 2366639935d5417856b368506208e069
BLAKE2b-256 6018db76a07d396bf41c7d41615a0867d84b3b6edd500253e00621bece84bdd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18393c96cdda24f6f5747f5277e5383b62f4321c22ab1e734db470d0e659bf14
MD5 291d72373219c44a0d0bee64f2959112
BLAKE2b-256 dfad294de85269394caa6157f80238e0a37ca51c436a3ff2d88c26fc223ac089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xoscar-0.9.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4b79186076f81109651a61698709255b28521f1e231dcc47820e248c32fab046
MD5 94636f3bb3f1774e8f4344630479dc73
BLAKE2b-256 648c34b8c2fcfc3a3cbd9d85df58ad8301254f4dd4948433f5eba01057b7c695

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