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.5.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (353.2 kB view details)

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

aiopvxs-0.5.0-cp314-cp314t-macosx_11_0_arm64.whl (309.1 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aiopvxs-0.5.0-cp314-cp314t-macosx_10_15_x86_64.whl (303.3 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

aiopvxs-0.5.0-cp314-cp314-win_amd64.whl (235.3 kB view details)

Uploaded CPython 3.14Windows x86-64

aiopvxs-0.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (350.4 kB view details)

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

aiopvxs-0.5.0-cp314-cp314-macosx_11_0_arm64.whl (284.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

aiopvxs-0.5.0-cp314-cp314-macosx_10_15_x86_64.whl (287.1 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

aiopvxs-0.5.0-cp313-cp313-win_amd64.whl (230.1 kB view details)

Uploaded CPython 3.13Windows x86-64

aiopvxs-0.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (353.7 kB view details)

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

aiopvxs-0.5.0-cp313-cp313-macosx_11_0_arm64.whl (285.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aiopvxs-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl (286.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

aiopvxs-0.5.0-cp312-cp312-win_amd64.whl (230.0 kB view details)

Uploaded CPython 3.12Windows x86-64

aiopvxs-0.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (353.8 kB view details)

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

aiopvxs-0.5.0-cp312-cp312-macosx_11_0_arm64.whl (285.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aiopvxs-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl (286.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

aiopvxs-0.5.0-cp311-cp311-win_amd64.whl (223.9 kB view details)

Uploaded CPython 3.11Windows x86-64

aiopvxs-0.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (344.5 kB view details)

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

aiopvxs-0.5.0-cp311-cp311-macosx_11_0_arm64.whl (277.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aiopvxs-0.5.0-cp311-cp311-macosx_10_9_x86_64.whl (275.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

aiopvxs-0.5.0-cp310-cp310-win_amd64.whl (222.1 kB view details)

Uploaded CPython 3.10Windows x86-64

aiopvxs-0.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (344.2 kB view details)

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

aiopvxs-0.5.0-cp310-cp310-macosx_11_0_arm64.whl (276.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aiopvxs-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl (273.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 384361f126dc79b313700c6fa5ba64b4aaee6cfd89c0e60ae2bde2f9e440823c
MD5 45bebd38f2da1792f472e60b1b3d77f7
BLAKE2b-256 99696d74b35df2325d20343cf0bcdf215d87a914d1b3469584df333c52ee2452

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3d39984bf5e823756f75e15532df30d08800ff5ee64166c888a0bc2e7f034630
MD5 9973e2acdbb271a2a9379797e1b8d27f
BLAKE2b-256 7d16b192bed74c8763408ac27d89261ec7c9d9938c725435881d9635aa2f8b61

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 81ac1865073883fc16a3d07fd35b27382d81822a328d3b98883bd0f9380db522
MD5 162700fcb1b932216a9423f50a149355
BLAKE2b-256 ea1916aa5aa176e7224573126089ea969e33c82de1f4f2aaed0ab1206ffc7740

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.5.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 235.3 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.5.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0fa7026a98cef847fadb5c201e5b52ce948d11653d1d628ff5b0365a3d3e6465
MD5 67ec11931b817640b26228dfb485c6f7
BLAKE2b-256 bb6bb98a564e204c569479d329f46e30571999769a316e8cea5d694e73a950e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6729382fefb70ee991068c2ae13ca046d5bef934edddcf20ae6448fa64aa45f
MD5 abbf74cb1318b7443fae0cf157c2e61d
BLAKE2b-256 e56daa5897a7ae111a123d8c65e48e7bcd97fc72ba8e178ca2db1d4cb8c4c770

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 116f794e5d094d37c62f03d90b36dd9bfd5b91aaa85b97b03816bfa10d3ef6c1
MD5 8927bc343cb83c2cf31332f89383e595
BLAKE2b-256 99b2c4f1701f5799264a6a6731b7ceb84435f51decbb97c61f3461184967a3ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6c822febbd7535d6a0f972a3fdbde0000ec08486eb0292b5d9adda4c720c5a05
MD5 1306ce790df310e579bf8ef9d9721722
BLAKE2b-256 86ac5118771ae7cfbdf9e265ec10df97f3724e7ee547e7529101e35dc87b2de1

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.5.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 230.1 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.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f5536e95b20ed4633f7b629b6fbe5d8fa669d327bbf2deaea06797a4ac55e740
MD5 b25e74873e4dffd437c98b95f0ee58c6
BLAKE2b-256 7c57ba6d945c62c8991ec53070286fd1f2735e60bcf2f8b8558b0478ddd1b0cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9699a369cb344b943c0f72860f316bc8fd66cb74773d73615e0dac7defc432c1
MD5 e7de8c2860fa501533a4aa83d3447ef6
BLAKE2b-256 3bfa7fd7b7ab6ef579c5ef9cfb48f0ce4391784d797cd2ccc99298a7eccce9e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 258c7f924ca21e579d9f147c8562840948e83cb5df266e0101d0ea93e72607c1
MD5 6991090aa0c61e19b697fd033217a569
BLAKE2b-256 1e448d7765f1c91ce9bb022ba390d465562d8bcbbe012bb00d6876cba79b2d18

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 008e8455f86b3119de17824c56b2f445cc9cfd1174ec2ffbd6634bdfa36182f3
MD5 431560fea7ccdf60446dde868ac4905d
BLAKE2b-256 847143e28c562c9e8b388cb5cd504fac93866fb648f19d23cc83279196024c91

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.5.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 230.0 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.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3b884d33e9e1f8cd3acddb04ef0dee20f778808b302a8049149cf97e944c9f8
MD5 eee76e86530e251c9b54d313e0220de4
BLAKE2b-256 2daefe4d9e7d71ae18c6589b7ea09b6f9b7e156b121ca61f504608f01e56c756

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db03d7a321482a4bf322a53eba2fd76d8b0554d70ef1d4581ff6d7ae5dea1648
MD5 d19e91760a8c1f221f54b2a6bfb3bc3f
BLAKE2b-256 d664ef0bdacb4bc001322665d5990d190747dccb4a885f77adc6c326988ae428

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8df49814eae3b33ada2250738e7ffdb6859f41a634100aa39e24c109c0aa7b2b
MD5 30150173876902633de1ac143fb2841b
BLAKE2b-256 793798670c59c31a960cb6cff9196f2b09680ce04e269038151050650496a076

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fea4cee7d5ac445d58f513d7f19aea44a123a9955a4c2f1270a1689c4e4aeced
MD5 5c302b657c2e3fd5b54ca0e26606334e
BLAKE2b-256 7eae46b9bc5ab79f8ffc2290a24bd80fb7a0d2bf147e38f959a2053ba1b90043

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.5.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 223.9 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.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 55af6112fed2ec29cf6bd7859cae5c32bcdbda36fa61c01f6cb183c2c53f59a0
MD5 7385e605865e25f3652fe6c1fa55ffd5
BLAKE2b-256 520ec6c92b2a0dd9bcae3989ef0b4a2965ad693e5ee40efcc35b361029871409

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ddbcd61325381b4eccaba2e1fd6948ebf79733ad2f2d5225b506491260986bb
MD5 85c69e9766f1eb9d914edc572546aec6
BLAKE2b-256 17f6eee7776976b66d8c5e10352294bb2fc4255ef96f0d5e96665f8abf833bb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e423ba772b7db894ab514f3b81b7dd55084014ceb55b962ca7c47bc13c412074
MD5 aa81ae6b045ece469b7d595fbd67719d
BLAKE2b-256 8ce95a1bfbba22dc7e52f265e13ef7a2038dcb9eb3f9744bbeb242bb2bf22247

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dface7db4b8462357031bc0c63235edb955195106cf9d316ab72036fde12cf91
MD5 34e0df52f882920a799c6714f8ac3a5d
BLAKE2b-256 94ddd7c403bf182121523e53c4199fd6f12d4b3555edfde3815a433c6dd06144

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: aiopvxs-0.5.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 222.1 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.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eb9cf764a3cd85f9660041f3725a7a89c57f993c0ebd9d6462a0741dc3693458
MD5 2d4b0b5a08348b7a753929b4a4535bb0
BLAKE2b-256 0d075f8a18663bd9fa4c0017b70bff913eedad7c0a04a01dd44ca85a7eeb3501

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 efe320734b2df939dd0f01417950976d1c16cfe324468cfc810c231069ce12a6
MD5 5647a60d65c85f02abb3afc132b795c3
BLAKE2b-256 8a3fc42b1b47ec954f75b26881a76f66b2f30f100ff2077eb3a3ed5268cf1353

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb4692872c10d06fcdadd16c028204f65af1403a12f29c35c4bb1d5b9a4428f2
MD5 88bc5ffca6550dc64d9c9f49367f9182
BLAKE2b-256 4f34f2e1a6720ba4c024209be5f9fcabb194539c959fdcb8a5b3c057f2c67933

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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.5.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for aiopvxs-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fff91d24952b8762b3b34e54a84e6eed393c13ca60ef1f787cfdd9ec595c6328
MD5 cb33c576d47fb6e9910a48f0617d08f2
BLAKE2b-256 ee174cdc428a4071de60746086fe1d0ea26c1a7e558ba25f2fcbc9a6a676984f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiopvxs-0.5.0-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

This release

0.5.0 This release

23 files

0.4.2

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