Skip to main content

Python bindings for the Blazen workflow engine

Project description

Blazen

Event-driven AI workflow engine, powered by Rust.

PyPI Python License: AGPL-3.0

Blazen lets you build multi-step AI workflows as composable, event-driven graphs. Define steps with a decorator, wire them together with typed events, and run everything on a native Rust engine with async Python bindings.

Installation

# Recommended
uv add blazen

# Or with pip
pip install blazen

Requires Python 3.10+.

Quick Start

import asyncio
from blazen import Workflow, step, Event, StartEvent, StopEvent, Context

class GreetEvent(Event):
    name: str

@step
async def parse(ctx: Context, ev: Event):
    return GreetEvent(name=ev.name)

@step
async def greet(ctx: Context, ev: GreetEvent):
    return StopEvent(result={"greeting": f"Hello, {ev.name}!"})

async def main():
    wf = Workflow("hello", [parse, greet])
    handler = await wf.run(name="Blazen")
    result = await handler.result()
    print(result.result)  # {"greeting": "Hello, Blazen!"}

asyncio.run(main())

How it works

  • class GreetEvent(Event) -- Subclassing Event auto-sets event_type to the class name ("GreetEvent"). Annotations like name: str are for documentation only; at runtime all keyword arguments are stored as JSON.
  • @step reads type annotations -- ev: GreetEvent on a step function automatically sets accepts=["GreetEvent"]. The step will only receive events of that type.
  • @step with no type hint or ev: Event -- defaults to accepting StartEvent (the event emitted by wf.run()).
  • ev.name -- Direct attribute access on events. No need for ev.to_dict()["name"].
  • wf.run(name="Blazen") -- Keyword arguments become the StartEvent payload. Steps that accept StartEvent receive an event where ev.name == "Blazen".
  • result.result -- preserves is-identity for non-JSON Python objects. You can pass class instances, Pydantic models, and even live DB connections through StopEvent.result and get the same object back on the other side.

Multi-Step Workflows

Chain steps together using custom event subclasses. Each step declares which events it accepts via its type annotation.

import asyncio
from blazen import Workflow, step, Event, StopEvent, Context

class FetchedEvent(Event):
    text: str
    source: str

class AnalyzedEvent(Event):
    summary: str

@step
async def fetch(ctx: Context, ev: Event):
    # ev is a StartEvent with url=...
    text = f"Content from {ev.url}"
    return FetchedEvent(text=text, source=ev.url)

@step
async def analyze(ctx: Context, ev: FetchedEvent):
    summary = f"Analysis of: {ev.text}"
    return AnalyzedEvent(summary=summary)

@step
async def report(ctx: Context, ev: AnalyzedEvent):
    return StopEvent(result={"summary": ev.summary})

async def main():
    wf = Workflow("pipeline", [fetch, analyze, report])
    handler = await wf.run(url="https://example.com")
    result = await handler.result()
    print(result.result)  # {"summary": "Analysis of: Content from https://example.com"}

asyncio.run(main())

Event Streaming

Stream intermediate events from a running workflow in real time using ctx.write_event_to_stream().

import asyncio
from blazen import Workflow, step, Event, StopEvent, Context

class ProgressEvent(Event):
    step_num: int
    message: str

@step
async def work(ctx: Context, ev: Event):
    for i in range(3):
        ctx.write_event_to_stream(ProgressEvent(step_num=i, message=f"Processing {i}"))
    return StopEvent(result="done")

async def main():
    wf = Workflow("streamer", [work])
    handler = await wf.run()

    async for event in handler.stream_events():
        print(event.event_type, event.step_num, event.message)

    result = await handler.result()
    print(result.result)  # "done"

asyncio.run(main())

write_event_to_stream() publishes to an external broadcast stream. Consumers read it with async for event in handler.stream_events(). These events are not routed through the step graph -- they are for external observation only.

LLM Integration

Blazen includes a built-in multi-provider LLM client. All providers share the same CompletionModel / ChatMessage interface. Responses are returned as typed CompletionResponse objects.

ChatMessage, Role, and CompletionResponse

import os
from blazen import CompletionModel, ChatMessage, Role, CompletionResponse, ProviderOptions

model = CompletionModel.openrouter(options=ProviderOptions(api_key=os.environ["OPENROUTER_API_KEY"], model="openai/gpt-4o"))
response: CompletionResponse = await model.complete([
    ChatMessage.system("You are helpful."),
    ChatMessage.user("What is 2+2?"),
], temperature=0.7, max_tokens=256)

# Typed attribute access
print(response.content)        # "4"
print(response.model)          # model name used
print(response.finish_reason)  # "stop", "tool_calls", etc.
print(response.tool_calls)     # list[ToolCall] or None
print(response.usage)          # TokenUsage with .prompt_tokens, .completion_tokens, .total_tokens

