Skip to main content

Asyncio plugins, components, dependency injection and configs

Project description

This is heavily inspired by Pyramid and my daily needs to fastly create and maintain microservice like applications.

a plugin mechanic

  • plugin may depend on other plugins

  • plugins yield tasks to run

  • a context registry serves as a store for application components created by plugins

  • a dependency injection creates intermediate components

  • a config source is mapped to plugin specific configuration and may be fully overridden by environment vars

  • structlog boilerplate for json/tty logging

  • fork the process and share bound sockets

  • pytest fixtures to reduce testing boilerplate

You bootstrap like following:

from buvar import plugin

plugin.stage("some.module.with.prepare")
# some.module.with.prepare
from buvar import context, plugin

class Foo:
    ...


async def task():
    asyncio.sleep(1)


async def server():
    my_component = context.get(Foo)
    await asyncio.Future()


# there is also plugin.Teardown and plugin.Cancel
async def prepare(load: plugin.Loader):
    await load('.another.plugin')

    # create some long lasting components
    my_component = context.add(Foo())

    # you may run simple tasks
    yield task()

    # you may run server tasks
    yield server()

a components and dependency injection solution

Dependency injection relies on registered adapters, which may be a function, a method, a class, a classmethod or a generic classmthod.

Dependencies are looked up in components or may be provided via kwargs.

from buvar import di

class Bar:
    pass

class Foo:
    def __init__(self, bar: Bar = None):
        self.bar = bar

    @classmethod
    async def adapt(cls, baz: str) -> Foo:
        return Foo()

async def adapt(bar: Bar) -> Foo
    foo = Foo(bar)
    return foo


async def task():
    foo = await di.nject(Foo, baz="baz")
    assert foo.bar is None

    bar = Bar()
    foo = await di.nject(Foo, bar=bar)
    assert foo.bar is bar

async def prepare():
    di.register(Foo.adapt)
    di.register(adapt)

    yield task()

a config source

buvar.config.ConfigSource is just a dict, which merges arbitrary dicts into one. It serves as the single source of truth for application variability.

You can load a section of config values into your custom attrs class instance. ConfigSource will override values by environment variables if present.

config.toml

log_level = "DEBUG"
show_warnings = "yes"

[foobar]
some = "value"
export APP_FOOBAR_SOME=thing
import attr
import toml

from buvar import config

@attr.s(auto_attribs=True)
class GeneralConfig:
    log_level: str = "INFO"
    show_warnings: bool = config.bool_var(False)


@attr.s(auto_attribs=True)
class FoobarConfig:
   some: str


source = config.ConfigSource(toml.load('config.toml'), env_prefix="APP")

general_config = source.load(GeneralConfig)
assert general_config == GeneralConfig(log_level="DEBUG", show_warnings=True)

foobar_config = source.load(FoobarConfig, 'foobar')
assert foobar_config.some == "thing"

There is a shortcut to the above approach provided by buvar.config.Config, which requires to be subclassed from it with a distinct section attribute. If one adds a buvar.config.ConfigSource component, he will receive the mapped config in one call.

from buvar import config, plugin


@attr.s(auto_attribs=True)
class GeneralConfig(config.Config):
    log_level: str = "INFO"
    show_warnings: bool = config.bool_var(False)


@attr.s(auto_attribs=True)
class FoobarConfig(config.Config, section="foobar"):
    some: str


async def prepare(load: plugin.Loader):
    # this would by typically placed in the main CLI entry point
    source = context.add(config.ConfigSource(toml.load('config.toml'), env_prefix="APP"))

    # to provide the adapter to di, which could also be done in the main entry point
    await load(config)
    foobar_config = await di.nject(FoobarConfig)

a structlog

Just structlog boilerplate.

import sys

from buvar import log

log_config = log.LogConfig(tty=sys.stdout.isatty(), level="DEBUG")
log_config.setup()

forked process and shared sockets

You may fork your process and bind and share sockets, to leverage available CPUs e.g. for serving an aiohttp microservice.

Signals like INT, TERM, HUP are forwarded to the child processes.

