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.11.tar.gz (33.0 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.11-cp314-cp314t-musllinux_1_2_x86_64.whl (626.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

buvar-0.44.11-cp314-cp314t-musllinux_1_2_aarch64.whl (623.3 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

buvar-0.44.11-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (647.9 kB view details)

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

buvar-0.44.11-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (631.3 kB view details)

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

buvar-0.44.11-cp314-cp314t-macosx_11_0_arm64.whl (114.1 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

buvar-0.44.11-cp314-cp314t-macosx_10_13_x86_64.whl (115.2 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

buvar-0.44.11-cp314-cp314-musllinux_1_2_x86_64.whl (540.0 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

buvar-0.44.11-cp314-cp314-musllinux_1_2_aarch64.whl (527.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

buvar-0.44.11-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (537.4 kB view details)

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

buvar-0.44.11-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (540.6 kB view details)

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

buvar-0.44.11-cp314-cp314-macosx_11_0_arm64.whl (106.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

buvar-0.44.11-cp314-cp314-macosx_10_13_x86_64.whl (109.4 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

buvar-0.44.11-cp313-cp313-musllinux_1_2_x86_64.whl (544.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

buvar-0.44.11-cp313-cp313-musllinux_1_2_aarch64.whl (527.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

buvar-0.44.11-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (538.2 kB view details)

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

buvar-0.44.11-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (546.4 kB view details)

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

buvar-0.44.11-cp313-cp313-macosx_11_0_arm64.whl (106.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

buvar-0.44.11-cp313-cp313-macosx_10_13_x86_64.whl (109.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

buvar-0.44.11-cp312-cp312-musllinux_1_2_x86_64.whl (565.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

buvar-0.44.11-cp312-cp312-musllinux_1_2_aarch64.whl (549.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

buvar-0.44.11-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (559.9 kB view details)

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

buvar-0.44.11-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (567.3 kB view details)

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

buvar-0.44.11-cp312-cp312-macosx_11_0_arm64.whl (108.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

buvar-0.44.11-cp312-cp312-macosx_10_13_x86_64.whl (111.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

buvar-0.44.11-cp311-cp311-musllinux_1_2_x86_64.whl (543.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

buvar-0.44.11-cp311-cp311-musllinux_1_2_aarch64.whl (537.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

buvar-0.44.11-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (542.9 kB view details)

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

buvar-0.44.11-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (541.5 kB view details)

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

buvar-0.44.11-cp311-cp311-macosx_11_0_arm64.whl (107.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

buvar-0.44.11-cp311-cp311-macosx_10_9_x86_64.whl (110.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: buvar-0.44.11.tar.gz
  • Upload date:
  • Size: 33.0 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.11.tar.gz
Algorithm Hash digest
SHA256 f7314ede18deb9165e8564d3c405b50615ee880cf5af25917afb19fbcbfdc18a
MD5 dbf0ef3b74afb069e732ba81e45dfc05
BLAKE2b-256 2269acb67a448bc854841f9ec9df6bd11d9fd063331f078994eadb1cd59a5bfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11.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.11-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6b9159ee744be4f08229c8c82391893d55906f23dbcfa240ce0b0eece4ba285d
MD5 17e299fcdb60256c17cb49028dd92a5f
BLAKE2b-256 2fc3513a70e81f427ef567c969e6c658d080ffc563202f1ae0262460c8d82916

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 73a5fd0977872a5b768ecfae49cb624b2ac626fc817ecb68e7f92e55878a8a3e
MD5 b8301a646dbe568ad96950559fa18a34
BLAKE2b-256 6c3cd8572cc59ee2d63e8295dc9cb38614e76b659105c73e2dbd4f5a16946d26

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f59341fa605e4f009c7dad527fbdc8fe5f1836b6651e9eb9e3001dcd5e635627
MD5 22ae8b4ad53112017cba64cc6e4e6a40
BLAKE2b-256 3adef3c2a12603d1274a367274b8e07416a291ec425fc4ef9ec1f3855137f83a

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-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.11-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 9ea14439a6ac85e60835e70b1e878c9ed141db4150f455b9918a2f21e2846b94
MD5 2d920e22e351ac210d653768004dfd14
BLAKE2b-256 3f52cf1e1dc2eef0486c8fb5bd1cf40331e16b6019d1a4821fb37b2075ba2886

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56becff4f23d2c05f2a7099f43e241ebd6b96db80363a3c2273147f41b7acfef
MD5 c376cf49766e17a4689987306f1d9c89
BLAKE2b-256 3a9ca56dc82fae677c1f4d0c142875468d8714ed870a1be64e8b36ad7cbe1b52

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e0e0e31a0e38983348bb9933eed71e6687e45f1c26ab00f7d90828ea15112ffc
MD5 aac16dbbb8054ec3d05fc6df5368cda1
BLAKE2b-256 f821ccb649a70f9365032c5ef04e4a943150c41cbcee2132411ba28d287182c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-cp314-cp314t-macosx_10_13_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.11-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 db0b5c7e8a428418810db58fc6ad49bb460eb12e10c98f1e5e1558e5c9b7fe5d
MD5 882ffa973a74c63cf04de8ea6de46039
BLAKE2b-256 b136f9294de9730341f3677ac336043919e39d7ac264e51f8ad4ae9c068a1b0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bbeeb668a3e079f0900b86001cd4d2266acc2b001746d223b1f4550157528d71
MD5 eee71c0d7fddcc9dbb04449e022d8ba4
BLAKE2b-256 b964dc99e27c15a0105512fa8032a7aa33a3deed22554fc8c4332077b9f6a9da

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 af0b00024b5410aa594abd6da815e7290e2426f2ef3cecbf064d833a6494567f
MD5 99594fb184730e6b50ed7363539455c5
BLAKE2b-256 e174c09d532d2b1834d9b4d99d989dc1a5bebe1baadebfddb902fda2e333cd38

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-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.11-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 03dae8517d9f5bcb4b255f6dc7bbe890229215d7701c53e9d99483ef141a3340
MD5 8106794e37c8ea927ff8784a0fb040b2
BLAKE2b-256 b6dfafccf0d27fa5b4b40b5ff06e5df3ad5efaf803efee2c2b49e70ea72e2c85

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d306ba01ac6bb1a2e1e4d0a8321a33b11c95f6ecba710885326b537d209dcfa
MD5 c8744681ab028059be09100b48fd69d8
BLAKE2b-256 73e51d80064ddabab61b1857c5ecf3df63b76fffb17e16166e7554303f42c326

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 21e6a7a49219fdf98fd58949668873fbc76b2f5d63b11658a893434834e2e526
MD5 d211f7882937a36cfc3e1483d434a9e6
BLAKE2b-256 d9944afdea4316e27622aa002471ac1fcb0e9199d0201754b8bade09b0b51aac

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-cp314-cp314-macosx_10_13_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.11-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5d556421852346568d3599dbb2a32ab29ce5962d5682feb79b0cf6910f41c94b
MD5 e06c911035aa17240ea8120dccc0bea3
BLAKE2b-256 d7d289082e37ebbba1114d7dfe4b8af02c1a3352a05bc247db2e4ecfed1e4d7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1ec055a7cb8055e01aed18ece2f88594addb60b5a856f4e5ce6f92bb2fe0b8cf
MD5 ab20fd34409dfb18a906223f0331cc31
BLAKE2b-256 d64ac47848c636c7e94524ae2a70c3ad09ea7b81f1662877a12f0da84f20b214

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 82ce75848142c3ee92a3b0df4488b841228d4e731abaed6be5d6d9d1fb2bf661
MD5 c005f3afc4d71cb1fdc912c490eef4ee
BLAKE2b-256 68b1a09b2352b136cf72a492304d2fa9dd19b79a36dd5009cf6fe86dee513501

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-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.11-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 28416a5d32b3c76cf0e46d00ff89258b909c537ea5bc027f73059776cbeaa167
MD5 865882bd517e49a753653598bcc7d23d
BLAKE2b-256 ddde23c39c09e585d14e5f33edfc76ac9f6d2a29f9fa4ac6afc63eb1f14ce886

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b87936e3097387b890859e238f923be58d7206a85466777ac3fc5fe11df0cb3
MD5 999dcc6062c384df4980d4863f3d4b12
BLAKE2b-256 b8c1f9bb78dc4a433dd7f34e106da4d201fb5b6005d327e26adb205f522a4d6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7f2c7e266cfffce30ee0995805773e660115a430e9778646b4194e97fab1824c
MD5 e19a92254f3622a1c551a6aa4a227625
BLAKE2b-256 177169e8841810253474595c82c33b170397a34fb44f9457c29121a4f7e2af3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-cp313-cp313-macosx_10_13_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.11-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8bbb38a33e998642920b4e9edd234c38c2c19a7bbfd08bbdd3bfe4f4111ac023
MD5 a158223915bf1e76ae893ccdcd04c63f
BLAKE2b-256 8a857a7e3ea31ea9157a700b71efee3cb66adb0c11b57cdbb30ff352f8ec059d

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ebf63b24b2daef001d91ee05d01692cd3def3a43df3d8aad933c206652dac351
MD5 79b41f75fbfb6e145970cedc7b51f4ad
BLAKE2b-256 a6b9a4a9593057fea2d50afc6029cad6339903ca7d08b7e72e6685a85b6ecdf4

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 23dd8e720a720d4767afe70b6552ac3711d1d6883e846876f631a488ea24f342
MD5 0367b72a663bf9e665b8747459207b88
BLAKE2b-256 82dbeac728083e063bab1ca4189ca0afa22c7ad4988b280deabd0de81ade573e

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-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.11-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1947887383b39d3f4e369082daeaa9dbe52509c33f000f168091b77b621144ee
MD5 f73044a53c00b012a12fe946e400d4f3
BLAKE2b-256 b44e6ec78a85523643b64f0e6c3f42d89993fdc8f125a05c0eee707a5fe7dabd

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abf5d7ecd9661346532fa06d29d5be3906ec8235b4bca7cb0757871087d712c0
MD5 7cbefb027f3c548a808310be2f94c541
BLAKE2b-256 b94193a71db07df32fa66d3c3611ddb6222f106a9a3eca0dfd33deea8b471d76

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e104b6cbed1256058d731a47691ce22278462e7c8c18c15f378d71a6b05d3865
MD5 e6ff730b4a383bdf4dae52951eb6fc77
BLAKE2b-256 53159c96671f41a6215e7e60015c681d99218f558950e825c96be76d16fe2f96

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-cp312-cp312-macosx_10_13_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.11-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f982cf9b39cf763cf2e4399229afd71cb021d8e7d1286295362c77e6395f77ba
MD5 ec6186f69837b339d95f1fe0354cae56
BLAKE2b-256 82b2940b481962899ad471a6cbc30557941e8d75e90f08e2c7c375cca9067a26

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 328555abf4df18decd99b50087cb99e7194e0671cba2cee30581e8b46874e36c
MD5 864a47576c4064efc5cde37c4e99349f
BLAKE2b-256 adfbb57fa4e7b279b40878cb9c3204d20fd68240283efd369f8454bea17576ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c050517057a3aae311c899012a6cfc7fdf9b529f170847e4059c649d6ae55b4f
MD5 0b21bcab77e9511a6438a88c5695c699
BLAKE2b-256 a1e9f75cbd90ad02963a87d88b720310540a1e60b87e33ecfc3d79100c8476b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-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.11-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e753c2b392635d067f0536f24c4b1029894fd58cdd2c99e77a65318e6d0726fb
MD5 d5ab46b9864ece4b00f30e33a72c7265
BLAKE2b-256 9211503cc02a63e7790d3df70537499f05eca664267895524e1fe3b09d412877

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-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.11-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a97a4c851a053e590fb2dabb9994fd312707b8284070fa8bbc2344f85110d6f3
MD5 810a99061703d0f8a8987e65e7024755
BLAKE2b-256 2989aee3f7e143fd9701d8cb12688407712bf44dc93d8d5150e8c2210bf2ad9f

See more details on using hashes here.

Provenance

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

File details

Details for the file buvar-0.44.11-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for buvar-0.44.11-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b740fca04a99d351f6da08834b7f76b7cec9f46b0eba06c7c08a45575ee253f2
MD5 fe9baf060faa00b436e22057e7262d61
BLAKE2b-256 d29f3cf277875afe08b45cad0892ba9b5a3c9c7e3e3f88e349b3bb3208cc6fc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for buvar-0.44.11-cp311-cp311-macosx_10_9_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.

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