# Dict-style access also works for backwards compatibility
print(response["content"])

Role Enum

from blazen import Role

Role.SYSTEM     # "system"
Role.USER       # "user"
Role.ASSISTANT  # "assistant"
Role.TOOL       # "tool"

# Use with ChatMessage constructor
msg = ChatMessage(role=Role.USER, content="Hello")

Multimodal Messages

Send images alongside text using multimodal factory methods:

from blazen import ChatMessage, ContentPart

# Image from URL
msg = ChatMessage.user_image_url("https://example.com/photo.jpg", "What's in this image?")

# Image from base64
msg = ChatMessage.user_image_base64(base64_data, "image/png", "Describe this.")

# Multiple content parts
msg = ChatMessage.user_parts([
    ContentPart.text(text="Compare these two images:"),
    ContentPart.image_url(url="https://example.com/a.jpg", media_type="image/jpeg"),
    ContentPart.image_url(url="https://example.com/b.jpg", media_type="image/jpeg"),
])

Media Sources

For APIs that take generic media inputs (vision, OCR, audio-paired pipelines), use ImageSource directly or its alias MediaSource. The alias is provided so callers can spell intent at the call site without changing the underlying type.

from blazen import ImageSource, MediaSource  # MediaSource is ImageSource

src1 = ImageSource.url("https://example.com/photo.jpg")
src2 = MediaSource.path("/tmp/scan.png")        # same class, ergonomic alias
src3 = MediaSource.base64(b64_bytes, "image/png")

Supported Providers

Provider Constructor Default Model
OpenAI CompletionModel.openai(options=ProviderOptions(api_key=key, model="gpt-4o")) gpt-4o
Anthropic CompletionModel.anthropic(options=ProviderOptions(api_key=key, model="claude-sonnet-4-20250514")) claude-sonnet-4-20250514
Google Gemini CompletionModel.gemini(options=ProviderOptions(api_key=key, model="gemini-2.0-flash")) gemini-2.0-flash
Azure OpenAI CompletionModel.azure(options=AzureOptions(api_key=key, resource_name="...", deployment_name="...")) (deployment)
OpenRouter CompletionModel.openrouter(options=ProviderOptions(api_key=key, model="...")) --
Groq CompletionModel.groq(options=ProviderOptions(api_key=key, model="...")) --
Together AI CompletionModel.together(options=ProviderOptions(api_key=key, model="...")) --
Mistral CompletionModel.mistral(options=ProviderOptions(api_key=key, model="...")) --
DeepSeek CompletionModel.deepseek(options=ProviderOptions(api_key=key, model="...")) --
Fireworks CompletionModel.fireworks(options=ProviderOptions(api_key=key, model="...")) --
Perplexity CompletionModel.perplexity(options=ProviderOptions(api_key=key, model="...")) --
xAI (Grok) CompletionModel.xai(options=ProviderOptions(api_key=key, model="...")) --
Cohere CompletionModel.cohere(options=ProviderOptions(api_key=key, model="...")) --
AWS Bedrock CompletionModel.bedrock(options=BedrockOptions(api_key=key, region="...", model="...")) --
fal.ai CompletionModel.fal(options=FalOptions(api_key=key, model="...")) --

Using LLMs in Workflows

import os
from blazen import Workflow, step, Event, StopEvent, Context, CompletionModel, ChatMessage, ProviderOptions

class AnswerEvent(Event):
    answer: str

@step
async def ask_llm(ctx: Context, ev: Event):
    model = CompletionModel.anthropic(options=ProviderOptions(api_key=os.environ["ANTHROPIC_API_KEY"], model="claude-sonnet-4-20250514"))
    response = await model.complete([
        ChatMessage.system("Answer concisely."),
        ChatMessage.user(ev.prompt),
    ], max_tokens=256)
    return AnswerEvent(answer=response.content)  # typed attribute access

@step
async def format_answer(ctx: Context, ev: AnswerEvent):
    return StopEvent(result={"answer": ev.answer})

async def main():
    wf = Workflow("llm-pipeline", [ask_llm, format_answer])
    handler = await wf.run(prompt="Explain gravity in one sentence.")
    result = await handler.result()
    print(result.result)

Local Inference

Blazen ships first-class bindings for several local-inference backends. They share a common shape: build an engine, call generate(...) for one-shot output, or stream(...) for an async iterator of typed chunks. Each backend has its own message and result types so you can keep them straight in mixed pipelines.

mistral.rs

from blazen import ChatMessageInput, ChatRole, InferenceResult, InferenceChunkStream