import aiohttp.web
from buvar import fork, plugin, di, context
from buvar_aiohttp import AioHttpConfig


async def hello(request):
    return aiohttp.web.Response(body=b"Hello, world")


async def prepare_aiohttp(load: plugin.Loader):
    await load("buvar_aiohttp")

    app = await di.nject(aiohttp.web.Application)
    app.router.add_route("GET", "/", hello)


context.add(AioHttpConfig(host="0.0.0.0", port=5678))

fork.stage(prepare_aiohttp, forks=0, sockets=["tcp://:5678"])

pytest

There are a couple of pytest fixtures provided to get your context into a reasonable state:

buvar_config_source

A dict with arbitrary application settings.

buvar_context

The basic context staging operates on.

buvar_stage

The actual stage processing all plugins.

buvar_load

The loader to add plugins to the stage.

buvar_plugin_context

The context all plugins share, when they are prepared.

Following markers may be applied to a test

buvar_plugins(plugin, ...)

Load all plugins into plugin context.

import pytest


async def prepare():
    from buvar import context

    context.add("foobar")


@pytest.mark.asyncio
@pytest.mark.buvar_plugins("tests.test_testing")
async def test_wrapped_stage_context():
    from buvar import context, plugin

    assert context.get(str) == "foobar"
    assert context.get(plugin.Cancel)


@pytest.mark.asyncio
@pytest.mark.buvar_plugins()
async def test_wrapped_stage_context_load(buvar_load):
    from buvar import context, plugin

    await buvar_load(prepare)
    assert context.get(str) == "foobar"
    assert context.get(plugin.Cancel)

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

buvar-0.44.17.tar.gz (33.8 kB view details)

Uploaded Source

Built Distributions

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

