Skip to main content

aiopvxs

Asynchronous PVAccess client/server API using Python asyncio and pybind11

Key Features

  • Uses pybind11 to generate python bindings to pvxslibs v1.5 C++ library
  • Supports getting/setting pvxs.Value fields with python data types
  • Supports PVAccess StaticSource server
  • Supports PVAccess client Context operations via python asyncio
    • Get & Put
    • RPC with arguments
    • List (see simple_discovery.py for simple pvlist implementation)
    • Discover & Monitor (can retrieve updates via async for loop)

Installation

It is recommended to install via the packages available on pypi.org. Packages are available for linux, win64, and macos intel/arm.

pip install aiopvxs

To compile this project manually, create python virtual environment from a cloned copy of this source and use pip install:

git clone https://github.com/m2es3h/aiopvxs.git
cd aiopvxs
python3 -m venv .venv
source .venv/bin/activate
pip install ".[test]"      # or pip install -e ".[test]" for editable mode
pytest -vs .

If developing in Visual Studio Code (VSCode), follow their instructions on how to automatically setup a python virtual environment (https://code.visualstudio.com/docs/python/environments).

VSCode's Python extension can be used to discover and run the pytest unit tests (http://code.visualstudio.com/docs/python/testing).

Getting Started

aiopvxs provides Python bindings to the pvxslibs C++ library (https://epics-base.github.io/pvxs/). This module enables asynchronous interaction with PVAccess servers and clients from Python. Bindings, type casting, and object lifetime management between Python <-> C++ is handled by pybind11.

To test that aiopvxs is able to find and load the pip installed pvxs library:

python3
>>> import aiopvxs
>>> aiopvxs.get_version_str()
'PVXS 1.5.1 (pip)'
>>>

Simple Server

aiopvxs shortest server example (compare to C++ example: https://epics-base.github.io/pvxs/example.html#shortest-server)

import asyncio

from aiopvxs.data import TypeCodeEnum as T
from aiopvxs.nt import NTScalar
from aiopvxs.server import Server, SharedPV

# create SharedPV with Value
pv_int32 = SharedPV(
    nt=NTScalar(T.Int32A).build(),
    initial={
        'value': [0, -1, -2, -3, -4, -5],
        'alarm.message': "ints are negative"
    }
)

async def main():
    try:
        # run PVAccess server
        with Server({"test:pv:int32": pv_int32}) as srv:
            print("Starting server", srv)
            while True:
                await asyncio.sleep(1)
    except asyncio.CancelledError:
        print("Stopping server")

asyncio.run(main())

# instead of asyncio.run(), could just call Server.run()
# srv = Server({"test:pv:int32": pv_int32})
# srv.run()

Simple Client

aiopvxs shortest client example (compare to C++ example: https://epics-base.github.io/pvxs/example.html#client-demo)

import asyncio

from aiopvxs.client import Context

# instantiate new client Context
client_ctx = Context()

async def main():
    # put new value
    new_value = {
        'value': [1, 2, 3, 4, 5],
        'alarm.message': "ints are positive",
    }
    await client_ctx.put("test:pv:int32", new_value)

    # get new value
    pv_int32 = await client_ctx.get("test:pv:int32")

    # print it
    print("----------- full pvxs.Value structure -----------")
    print(pv_int32)
    print("------ outer-most fields within pvxs.Value ------")
    # or iterate over outer-most members of received value
    for field, contents in pv_int32.as_dict().items():
        print(f"{field} is {contents}")

asyncio.run(main())

client.Context operations wrap a pvxs::client::Operation() in an asyncio.Future() and returns the Future to Python, enabling the use of all asyncio features to retrieve the result or exception.

The asyncio.Future holds a reference to the C++ Operation() instance until await completes or asyncio.Future.cancel() is called on the Future.

put_op = client_ctx.put("test:pv:int32", {'value': [1, 2, 3, 4, 5]})
assert isinstance(put_op, asyncio.Future)

try:
    # call put_op.cancel() before the await to cancel the operation
    await asyncio.wait_for(put_op, timeout=3.0)
except asyncio.TimeoutError:
    print("put operation failed: Timed out")
except asyncio.CancelledError:
    print("put operation failed: Operation cancelled")
except aiopvxs.client.RemoteError as e:
    print("put operation failed: Server returned exception:", e)
except (TypeError, LookupError) as e:
    print("put value not compatible with pvxs.Value type:", e)
else:
    print("put operation successful")
finally:
    # asyncio.Future.done() is true in all cases
    assert put_op.done()

Calling client.Context.monitor() sets up a callback that puts new values and exceptions into an asyncio.Queue and returns a pvxs::client::Subscription() that holds a reference to that Queue. You can then use an async for loop to iterate over the Subscription object to get value updates as they arrive. Keep the reference to the Subscription object to keep the subscription alive.

import asyncio

from aiopvxs.client import Context, Disconnected, Subscription
from aiopvxs.data import Value

# instantiate new client Context
client_ctx = Context()

async def main():
    # subscribe to changes in scalar_int32 PV
    monitor_sub = client_ctx.monitor("scalar_int32")
    assert isinstance(monitor_op, Subscription)

    # print out value updates as they arrive 
    # until some condition is reached
    async for val in monitor_sub:
        if isinstance(val, Disconnected):
            break
        elif not isinstance(val, Value):
            continue
        else:
            print("Value is now", val.value.as_int())

    # unsubscribe
    monitor_sub.cancel()

asyncio.run(main())

Working with pvxs.Value object

The pvxs::Value object is the API used to exchange data of arbitrary types between PVAccess clients and servers. Using pybind11's default type casters plus custom type casters, aiopvxs enables encoding and decoding pvxs::Value data using Python data types.

python3
>>> import array
>>> from aiopvxs.data import Member as M
>>> from aiopvxs.data import TypeCodeEnum as T
>>> from aiopvxs.data import TypeDef

>>> val_container = TypeDef(T.Struct, [
...    M(T.String, "desc"),
...    M(T.Bool, "flag"),
...    M(T.Int16, "number32"),
...    M(T.Int64A, "array64"),
...    M(T.Struct, "substruct", [
...        M(T.Bool, "flag"),
...        M(T.Int16, "number32"),
...        M(T.Int64A, "array64"),
...    ])
... ]).create()

>>> print(val_container)
struct {
    string desc = ""
    bool flag = false
    int16_t number32 = 0
    int64_t[] array64 = {?}[]
    struct {
        bool flag = false
        int64_t[] array64 = {?}[]
        int16_t number32 = 0
    } substruct
}

>>> val_container.desc = "some string"
>>> val_container['flag'] = True
>>> val_container.number32 = 999
>>> val_container['substruct.flag'] = False
>>> val_container.substruct.number32 = -888
>>> val_container.substruct["array64"] = [1, 2, 3, 4, 5]
>>> print(val_container)
struct {
    string desc = "some string"
    bool flag = true
    int16_t number32 = 999
    int64_t[] array64 = {?}[]
    struct {
        int16_t number32 = -888
        int64_t[] array64 = {5}[1, 2, 3, 4, 5]
        bool flag = false
    } substruct
}

Each field in the container is also a value type. Iterating over the Value container iterates over the outer-most fields of that value. The equivalent Python value of a field can be unwrapped using Python builtins such as int(...), str(...), bool(...), float(...), or using one of the Value.as_type() methods:

>>> from aiopvxs.data import Value
>>> Value.
Value.as_array(   Value.as_float_list(   Value.as_py(            Value.cloneEmpty(   Value.id(
Value.as_bool(    Value.as_int(          Value.as_string(        Value.equalInst(    Value.mro()
Value.as_dict(    Value.as_int_list(     Value.as_string_list(   Value.equalType(    Value.storageType(
Value.as_float(   Value.as_list(         Value.assign(           Value.get(          Value.type(

Incompatible conversions will raise the underlying aiopvxs.data.NoConvertError exception, or a "Cast not yet implemented" RuntimeError.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

aiopvxs-0.4.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (351.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiopvxs-0.4.2-cp314-cp314t-macosx_11_0_arm64.whl (307.1 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aiopvxs-0.4.2-cp314-cp314t-macosx_10_15_x86_64.whl (299.8 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

aiopvxs-0.4.2-cp314-cp314-win_amd64.whl (233.7 kB view details)

Uploaded CPython 3.14Windows x86-64

aiopvxs-0.4.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (346.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiopvxs-0.4.2-cp314-cp314-macosx_11_0_arm64.whl (281.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

aiopvxs-0.4.2-cp314-cp314-macosx_10_15_x86_64.whl (284.2 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

aiopvxs-0.4.2-cp313-cp313-win_amd64.whl (228.8 kB view details)

Uploaded CPython 3.13Windows x86-64

aiopvxs-0.4.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (350.4 kB view details)

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

aiopvxs-0.4.2-cp313-cp313-macosx_11_0_arm64.whl (282.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aiopvxs-0.4.2-cp313-cp313-macosx_10_13_x86_64.whl (283.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

aiopvxs-0.4.2-cp312-cp312-win_amd64.whl (228.7 kB view details)

Uploaded CPython 3.12Windows x86-64

aiopvxs-0.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (350.6 kB view details)

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

aiopvxs-0.4.2-cp312-cp312-macosx_11_0_arm64.whl (282.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aiopvxs-0.4.2-cp312-cp312-macosx_10_13_x86_64.whl (283.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

aiopvxs-0.4.2-cp311-cp311-win_amd64.whl (222.4 kB view details)

Uploaded CPython 3.11Windows x86-64

aiopvxs-0.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (342.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiopvxs-0.4.2-cp311-cp311-macosx_11_0_arm64.whl (274.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aiopvxs-0.4.2-cp311-cp311-macosx_10_9_x86_64.whl (271.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

aiopvxs-0.4.2-cp310-cp310-win_amd64.whl (220.6 kB view details)

Uploaded CPython 3.10Windows x86-64

aiopvxs-0.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (342.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aiopvxs-0.4.2-cp310-cp310-macosx_11_0_arm64.whl (273.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aiopvxs-0.4.2-cp310-cp310-macosx_10_9_x86_64.whl (270.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file aiopvxs-0.4.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3e54f8d44ec58267056c0103b1dfa7a54d10e188ad3caeb6811f02dfa3e8de89
MD5 d44db3c137686dfda53cf988e175dd59
BLAKE2b-256 ab5ce67de80ad699518b09bdd3a2de2b1d34bbc60e3ff2a89e742f1a30e077bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46f54fac7476f15bbb8c972ce592706852c99aff71704f50e89635c995c467c8
MD5 5785f3eeaa385f0bde53619865537804
BLAKE2b-256 907036c82788140488b2077cebedbc80a0c3b01cdf5db15b1c5988bc7560ca62

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 05111c93779dc99845f8358c194027531c7176e143cea868d2a098e9091d6098
MD5 a8565bcb83248c8e202a2750f37b6341
BLAKE2b-256 41ff410f84bcbadea42fa1096bdc1d2855ce65293ef223336ad82f6c9464acd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.4.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 233.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aiopvxs-0.4.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ceb5bbed1c8f90e4c11bb143464bc0c5b0e574651e31c1c255efbd93b0ec94c5
MD5 9afcadaf892c52686c31495483efe49d
BLAKE2b-256 31683fdd840039d78bdb1b591693ee7b77703e25d7e826f63a243633aa35c7c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59f6c63d771b12ca927f4d626e2afe87d81cf95fa3d5f6886fa5453ade0e6d4b
MD5 41a40f86a18aaabc2674aa6f010578ae
BLAKE2b-256 4a80541eeb1fc1854a47c5b217e2001cbb8c345b5130c153d7b539dd59788239

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5bfec5d4283c79b050295f1177e030a4e5ee69e644102044c82bec86f853634f
MD5 db153e6fb0bd2a216717c6fab2f231de
BLAKE2b-256 c80516323eac794d17b88314505bd8105aed832780af75a76ef3cd33b1d884b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7dc8a0f7b7ed630f7b44c0bff9bdde298758ea39744076830da4cefeda291267
MD5 6ae54284ae243c3e9f1afb8e9d2a7244
BLAKE2b-256 89b4d439b247ce64915c2ce9854182b11eb5bf9015fd68fdfab88d3cc9dd3bd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.4.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 228.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aiopvxs-0.4.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 35ae25547310f966e7124abc01ab7fe0907cf6935bfb9cdc732aaeaa2113ea22
MD5 2d708e50e54ba8ccc3deadb55a09a652
BLAKE2b-256 24a13bdb467ca17d594e97bc4c6ce84408160767c725ccc6517f2bd089bcddf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4caea1d1eb87c4c6992dee875dbdf9a281b96afa1811db2b02e9643515852a2a
MD5 98717bd9325b55c8cc5afaf302d7082b
BLAKE2b-256 c928c40022fed8ab84c07608512a0e8665e467a7448b028924d3a3e62f171a40

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1aad8d862264e528ec0d7deca7bfc66c649dfcb753fec6643ce27ae27997eaa
MD5 e030681d9fc888b01ecb27f905867682
BLAKE2b-256 5625ca6ce49827241ce1889fb831e3b4a1e9e99b3c502336150224fba50a7a0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c63039fdb5b04e7a1fd646b1c45901ea2f36b40bda7e94976fac4501a42fac92
MD5 b0af7777a40772ec32845a09436e8d46
BLAKE2b-256 798c1afddbc430398076055d4d5c48c19037fc4f935e5dc232413ac046d7f340

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.4.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 228.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aiopvxs-0.4.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 18bc03dc193b5e852b9b78a4b52de2df5a6d2bde4e0df6d9c3518d584fcd99b8
MD5 6901bfaa718b1411e29dfa1b270bf53d
BLAKE2b-256 58e4c38850455a3bd3a6390446112014b0df9653a6c2389cc9e72a0b7469cc70

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f5cf292b0682940b1d488ffa068d84d562ac446ffe66b1fa3b91452410d472a4
MD5 11f34c9dc9e68a42480b506d6f456706
BLAKE2b-256 1ea7058bafaa34f76e5bec7a9d1804b7ad9d0a79fd5661a9883f736cdded4a29

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20466ac69d57e8b38c2ad7f02afdcbbc2b955ed97393b199f8d38d7c2a4dd610
MD5 b4a93a4990f3baf99caac262d0a77ada
BLAKE2b-256 39e36ce288ddc38ac0b31bb4011296239013348bf0590cff597ca90f763ea940

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8dc969dcbd760dcaca2eec58e88a43aea431915d5678608a3a7cc19b54c1c9de
MD5 a5e5d0762efeb7a86c1b8ee93cb3cd66
BLAKE2b-256 e58157d2d4686e2b5fe4cbafe8ca7899d58f092b9eeb4c6142a62bbe38d895d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.4.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 222.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aiopvxs-0.4.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 423f19eb000ef5bb8c468f5a129f80913515a6fb7e1246ae4d74c43861f39cb3
MD5 993649721ddda0ae86e38560b79ebc01
BLAKE2b-256 67bad68cf78fc7fb43337c9814582f0eda58c96b4b9b07bd026ebf30cd309280

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04c148af178deef1294f195b02915dc83dae98c52d3079834a2ea9927862d638
MD5 ae698fed94949f2fc9b9f4fb723c1abd
BLAKE2b-256 431d6857f3fb380c9b765212d910085b388a51884f89aa2d9c1165e1c42fff81

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e4a9c95e30020c731d465595af6903b5d0e8b24d1d63d4e36e8dde6077d8a0e
MD5 5db0c9393e5e281970a44d52035c918e
BLAKE2b-256 13d4865157f3e6ab92464990ce36fd6bb613f265e6bf061e1d5814af09c9df37

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1d805bf13f1877ae20e8ef58ec804c6f6aae923d42676acd4a38cd25b45d77d2
MD5 f1b414ea33772651327d6ea0db4a1c86
BLAKE2b-256 d7e50316d7be2917f3712c0938d6b3ac3928d18f120195170a429504fcc73f58

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.4.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 220.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aiopvxs-0.4.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f77d0f193fff94792b83280d6aab6f19f4ed8446c84a122a52d4462e96b32679
MD5 2bb6054b6769d6218cabd40f37d19c32
BLAKE2b-256 e17394d8aa4fec4846eaa7635679b0801055fb57538794cac2f1eb7a59441df6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe1feb748cc8806a29a861a882d31e8ac8b8f80ed6fd3e18ca102b620a85abb1
MD5 ad8146ccfcd758ae6a1122cbadc3d4ff
BLAKE2b-256 60030c90e8e053ca1a53d829511756c11d03d0ff5df9e45b9372ef6e73d6bd46

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 61cf6bf2037120ebb7f9233eaebe02c80d93736c1378354082c004d78f5f1308
MD5 21e02dd4b352e73dac0909c998ef55e2
BLAKE2b-256 d915866c08f6d6db4a51411762c956f59a6277ef5df850d584bfe21cdbfa083d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiopvxs-0.4.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.4.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ee8e613bfd1d739c6fce7deab3188e9da02f29769f06eaeb72ec296730265206
MD5 4f4eba227a2844b6eda49c545bfc8413
BLAKE2b-256 9cfe3b31e84f44108afdab9f1d694c250a43dd125948915a18f38266333b8e1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.4.2-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on m2es3h/aiopvxs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.5.0

23 files

This release

0.4.2 This release

23 files

0.4.1

23 files

0.4.0

23 files

0.3.5

24 files

0.3.4

24 files

0.3.3

24 files

0.3.2

24 files

0.3.1

24 files

0.3.0

24 files

0.2.0

24 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page