messages = [
    ChatMessageInput(role=ChatRole.SYSTEM, content="You are concise."),
    ChatMessageInput(role=ChatRole.USER, content="Explain entropy."),
]

result: InferenceResult = await engine.generate(messages, max_tokens=256)
print(result.text)

stream: InferenceChunkStream = await engine.stream(messages)
async for chunk in stream:
    if chunk.delta:
        print(chunk.delta, end="", flush=True)
    if chunk.reasoning_delta:
        ...  # optional reasoning trace
    if chunk.tool_calls:
        for call in chunk.tool_calls:  # list[InferenceToolCall]
            ...
    if chunk.finish_reason:
        break

Vision-capable models accept InferenceImage parts built from InferenceImageSource (URL, path, or base64). InferenceUsage is attached to both InferenceResult and the final chunk.

llama.cpp

Symmetric API with its own type family so the two backends never alias:

from blazen import (
    LlamaCppChatMessageInput,
    LlamaCppChatRole,
    LlamaCppInferenceResult,
    LlamaCppInferenceChunkStream,
)

messages = [
    LlamaCppChatMessageInput(role=LlamaCppChatRole.USER, content="Hi!"),
]

result: LlamaCppInferenceResult = await engine.generate(messages)
print(result.text, result.usage)  # usage is LlamaCppInferenceUsage

stream: LlamaCppInferenceChunkStream = await engine.stream(messages)
async for chunk in stream:  # LlamaCppInferenceChunk
    if chunk.delta:
        print(chunk.delta, end="", flush=True)

candle

Candle returns a CandleInferenceResult from its non-streaming path:

from blazen import CandleInferenceResult

result: CandleInferenceResult = await engine.generate(prompt="Once upon a time", max_tokens=128)
print(result.text)

Progress Reporting

Long downloads and model loads accept a progress callback. Subclass ProgressCallback and override on_progress. The default implementation is a no-op, so partial overrides are safe.

from blazen import ProgressCallback

class TqdmProgress(ProgressCallback):
    def __init__(self):
        super().__init__()
        self._bar = None

    def on_progress(self, downloaded: int, total: int | None) -> None:
        # total is None when the upstream doesn't report Content-Length
        if total is not None:
            pct = 100.0 * downloaded / total
            print(f"\r{pct:5.1f}%  {downloaded}/{total} bytes", end="", flush=True)
        else:
            print(f"\r{downloaded} bytes", end="", flush=True)

# Pass instances to APIs that accept callbacks (model-cache download paths, etc.)
await cache.download(model_id="...", progress=TqdmProgress())

Telemetry

Blazen exposes opt-in telemetry initializers. Each one is gated behind a Cargo feature on the underlying wheel (langfuse, otlp, prometheus); calling an initializer for a feature that wasn't compiled in raises an UnsupportedError.

Langfuse

from blazen import LangfuseConfig, init_langfuse

init_langfuse(LangfuseConfig(public_key="pk-...", secret_key="sk-...", host="https://cloud.langfuse.com"))

OpenTelemetry (OTLP)

from blazen import OtlpConfig, init_otlp

init_otlp(OtlpConfig(endpoint="http://localhost:4317", service_name="my-app"))

Prometheus

from blazen import init_prometheus

init_prometheus(9090)  # exposes /metrics on the given port

Branching / Fan-Out

Return a list of events from a step to dispatch multiple events simultaneously. Each event is routed independently to steps that accept its type.

from blazen import Workflow, step, Event, StopEvent, Context

class TaskEvent(Event):
    task_id: int
    payload: str

@step
async def fan_out(ctx: Context, ev: Event):
    return [
        TaskEvent(task_id=1, payload="first"),
        TaskEvent(task_id=2, payload="second"),
        TaskEvent(task_id=3, payload="third"),
    ]

@step
async def process_task(ctx: Context, ev: TaskEvent):
    # Called once per TaskEvent
    return StopEvent(result={"task_id": ev.task_id, "done": True})

Side-Effect Steps

A step can return None and use ctx.send_event() to route events through the internal step graph without returning them. This is useful for steps that perform side effects (logging, saving state) before forwarding.

from blazen import Workflow, step, Event, StopEvent, Context

class ProcessedEvent(Event):
    data: str

@step
async def log_and_forward(ctx: Context, ev: Event):
    ctx.set("received_at", "2025-01-01T00:00:00Z")
    ctx.send_event(ProcessedEvent(data=ev.payload))
    return None  # no direct return -- event sent via ctx

@step
async def finish(ctx: Context, ev: ProcessedEvent):
    received = ctx.get("received_at")
    return StopEvent(result={"data": ev.data, "received_at": received})