buvar-0.44.17-cp314-cp314t-musllinux_1_2_x86_64.whl (618.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

buvar-0.44.17-cp314-cp314t-musllinux_1_2_aarch64.whl (615.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

buvar-0.44.17-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (638.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

buvar-0.44.17-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (623.0 kB view details)

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

buvar-0.44.17-cp314-cp314t-macosx_11_0_arm64.whl (113.8 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

buvar-0.44.17-cp314-cp314-musllinux_1_2_x86_64.whl (545.0 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

buvar-0.44.17-cp314-cp314-musllinux_1_2_aarch64.whl (531.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

buvar-0.44.17-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (541.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

buvar-0.44.17-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (544.3 kB view details)

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

buvar-0.44.17-cp314-cp314-macosx_11_0_arm64.whl (105.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

buvar-0.44.17-cp313-cp313-musllinux_1_2_x86_64.whl (549.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

buvar-0.44.17-cp313-cp313-musllinux_1_2_aarch64.whl (531.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

buvar-0.44.17-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (542.1 kB view details)

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

buvar-0.44.17-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (549.9 kB view details)

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

buvar-0.44.17-cp313-cp313-macosx_11_0_arm64.whl (104.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

buvar-0.44.17-cp312-cp312-musllinux_1_2_x86_64.whl (570.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

buvar-0.44.17-cp312-cp312-musllinux_1_2_aarch64.whl (552.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

buvar-0.44.17-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (562.5 kB view details)

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

buvar-0.44.17-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (571.5 kB view details)

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

buvar-0.44.17-cp312-cp312-macosx_11_0_arm64.whl (106.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

buvar-0.44.17-cp311-cp311-musllinux_1_2_x86_64.whl (533.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

buvar-0.44.17-cp311-cp311-musllinux_1_2_aarch64.whl (527.5 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

buvar-0.44.17-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (532.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

buvar-0.44.17-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (530.8 kB view details)

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

buvar-0.44.17-cp311-cp311-macosx_11_0_arm64.whl (106.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file buvar-0.44.17.tar.gz.

File metadata

  • Download URL: buvar-0.44.17.tar.gz
  • Upload date:
  • Size: 33.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for buvar-0.44.17.tar.gz
Algorithm Hash digest
SHA256 21979f7c8bf7977880012d09096c698546c3a73f9a09973695eb5eedd11826fc
MD5 46d99bed674efe3c2ffa8d2d78fe86a9
BLAKE2b-256 fbb55f8c5bd7bb738421ec5e194ab938886eda71ef09c222e9c1ac2aaed95891

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17.tar.gz:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 33408e7b293e51b15847004256d88320acea99f467e00b414f4a87fd9f7d528c
MD5 ee3c8c9dbf9fe0908636bb7f0483e79c
BLAKE2b-256 cbd88ba82fdd5dcfd6fdc9522d3f70d8e7d0259f2346cf92162820777fcddc60

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d5e38ee19279ddc3578aa45043126142abd7ab341691a656208746afc880e028
MD5 63ab58511cd3a37c648177f28b0bc13b
BLAKE2b-256 82f9ef824fae9505bdfc444dc2ad14ba4eae47e4a12aacf804214752265681dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8b0e978d7e42c16384de9ffa0adf04bef92ae003ba4581256eec172bdd2e295
MD5 700410365a3fd23af95e50fac15e3213
BLAKE2b-256 04b44274a32fc18684b92db20a84948e2fe27f95d933ea994054bbdea3b1655d

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e81dbbeeb8ce728d0f6f7b80c8e1d8531294fd9d79111f17c4c9bcdd6a0bd09d
MD5 500e6bf744e7b207101f6afbfcdf2a86
BLAKE2b-256 851ba736b3afbf6d6cfaa48ebaeff07040e8e08b00352c9428e7ca695c4831ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f425c7a193c3aad5032c4cd4ab52dd87a9914ba0d28b03a670800827475e2069
MD5 d8a9625cbe5018f971f50e9cfe7827c5
BLAKE2b-256 325c9c068976c968948dfe6872cc3549d1afe2e1b5b18239c150ed4f810a4746

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d87e63561997e2e276e1377c2d9a0e90b7ec7d350cee33187571bf8e9f0c6664
MD5 523ed3348575397b6c8f5af3ce34779e
BLAKE2b-256 d569e742fdff0b52fc5aafc672aa5246016a82c08f3dcdfcfa6c315064b90ac9

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0be56b7d410fb7471a10bbc9be3a78a0fb129abbbfc1f83867243eaefb0c780c
MD5 52bd5998c555e7eb4d008647a7cc0b4f
BLAKE2b-256 f20da638be8a077cb75d7a1c62ef0400603d3c96ed8d2d7b5a160ad07d04ee16

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f631d51430409c035b3806e76f2c9cdbf7a9755b4d492c8cde5d45a9fb8a9555
MD5 8f67fc4ad94e6b5b163e322b0164afb1
BLAKE2b-256 62d41d7ccb47c24ef8ad38338ae9a49d6fde7811fed27114b5f61bb4fa5af9f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4fec0650fd55c67a43d0400b06d4aa14394408550d0672603642713b7284a1eb
MD5 40452ca2eec5498d13277b9b1dceaecc
BLAKE2b-256 b8d3d0f633482b5016af0d4eb2e8b19420e892833aaa41b0c74e30dfcb7c077d

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0587bf4807d9436bf08b0c0952329403384c31572b89b327651c135e239b2784
MD5 fb69ffaaac39de72e185fdea2c53f137
BLAKE2b-256 6f57df13c6ae51e188b32dd1b94b6a5d3561e468d7647de19c37a33f82214583

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c3386b97e4912855e8ce7f2fefc8240c4b537878b07504db3611de277b463daf
MD5 f7f6e18efd919eab50ce601165d97120
BLAKE2b-256 bd93a565c415d9e57a26ec2b260169e11b7b3998c6974dca03ab770a5661b4f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 74dc397db1a2fbfecdd974dec6417e4512e46d670fbb1fbb9449290268b4551d
MD5 3ee36458726102c9edb5880d0dab8f18
BLAKE2b-256 3855ca75a90acc388d63554f0c39cac7e497fc1c7df991ae202b526ae53cdf35

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 559ef12eb8883b7f29a5983c4b1a7baf877948d92e8495114e4c19d6fd378d60
MD5 363ecd41ded8a6bef68406fa7d5660fe
BLAKE2b-256 0af8868fa0333489e0ecb1c3242ea31bd9e59c5214657e5b2263a00b34dd976e

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 81276637e479e389348a8633aa3c51adc596cf437d4e1f607a1c27c6b80b7d90
MD5 3edfcf2eed965f91c06a28ccfac66037
BLAKE2b-256 5aa179f38fa5da52ac4d851d574ae04d5f17f5095c77976e41a33cae1cd21536

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d05a125d8bea9b98a435c28c5e5e684bbe752536c4d6a7648dc145c7c4e67e1
MD5 cd85fd60dfd1996b4e966576e1b3a32f
BLAKE2b-256 de9b872ac042bae992e5bb90f9ab38d321a9f079c2a33cdb325dea053e2b6d37

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3e9010169f531cbd05c1bae50c741bcba226dc2ab2f766aae1c460fd36a78596
MD5 84ed5d287c96ec7db05dc057a265d7b1
BLAKE2b-256 81b57ecf2ad8667a9cb7122537e4facec315acf832a2d82768cdb71f225894c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3ff61569e5781d842804742ab73055ac1cb8231feac9acb7c7126989df1e0d6b
MD5 05755a4a841b9c10a127ffd5497e8a9e
BLAKE2b-256 418068dcfde138bce0d51645ce032b2e691c7ee64b3de0baf4dedbea4618dd5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dd6481c427f39c525f29b71fb9f8ef67f84aa172071e615ff58d56b4b4c9d577
MD5 46510f58eb6235576b4965bb8da88142
BLAKE2b-256 545e676db4fcd70a6ccdb9114a54693169d848bd845226c245e9054d6feba2c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 56e3391c95b1555f370f16dfd3568deac3055348e6c07964f6fdf0c4960e741c
MD5 3915a6de0969c85ef21098d9d412ee21
BLAKE2b-256 9e4d560e778e6ecbba488c1e49e6c4d01b26cdae95955d6565e84d93263cecf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f490ab9fae2a22b1e164ea728cd605289e651689cc925c8d2673fb71b24cc1d3
MD5 9d503727b5f5f173fcfeccebb21ff72e
BLAKE2b-256 f5130171a5d72de4ad4ef6717f6275e9bc6c6c3eb07b9ef6d8cb35ff35ee4731

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 30fdd69c9b15889452b6caaa381353b16bd8ec3a04734d9cb12651316b08661a
MD5 62d623816cc3719eb1047d87ae57e40a
BLAKE2b-256 e52db9908a2e63ce63eb8fd4b630d57ec297fb34dd0c689d632af24f48032c7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5916cb3f977facb124e68c878a695d12da639a30aa29e04dd096f3a372ad5924
MD5 455f1cb1f13013d54e95a43137ce97d6
BLAKE2b-256 546aa71f9ef56f0371e9f22cdbbae52e76a25c4dac3a35d7a9cce648289911e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1dde0f20e12ac4fcb893e42d8b5703e41177d12dc4598942f65bea1d976deb5e
MD5 0a9ef52d5b7e7086f17cd7379f3ff135
BLAKE2b-256 b143e3ed4fb24c7f8785bd963fc78f0a5eaf8d53a96703a7142596a7a48d9bbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 d69963c1818e45dbc207b9bd6663a7ac96547f35e5fc9b820847e24b72102026
MD5 c3050380c8e85912b1f3fb768fabadb5
BLAKE2b-256 b006e0d657723fe5158de7126a43ab3cb2118d27f0693cd7ce7e563698ac36f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: package.yaml on diefans/buvar

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

File details

Details for the file buvar-0.44.17-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.17-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e296af559a200e25eb84a28aea44a98982847f2e68f079678b935a2bb5a12100
MD5 a29a1574441758e4bdd7554b4e1f09a5
BLAKE2b-256 8b5380bfa9cab0a85ceb5bac042dde219b6604ee2193b0c75adb95e65d799492

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.17-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: package.yaml on diefans/buvar

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page