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

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

aiopvxs-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl (305.9 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aiopvxs-0.4.1-cp314-cp314t-macosx_10_15_x86_64.whl (297.7 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

aiopvxs-0.4.1-cp314-cp314-win_amd64.whl (231.9 kB view details)

Uploaded CPython 3.14Windows x86-64

aiopvxs-0.4.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (344.4 kB view details)

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

aiopvxs-0.4.1-cp314-cp314-macosx_11_0_arm64.whl (280.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

aiopvxs-0.4.1-cp314-cp314-macosx_10_15_x86_64.whl (282.4 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

aiopvxs-0.4.1-cp313-cp313-win_amd64.whl (226.9 kB view details)

Uploaded CPython 3.13Windows x86-64

aiopvxs-0.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (344.7 kB view details)

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

aiopvxs-0.4.1-cp313-cp313-macosx_11_0_arm64.whl (281.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aiopvxs-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl (281.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

aiopvxs-0.4.1-cp312-cp312-win_amd64.whl (226.8 kB view details)

Uploaded CPython 3.12Windows x86-64

aiopvxs-0.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (344.4 kB view details)

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

aiopvxs-0.4.1-cp312-cp312-macosx_11_0_arm64.whl (281.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aiopvxs-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl (281.6 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

aiopvxs-0.4.1-cp311-cp311-win_amd64.whl (220.2 kB view details)

Uploaded CPython 3.11Windows x86-64

aiopvxs-0.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (335.7 kB view details)

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

aiopvxs-0.4.1-cp311-cp311-macosx_11_0_arm64.whl (272.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aiopvxs-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl (269.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

aiopvxs-0.4.1-cp310-cp310-win_amd64.whl (218.9 kB view details)

Uploaded CPython 3.10Windows x86-64

aiopvxs-0.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (336.2 kB view details)

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

aiopvxs-0.4.1-cp310-cp310-macosx_11_0_arm64.whl (271.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aiopvxs-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl (268.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 49036e3ee2fb35c5f17a3e1a2141f933f940eba647128bd4accbe9a1ff30db1c
MD5 f29cb180a786a41acf21c664e8bff023
BLAKE2b-256 119430f7fa9a2b6aa0684bf6955d70e4ab0064c8affbb86edca5cc503873849b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfa60b6f55fc3cdbf1fdd6ce4d43bb8119bc0b818813c72dce8d1bfdaa71b12b
MD5 5edbe15b0602cb9a2637b83a5b86d1f1
BLAKE2b-256 478da52d259cd281fb0af521acf7437fbbd2ff24e4209e476cb93dbbb9dfd818

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2c2182cd3f09ec278a064aa7d72ed5c9037692e6cb0bde3514c2aee6391afa8e
MD5 0cc20480fb60261707a1db76424fdfe4
BLAKE2b-256 7ec9224f4a2aa3280caf5a03dcd6b1b0c8653830f8d9672fbc50b0bc03587a8c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 231.9 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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5bc693b31484890b9181da60adde8f0bf84358d0d8a229a0fc9d98b07053bc86
MD5 695436ebd729ee534c8749a478bfea7b
BLAKE2b-256 451c8a266f20a3ae8ff978b06376a3fef6889e0a9d7a32fcd3470e0370f52f8a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c12fcb0a8cb40913a0244c2ef10021718ec578a383a188793887835d9795f3de
MD5 33fb8662570b9c415878c1b77db90dcf
BLAKE2b-256 9031452ff678696516bbdf12127d78a522c8585078feff06040e68c6dfd0fe61

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65fb50c63c05969ee17922da0b6cbf7595a1fbaa62b2d993c3fe617d6fb8c5df
MD5 379d4bcf0dc1c06ecee654d95bc0d770
BLAKE2b-256 6f162a19810042ae4a70f6f1770ff767c738abfb76c96e48d50d3e332503eee7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 24a1ca5b5975f683e667d2cf02959351eaaf70dc8114824c16786fc57d0893ca
MD5 ca7478791718d3586d78b14a6013bee1
BLAKE2b-256 ea5b263678ac9dc4bf03aa3db326fe4f511c9f67e23b1268efab9af35481c70f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 226.9 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d1029612b4393af9df3e80d6ee48ae96860235ad047b32304c3cb7b97b27a2f5
MD5 959ca18494647d47fd24ea88611f123c
BLAKE2b-256 2e954f32103c93c89aea890ac3987b5cd8594d250501b26795d3c8b814713629

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 39bdc0baf755df5f6d9154a9a58bcf5b5c2d4037a51855727ae999ca271c0d80
MD5 987b5beafba4b9bbd2e44bfeca1247d0
BLAKE2b-256 d9af106a921587d7c31adb1648e2774e91a2307221aa902bcd3bb0c37e3bdc41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59f014c8834245e5d559d42cbffbf298cd23a2bfdc1b5556c6be7cadf797a0bf
MD5 c20cad3b93fd1607915a7883ea50296b
BLAKE2b-256 b1603edb17b1d4ac3114851854e8674055161af54c80c7c9cafc6c00c5c946d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b5956dcc2c57d102ae9e97f53d494d433778b3e048032d47d96c2ce2120a61d0
MD5 110b0c0764fc71f3c92348bf33324628
BLAKE2b-256 f4b7f0b5d4601dd679c913f1d12c5e0ab3613f36b358e1a60e1cde45a32aeb07

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 226.8 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 365cdda77fc957d19dcc48f25976c60841da9617e25421cbf1afc817705fcc92
MD5 18920775c5ded151eb8d1ce256ad191b
BLAKE2b-256 3f6073f8ba9498f553be21aa61471c23d84fdbba057658111527432db487bddb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1102d237c770e8298c6135e1c63dc8f353f18f6a2450261fa8f6ef0793add8eb
MD5 81b3434d31038ad1604ea2b07756137c
BLAKE2b-256 d74aa77a7293a78805291dde5c153afa63f973b763736c95055c7b81339699a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d78e0429b66ab52d5e66415e38c6f9b236e23bb83992055b4219ffbf326df98
MD5 575cafc6913b03c43ca9e3845559dd54
BLAKE2b-256 b87189547b65649b72d25066ec0e0628efd24421d14b34b3de6486c8ffe8d30c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c55596f7862036672fcbcc6b73af79f75dd9892be2804f8aa8e7ed0d4cdec8cb
MD5 f178917e66108b224c6de81321ce6105
BLAKE2b-256 d686c45f78ca6ee07019d1cc5209dbf4ec8dc7afdede05ee5d1606c75f8ee29e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 220.2 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9be026c7aaa751e7011945555751595a8eb8db5ffca23c6352b5041ff1ff15cc
MD5 ffbace89e01f5cd7bfa206d69334cb9c
BLAKE2b-256 11d5318bcee929671384b90f2d988647c1241b5a03019de6762b331270f30063

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2157543f149dab5aeeec7bb70dcf4e163b0739311259175c550161098ba438d1
MD5 2180dc3a2f59752c582895405f100bbe
BLAKE2b-256 06976abfdc63d54068c705b9998723bc31e61b1909078b6098b477ecd3c794fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9267a93e802a37ad5091519913ef931b5a7589ce9620419228f4b9669e087369
MD5 b75dd509a527954abde78dffa9bf24fe
BLAKE2b-256 8c7f8deba91a6e7234c5502e34179b1b8ad0e28ea2ad8a2d7db1d6ea50ba01f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d538c1c2b712ae7f704dfdb68690e1566ccbbda9440d0b896cfb02232aaeb763
MD5 c166b7f0f6b26bb0b03bab7439008336
BLAKE2b-256 1e91c0be88ccbcf99d9f7091a3c16a707ca8120100e44eff3e405aff0754a020

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: aiopvxs-0.4.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 218.9 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 95314274f00943dafa52f923513a9fbeb6def21cb6cf202cb9a59f231237b612
MD5 fe33e17124822ed0617f7bf310074db3
BLAKE2b-256 da5cfbbfef72dce9c2f9879ebc8740b2c1fe8608a321ba6af8c4c3d6bf296130

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22640edb3d4c368f7ce231b3d216d4b7fa27d3b96bbbabf459393f2c66b06b09
MD5 bd3fae7aa4ff07c8b705476cf8a19c9e
BLAKE2b-256 b28078fc93e3256ecb85ba501b62c0652cb6050f095c569283a10635988aeafd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 831bb5b2061aab9f46644583c80b29a522b5c914966397a6b6f10c6a40b5bc1c
MD5 b388a046bf8154f3b5f99401e39528a3
BLAKE2b-256 17c95d1fa26ce357af9514e3e7296aa93427c19d5adc0283ffd2a46bc5012dac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for aiopvxs-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 95cdc57d6b86b450e6172629b7b005791859c7eab8add8ee65f909bab69786fc
MD5 310191a28498eb7a5d8a8ad853568661
BLAKE2b-256 deceef42c79c66376613a1bdd7fde19c600d59d51cf5098eab655b60e06e366e

See more details on using hashes here.

Provenance

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

This release

0.4.1 This release

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