ctx.send_event() routes the event through the internal step registry (to steps whose accepts matches the event type). This is different from ctx.write_event_to_stream() which publishes to the external broadcast stream.

Pause and Resume

Snapshot a running workflow and resume it later -- useful for long-running processes, human-in-the-loop patterns, or persisting state across restarts.

# Pause: signal pause, then capture workflow state as JSON
handler = await wf.run(prompt="Hello")
handler.pause()
snapshot_json = await handler.snapshot()
# Save snapshot_json to disk, database, etc.

# Resume: restore from snapshot with the same steps
handler = await Workflow.resume(snapshot_json, [step1, step2])
await handler.resume_in_place()
result = await handler.result()

Note on ctx.session and pause/resume. Values in ctx.session are live references and are deliberately excluded from snapshots. If you store live objects there and then call handler.snapshot(), the workflow's session_pause_policy decides what happens: the default (pickle_or_error) attempts to pickle each entry into the snapshot and raises a clear error if any entry can't be serialised. For workflows that explicitly want ephemeral runs, use ctx.state for anything that must survive pause/resume, and ctx.session for everything else.

Errors

All Blazen-raised exceptions inherit from BlazenError, so a single except BlazenError catches everything the SDK throws while leaving unrelated Exceptions to propagate. Catch narrower bases when you want to react differently per category.

Base classes

Class Raised when
BlazenError Root of the hierarchy.
AuthError Missing/invalid credentials.
RateLimitError Provider rate-limited the request. Inspect retry_after_ms.
TimeoutError Request or workflow exceeded its deadline.
ValidationError Bad input shape (events, options, snapshots).
ContentPolicyError Provider refused the prompt or output for policy reasons.
ProviderError Generic upstream/provider failure. Base for backend-specific errors.
UnsupportedError Feature not compiled into this wheel (e.g. telemetry without the feature).
ComputeError Local-inference compute failure (CUDA OOM, kernel error, etc.).
MediaError Decode/encode failure for image/audio inputs.

Per-backend ProviderError subclasses

These are feature-gated at runtime — they exist on blazen but are only raised when the corresponding backend is bundled in the wheel.

Class Backend
LlamaCppError llama.cpp
CandleLlmError candle (LLM)
CandleEmbedError candle (embeddings)
MistralRsError mistral.rs
WhisperError whisper.cpp
PiperError piper
DiffusionError diffusion (image generation)
FastEmbedError fastembed
TractError tract

Structured attributes

ProviderError (and every per-backend subclass) carries structured fields you can read in except blocks:

  • provider — short provider name ("openai", "llama_cpp", ...)
  • status — HTTP status code if applicable, else None
  • endpoint — request URL/route if applicable
  • request_id — provider-supplied request id if available
  • detail — human-readable detail string
  • raw_body — raw response body as bytes if captured
  • retry_after_ms — milliseconds the provider asked you to wait (mirrored on RateLimitError)
from blazen import (
    BlazenError, AuthError, RateLimitError, ProviderError,
    LlamaCppError, MistralRsError, ContentPolicyError,
)

try:
    response = await model.complete(messages)
except AuthError as e:
    print("bad key:", e)
except RateLimitError as e:
    print(f"slow down; retry in {e.retry_after_ms} ms")
except ContentPolicyError:
    print("provider refused the prompt")
except (LlamaCppError, MistralRsError) as e:
    # Local-inference specific handling
    print(f"local backend {e.provider} failed: {e.detail}")
except ProviderError as e:
    print(f"upstream {e.provider} returned {e.status}: {e.detail}")
except BlazenError:
    raise

Context API

Steps share state through the Context object. Every method on Context is synchronous -- no await needed.

Values are stored using a 4-tier dispatch:

  1. bytes / bytearray -- raw binary (survives snapshots)
  2. JSON-serializable (dict, list, str, int, float, bool, None) -- JSON (survives snapshots)
  3. Picklable objects (Pydantic models, dataclasses, etc.) -- pickled automatically (survives snapshots)
  4. Unpicklable objects (DB connections, file handles, sockets) -- live in-process reference (same-process only, excluded from snapshots)

ctx.get returns the original Python type for all four tiers.

Method Description
ctx.set(key, value) Store a JSON-serializable value.
ctx.get(key) Retrieve a value (returns None if missing).
ctx.set_bytes(key, data) Store raw binary data (bytes). No serialization requirement.
ctx.get_bytes(key) Retrieve raw binary data (returns None if missing).
ctx.send_event(event) Route an event through the internal step graph.
ctx.write_event_to_stream(event) Publish an event to the external broadcast stream.
ctx.run_id() Get the UUID string for the current workflow run.
@step
async def example(ctx: Context, ev: Event):
    ctx.set("counter", 42)              # synchronous
    val = ctx.get("counter")            # synchronous, returns 42
    run = ctx.run_id()                  # synchronous, returns UUID string
    ctx.send_event(SomeEvent(x=1))      # synchronous, routes internally
    ctx.write_event_to_stream(SomeEvent(x=1))  # synchronous, broadcasts externally
    return None

