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 (KeyError, 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.NoConvert 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.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (345.1 kB view details)

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

aiopvxs-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl (304.6 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aiopvxs-0.4.0-cp314-cp314t-macosx_10_15_x86_64.whl (294.2 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

aiopvxs-0.4.0-cp314-cp314-win_amd64.whl (231.5 kB view details)

Uploaded CPython 3.14Windows x86-64

aiopvxs-0.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (341.7 kB view details)

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

aiopvxs-0.4.0-cp314-cp314-macosx_11_0_arm64.whl (279.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

aiopvxs-0.4.0-cp314-cp314-macosx_10_15_x86_64.whl (279.4 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

aiopvxs-0.4.0-cp313-cp313-win_amd64.whl (226.4 kB view details)

Uploaded CPython 3.13Windows x86-64

aiopvxs-0.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (341.8 kB view details)

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

aiopvxs-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (279.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aiopvxs-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl (278.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

aiopvxs-0.4.0-cp312-cp312-win_amd64.whl (226.4 kB view details)

Uploaded CPython 3.12Windows x86-64

aiopvxs-0.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (341.7 kB view details)

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

aiopvxs-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (279.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aiopvxs-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl (278.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

aiopvxs-0.4.0-cp311-cp311-win_amd64.whl (221.5 kB view details)

Uploaded CPython 3.11Windows x86-64

aiopvxs-0.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (333.5 kB view details)

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

aiopvxs-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (274.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aiopvxs-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl (271.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

aiopvxs-0.4.0-cp310-cp310-win_amd64.whl (220.2 kB view details)

Uploaded CPython 3.10Windows x86-64

aiopvxs-0.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (334.4 kB view details)

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

aiopvxs-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (273.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aiopvxs-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl (269.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2447827f1b5c8a676615e5d5878b08f8e91f5a2c063fd7c6c210fb3336366bfd
MD5 4756347bd3f9719b83443a5feb4a2efa
BLAKE2b-256 f869d0339383c779fdec83274e20e1ad4f88d96f568fdf29ceab2d5e87f576fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2a992126145b81113615b76a07a88fbaaf11641b80ddee36b404cf48b01258d
MD5 d0f1e7fbb1ef142f39430b9d311c1a83
BLAKE2b-256 7d862c0121b436d270f1843f47880c33e61216c421f51d19e22d94f88448137f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 85fe43497547635b672c81b6c67a6546ca83aa7d2bd80a5c343168f5dc8fbc2d
MD5 09e255eb670795bd6dc07edac1171b46
BLAKE2b-256 bf0008560ad037bfd62c6089418f507ea17422d4104c378e320746908b4e91b8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 231.5 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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 505970734c424cb3a39659f99f8c52f18d52cb78638eeb4a8fa51ca16db41d91
MD5 fd0a22acfdb29eef8ee0140ac64a3bcd
BLAKE2b-256 7222ef4af496fcd14926afabad36a06f9d67b370d76684cc3956ab2b85b4fb3a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed31b98283b7ab19bd1577f7c15c1b0fe034fc4d013d57bc5efc45ffe69a8f6e
MD5 90dae8774c12542bd1e6a9d2da400bb8
BLAKE2b-256 7d28c3cea3efbd1f88d0784bd7f2c94c29194584e1a45ba01687b089fd12595e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ef9f3f59efbbbcd346ac2ba557d6a117bed46429d1e28bbabd66cea36754d48
MD5 7caedd525c1490b1aaa24fb9e90862f7
BLAKE2b-256 f26f84b08aa7dd9c36125c79a21b15c5a8e4c58858763bcfd3eec6c6344f4d3a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 88fd10a1104dc07866007a69050b3863e605d7f6446bfb80725bd61d557b29bd
MD5 20d55c4f8cd6d40fa5c49e955378d83d
BLAKE2b-256 b363cb516c393ad0147870e0e2f4449d890d5365045d7fce0fd55b0600b4fe8f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 226.4 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 20b22efadb0a9f7bd874954c4a7dc8dba14eb877adf38b985c2b07b83c65377f
MD5 ccbad9a8085aa0f97e36dd9243168df0
BLAKE2b-256 628f8dd120ad14af2a5dcda14cee9d37a013dcaf25bc6e5d081c1aca7899a153

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f21a2d6d4c53c0dd9f825b29587ca79a0b6af9a96e6292411031f0b4e502984
MD5 73272fad7e7cd6a72232dd864adbe256
BLAKE2b-256 2c2c913beb20e9066f66a16c951026b58c861feaffef44d761176d3ea2039e40

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46252f22ea72dcb3aac8bd727087fb8b4c52afb517e57d854f6579e6f68aef6c
MD5 09d25b81ec63cbd7053f58b71159e37d
BLAKE2b-256 a284e30354d324ff11e4370bd7270126b30817059003225641da3fc7ac47da4a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 06e52aada2b083d9b67f3374a4254e25f4bcb3926ba28fd4bb98b6491e0546cd
MD5 4791cfbdaee6c253fc691398dd80294c
BLAKE2b-256 126eb62dbf2480d2a38b098bcf7132116aaaea8c9720a3d9b4429559528495f4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 226.4 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 19528dd47d192839338d2e6abe5e5331657b8c4229199a2f2cfa95e4e999ffbd
MD5 eb8590899d15a886ad0b86a73e45094d
BLAKE2b-256 f029357c7288e19275d86b7c555c31bc51d6a3c55c650fb2ec5c3fb1ee7f1531

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c6e8a815eb0220b216c63d99c98e7efd6757f8982567fc0667c684dd4d842ec3
MD5 173a83de1ec631a4a5c48cb8b74e742d
BLAKE2b-256 8cee809715a270113e6e2b7837e8b65cc6a2a1e4aa505d7b32cbcc346074e306

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2664877fef0639164ad4138075de92ab170f83f6ba09417e5d38bd39c55dc488
MD5 d95bfb43cbd4ba52372c3ac30478c13b
BLAKE2b-256 65c2859f6e1f6b4309b156e72abdd394224bb8173979537fc616bd5d73c38824

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 67d7b1f2dcafc8b350343b58c7efe60669fb47fa1a2aa713575a871a856ff91d
MD5 935fa832a88363c5360f8457a393b8eb
BLAKE2b-256 1626bd598a06a5119c6d3db872cdaaeec83d3fcea9d9ec7a42ff0a10f5f27802

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 221.5 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8ad0c8c1db422f40bc49902aaf1958073e15ad667b30ea5388b8e56eacdf0990
MD5 4c01467d61c8ce06c88484f07f41c2f7
BLAKE2b-256 a383c4c32bc1f3cc98895d68e054548ae2c2ff007fac972318c0f29b3e9d3fcc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0aff0feca4d9fc31f24ac95bf7982eacc2b811909efb6a41cc85d71f0923d8d0
MD5 f50f07f0ac6ff7a9e2e037d8c1f96b82
BLAKE2b-256 39b5d1ca37267bc01705e3a4bcd4e1310e12d8ab86b22d08f18532da6865775e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 942c71cbbd0f807382a7f29c2370f0cd8cfc1b88c8dd6fb2a2e50c4871471354
MD5 01b4cf869ec11b506df2256e3dd3e24a
BLAKE2b-256 bc5f2de059dc2bb6d157aa51e656542a86bff90fe2120ca07b66a069cb9436f6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 936de9785a709ca538bb1172e37bafc5594161bab61ab0be553d081e78891799
MD5 102fbb3fbf30400f693795136d16e5a0
BLAKE2b-256 cb4e4460d249e7f774ff84e7f6f3105a449d38bb324977c0dadc999997281882

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 220.2 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1ddedce9b5a04e70c9bc61b626d598b289321d44a7f361a97068365516d60ba9
MD5 6458832203f65f4417d1b9db22dbbc41
BLAKE2b-256 f8cd72a680a0ae03a8854ec5ecd5facc51eb492a6d0a06c5a9dcf26c63f0a861

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af5f710390d44d44ef61f0adccaba5cf3b4438342065b6c67aa113148c84192b
MD5 656fddfe711a95d4bb3b9212251d5b98
BLAKE2b-256 0a0b54d3ba1f18bad5078b3bdce1c3d246967efa2ab21823c79480c92a164198

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05b646cc7bbf3fd9c6ad1d0c010773c04068b49d89cc505656023a9d2f01b76d
MD5 ab7269144fbd09c64c45efcc8ce1c750
BLAKE2b-256 0611789ea12e0e4f80e503fe289dc2c4bb8d17a8b5a12c86237c5a9b94895400

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6e16ff4b3b76de0524d257a3e16cff86556104fa6f3743d365856c41f65c92ae
MD5 0492adcc2f1256c6424159ceca31fa2d
BLAKE2b-256 f16a044a2a5f9cdaa70abbb5662629a7c808378ffc2652c4df3f4dbea05807c6

See more details on using hashes here.

Provenance

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

0.5.0

23 files

0.4.2

23 files

0.4.1

23 files

This release

0.4.0 This release

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