State vs Session namespaces

Alongside the smart-routing ctx.set / ctx.get shortcuts, Context exposes two explicit namespaces so you can make intent clear at the call site:

  • ctx.state -- persistable values (survives pause() / resume() and checkpoint stores). Routes through the same 4-tier dispatch as ctx.set.
  • ctx.session -- live in-process references. Identity is preserved within a single workflow run -- ctx.session["conn"] returns the same Python object across steps. Deliberately excluded from snapshots.
import sqlite3
from blazen import step, Context, StartEvent, StopEvent

@step
async def setup(ctx: Context, ev: StartEvent) -> StopEvent:
    # Persistable JSON state
    ctx.state["input_path"] = "data.csv"
    ctx.state["row_count"] = 0

    # Live in-process references -- identity preserved
    conn = sqlite3.connect(":memory:")
    ctx.session["db"] = conn

    # Same object on every access
    assert ctx.session["db"] is conn

    return StopEvent(result={"ok": True})

Both namespaces support the dict protocol (__setitem__, __getitem__, __contains__, keys).

Binary Storage

set_bytes / get_bytes let you store raw binary data with no serialization requirement. Any type can be stored by converting to bytes yourself (e.g., pickle, msgpack, protobuf). Binary data persists through pause/resume/checkpoint.

import pickle

@step
async def store_model(ctx: Context, ev: Event):
    # Store arbitrary data as bytes
    model_data = pickle.dumps({"weights": [1.0, 2.0, 3.0]})
    ctx.set_bytes("model", model_data)
    return NextEvent()

@step
async def load_model(ctx: Context, ev: NextEvent):
    raw = ctx.get_bytes("model")
    model = pickle.loads(raw)
    return StopEvent(result=model)

API Reference

Class / Function Description
Event(event_type, **kwargs) Base event class. Subclass it: class MyEvent(Event) auto-sets event_type to class name. Direct attribute access: ev.name. Also has ev.to_dict() and ev.event_type.
StartEvent(**kwargs) Emitted by wf.run(**kwargs). Steps with ev: Event or no annotation accept this.
StopEvent(**kwargs) Terminates the workflow. Access the result via result.result.
Context Shared typed storage, event emission, and stream publishing. Use ctx.state for persistable values, ctx.session for live in-process references. Smart-routing ctx.set / ctx.get shortcuts still work. Methods: set, get, set_bytes, get_bytes, send_event, write_event_to_stream, run_id. All synchronous.
@step Decorator for workflow steps. Infers accepts from the ev parameter type annotation. Supports async def and plain def. May also be called as @step(accepts=[...], emits=[...], max_concurrency=N).
Workflow(name, steps, timeout=None) Validated workflow graph. timeout is in seconds (default: 300).
await wf.run(**kwargs) Execute the workflow. Returns a WorkflowHandler. Kwargs become the StartEvent payload.
WorkflowHandler Handle to a running workflow: await handler.result(), async for ev in handler.stream_events(), handler.pause(), await handler.snapshot(), await handler.resume_in_place(), await handler.respond_to_input(request_id, response), await handler.abort().
await Workflow.resume(snapshot_json, steps, timeout=None) Resume a paused workflow from a JSON snapshot. Returns a WorkflowHandler.
CompletionModel.<provider>(options=ProviderOptions(...)) LLM provider. Pass a typed options struct (ProviderOptions, AzureOptions, BedrockOptions, or FalOptions) via options=. Providers: openai, anthropic, gemini, azure, openrouter, groq, together, mistral, deepseek, fireworks, perplexity, xai, cohere, bedrock, fal.
await model.complete(messages, ...) Chat completion. Returns a typed CompletionResponse.
ChatMessage(role=, content=, parts=) Chat message. Constructor with keyword args (role defaults to "user"). Static factories: .system(), .user(), .assistant(), .tool(), .user_image_url(), .user_image_base64(), .user_parts().
Role Role enum: Role.SYSTEM, Role.USER, Role.ASSISTANT, Role.TOOL.
CompletionResponse Typed response: .content, .model, .finish_reason, .tool_calls, .usage. Also supports dict-style response["content"].
ToolCall Tool call object: .id, .name, .arguments.
TokenUsage Token usage: .prompt_tokens, .completion_tokens, .total_tokens.
ContentPart Multimodal content part: .text(text=...), .image_url(url=..., media_type=...), .image_base64(data=..., media_type=...).

Documentation

Full docs: blazen.dev

Source: github.com/ZachHandley/Blazen

License

AGPL-3.0 -- see LICENSE for details.

Author: Zach Handley

Project details


Download files

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

Source Distribution

blazen-0.1.155.tar.gz (894.2 kB view details)

Uploaded Source

Built Distributions

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

blazen-0.1.155-cp314-cp314-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.14Windows x86-64

blazen-0.1.155-cp314-cp314-musllinux_1_2_x86_64.whl (24.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

blazen-0.1.155-cp314-cp314-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

blazen-0.1.155-cp314-cp314-manylinux_2_34_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

blazen-0.1.155-cp314-cp314-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

blazen-0.1.155-cp314-cp314-macosx_14_0_arm64.whl (17.9 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

blazen-0.1.155-cp313-cp313-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.13Windows x86-64

blazen-0.1.155-cp313-cp313-musllinux_1_2_x86_64.whl (24.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

blazen-0.1.155-cp313-cp313-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

blazen-0.1.155-cp313-cp313-manylinux_2_34_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

blazen-0.1.155-cp313-cp313-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

blazen-0.1.155-cp313-cp313-macosx_14_0_arm64.whl (17.9 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

blazen-0.1.155-cp312-cp312-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.12Windows x86-64

blazen-0.1.155-cp312-cp312-musllinux_1_2_x86_64.whl (24.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

blazen-0.1.155-cp312-cp312-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

blazen-0.1.155-cp312-cp312-manylinux_2_34_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

blazen-0.1.155-cp312-cp312-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

blazen-0.1.155-cp312-cp312-macosx_14_0_arm64.whl (17.9 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blazen-0.1.155-cp311-cp311-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.11Windows x86-64

blazen-0.1.155-cp311-cp311-musllinux_1_2_x86_64.whl (24.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

blazen-0.1.155-cp311-cp311-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

blazen-0.1.155-cp311-cp311-manylinux_2_34_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

blazen-0.1.155-cp311-cp311-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

blazen-0.1.155-cp311-cp311-macosx_14_0_arm64.whl (17.9 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blazen-0.1.155-cp310-cp310-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.10Windows x86-64

blazen-0.1.155-cp310-cp310-musllinux_1_2_x86_64.whl (24.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

blazen-0.1.155-cp310-cp310-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

blazen-0.1.155-cp310-cp310-manylinux_2_34_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

blazen-0.1.155-cp310-cp310-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

blazen-0.1.155-cp310-cp310-macosx_14_0_arm64.whl (17.9 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file blazen-0.1.155.tar.gz.

File metadata

  • Download URL: blazen-0.1.155.tar.gz
  • Upload date:
  • Size: 894.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155.tar.gz
Algorithm Hash digest
SHA256 3f567a88305cf35b7fc2a41c03cf1e6700c7b7bc7b33d183200ac3e20b8a26c3
MD5 818437cb6cd823d7d90bfff2f3a32058
BLAKE2b-256 7885849586876bbbee3975a91e59a839941912ccfa8873d9cab39f374781bffa

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 18.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1d252524ea27c8f7680cd75ba63c8f8ea907abdb12dfb8f26d28c8fd849ecb22
MD5 5897d55a49ea2d9184302cf8b6304098
BLAKE2b-256 572ccd24f73c720bb81224dd4dccf42b8bb98731f038b76cc9226ce16d6ee256

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp314-cp314-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 24.1 MB
  • Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a993f5166226fb2e8705757fdb797320024cf8e5cb8f14e074d2a8a185974b76
MD5 dfca8f27ba4d9ae0c0b2cda165a33183
BLAKE2b-256 7b14a039ba23563cc60c589e142b4f025b727c8ecfacbd835c9da6957cb08eff

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp314-cp314-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 16.7 MB
  • Tags: CPython 3.14, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 813ec26d97e39fa46861699c0b1a5177220bf8a4a5d804e79e8b10af84504953
MD5 c6bbe99ee14e95535e3bba7f6dc8e38b
BLAKE2b-256 6ab588e207c4fb6817dc91ae442f587777ad703b9a245a1585693d0e76e41442

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp314-cp314-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 22.7 MB
  • Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 84d8a2b6cbbcdc61498d929fbf938d23aed29a9a246906ddd291f8f3ef38d9b3
MD5 6ef871b5fca8e910a8cb3899ea43f24f
BLAKE2b-256 27b1441ed138bdfeb2b1e485f7c537501421d351898a67282bab4768ff83a54e

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp314-cp314-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 23.0 MB
  • Tags: CPython 3.14, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 8106ef9fbca37e4940d1d11691e19b3173bfc06d99468452f8f7b42af0d0c254
MD5 08b8cd495a9fc8449639e47dfc4d9f17
BLAKE2b-256 049477736bbb41fd0561c3990a2c3fb9abed0a1f815e3b541c49ef79f0c988e8

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp314-cp314-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.14, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6bae33df9db0fe6101a3e815da897c2443c05c75a414b1eca5c039e3e1c86c88
MD5 a358beb561dd687962ecb94866f52f25
BLAKE2b-256 fcb274649cb198b92dc958b3e7e63aafbd5702388f8cab698dbf7bc3d001420a

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 18.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4c3367a692e1bc74a875750a2f4831029af505fd6192f18d0d1f106eaa9a801d
MD5 64abf0f1c8b1c30cce97f2ff90bb017c
BLAKE2b-256 a993ebbe6e5606a24f190933e9efec3aa2651331eb1ad3e149d6392c976ef665

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp313-cp313-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 24.1 MB
  • Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 71dcc9d2d840e3749b95c456954e6e3fa173e554263d990cf7455e04bcc12624
MD5 e1079facfc6b7a7c0236509f749722dc
BLAKE2b-256 cbbc4b84e9ef715a978f6f086b774f50389cfafc910933a52d6faf9b7acf6c48

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp313-cp313-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 16.7 MB
  • Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1a562e332e48c84a416c693eca6d0cab04a383bb522f392186d237f59b4b8746
MD5 107f51532f94701b75ab8e0ba046300d
BLAKE2b-256 aee33b7255c2574455346cb6cce3013c08d6420101ca4be8fed094ef572ab8c9

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp313-cp313-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 22.7 MB
  • Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 bafd2c80cee83bbb68e77544fe41b85aff9b17b38e4b5087a18c8c42574bc6a7
MD5 a26269c6fc18ff7788eb14f6d04f8765
BLAKE2b-256 6b5fba765041e37162ccf506f8b92716de550d23c5d5473883469de6c54ad826

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp313-cp313-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 23.0 MB
  • Tags: CPython 3.13, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 10f520475ec6687cc21c4a2e4167123893ef5eaf35ee4f213a2a7c2e5b5c6206
MD5 8367103c76ff9b87ba252fd5c721a754
BLAKE2b-256 196f0df41030b555bf615d38e1acd93ac8850ead938defc18c202a6af05ef3d2

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp313-cp313-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.13, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 805bf9d00dc8568b0fcd1b120349a0e6e8bb7974b4ae8f26de1b3f302d51b52d
MD5 63ba9d461b38da2313eaaeab8345b990
BLAKE2b-256 27f861f57aee321935d04ac371066c809c1022d771a5fd364f748440ee755b8c

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 18.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eb252342d2b1420fb04f35d1bfe6cbcbef6bbbe561898330fe9f6ba84eda42ff
MD5 ec9ebd33cc1f55d1fa25cbdba956c6d7
BLAKE2b-256 0cf0ae99224b4511b30576e9bfcddfd3c5fc851debf6386b37322414c3344815

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp312-cp312-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 24.1 MB
  • Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 464ebccb6f796ad47f2ac5d0c158c9afd5f3a164e3ede7ebe41f644ab4caeb7d
MD5 cc57c81410c42b7371f4db9ea39cc99a
BLAKE2b-256 ab1d00c9c1761c6f57af04262ae0834b5e7f8bf58b3c44ae927bfc254a6f279d

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp312-cp312-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 16.7 MB
  • Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 05b621443e34be36bacc77fc166fedbae792f093a2f17f28f42a45de97ec9fa8
MD5 66298bcddd248d8cdf9fa2a1ed346a17
BLAKE2b-256 031dfe48b87010a27154b0c8936eca854655b1717160e5e969894757a053f44a

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp312-cp312-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 22.7 MB
  • Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c2f3293dd711a8ba4d52ccddeb05c25482fc97a6b16cabacc1f50b0c4e75f9b4
MD5 a15d6a7293b5c413d28eb829a1dea603
BLAKE2b-256 f06322aa41c1952371d981055a21d4a0d211c599c25eba0808da5a8d7c31d88c

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp312-cp312-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 23.0 MB
  • Tags: CPython 3.12, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1cc5fe1a447c9b348f6918db8bee73aecadf020f92d23131c549300f3694e0f4
MD5 a1abec248fee3a554a3b30c7734019d5
BLAKE2b-256 0d97dad2dfeea71a1e415e8d9c429cdfb45feb3cb765e42836a4ac3c9b90ac5c

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp312-cp312-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.12, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 494799a9b815a314aeb496b42a4b4b2f99699632d2be293f19b6426f229ec9e8
MD5 5e111c7c220374531c1a9b1be019c09d
BLAKE2b-256 5f8de6de1914b1ab85e09ce0403b77b3bc6f9f3598b733f1258916d6afa93764

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 18.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3ca8eb5c52c8cd7e84d8224e39395fcd09a3fad032e50a240a50b6aa929b3142
MD5 2ae8033d395b4128685be1f8cdf3e0ee
BLAKE2b-256 e07002f656d39f13f2e7405f7689f9183ca2be4dca9ddf0cce795e31afec460f

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp311-cp311-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 24.1 MB
  • Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 16377e62b320f5a500918d8c6d73840f516976cf2b7a9064310a4695c7655247
MD5 8cda936d56a40383fa75e8c5eb998a12
BLAKE2b-256 bbb8fcaf6122f552b320337005cf852a52fd096d0ea93886466eff8a99c49f40

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp311-cp311-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 16.7 MB
  • Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2c2c2c1323fe052df5147d8bc7b210d388e33e47fecc1b35a8109a88f898b680
MD5 a7e8dd336a2d0f5469a11a1d9d2a4500
BLAKE2b-256 35d614372a1d63d3aaa1986428e4e9d51f9525ccf655a629ce3fd0663f759abd

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp311-cp311-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 22.7 MB
  • Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 372de7fb7c9cf9bd516fe9e9b7d3a29a38eeb213ae152cf9ad882e5ad972caa3
MD5 043a097b03ea941380aeeee6f4732090
BLAKE2b-256 32fda07de9ad992c1a32df88dc377562d78d4a3b23945cf9523bcb133d927bc4

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp311-cp311-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 23.0 MB
  • Tags: CPython 3.11, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f5a73364bbac54fa7b71fb1a8bf34147270d8ae77b061c9acf90bcf7930b9b10
MD5 8bb08a47d64a0bc7c24342cd7d07e625
BLAKE2b-256 0034e4546d65044f035ccceb9ad4a3e7f2fa86b648fc43e7a9ed7cab44858932

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp311-cp311-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.11, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 47683b9e242c2a9ce82c8aaa92a1fd0fac1bbce75e76225dc63f2a59c74d397e
MD5 2c0b1df71cda90fa5989e49e69c3955a
BLAKE2b-256 ccc39349ea23e579c7d16ec483d4598108ba17292a51da25013b1b040741ccf4

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 18.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2f4e46c9f2296f76a868b6502bae8db66274827d78001218ac4f49a9a09b4a9d
MD5 9b0d01405fb94759e607d2306a9e70d9
BLAKE2b-256 593c1113cc6e9b1f83a8bad42e7f9635cd104fea4239c8953d86ef22eaf55f5e

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp310-cp310-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 24.1 MB
  • Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b5f13b92ce87e890e960901894fa1cd3bd1a7e7e4249a73296cdf1a0690a719e
MD5 042ac85150ec5bd97896f731ca36a6b1
BLAKE2b-256 bbe064325970fadf7d0104efd4a3c84f3891d727e60499a23c7f73dff6d14e49

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp310-cp310-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 16.7 MB
  • Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a8f0dae75b06c78e40e1abb2ef296da9c74394b705dcd1f1ecd02cc89ba3fc23
MD5 137a1172ff3dbbf8f7ee50e3888c1007
BLAKE2b-256 78a6a65dfcadc5accde572fa5a410dac0414deb36aef59202b485d735646ff31

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp310-cp310-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 22.7 MB
  • Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5c8ce4d90955b0ec4a2270b3b5295bc78198a42891af9212c764da7c764394f5
MD5 6cfd8ef791685545e72e5aa8563e0b82
BLAKE2b-256 acf6f97fdb5a62200933dc8aef24494940b81f144eb3da9fb4722a662a801610

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp310-cp310-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 23.0 MB
  • Tags: CPython 3.10, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f4ca74085df309f8a68c4c90ad48b0a4d88821b78271500890022592e0dab464
MD5 3bbb14a36ce4e6a0e0df7dc34d07cd66
BLAKE2b-256 f384176f4b8f2e5c790fa298ec7a12a8bf098b535b89cfed1d524ab996d5bfdc

See more details on using hashes here.

File details

Details for the file blazen-0.1.155-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

  • Download URL: blazen-0.1.155-cp310-cp310-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 17.9 MB
  • Tags: CPython 3.10, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blazen-0.1.155-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5520979c74d779fdfafe79c16b24497014d1280bbcd71403e31c983bea6ef951
MD5 ef257df083f9da2049a16a232a639f52
BLAKE2b-256 0a3276749679f6ae6d022ae5b9346a3a4081311f09fd6bed7fea0a2015cd6329

See more details on using hashes here.

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