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.158.tar.gz (999.1 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.158-cp314-cp314-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.14Windows x86-64

blazen-0.1.158-cp314-cp314-musllinux_1_2_x86_64.whl (28.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

blazen-0.1.158-cp314-cp314-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

blazen-0.1.158-cp314-cp314-manylinux_2_34_x86_64.whl (32.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

blazen-0.1.158-cp314-cp314-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

blazen-0.1.158-cp314-cp314-macosx_14_0_arm64.whl (26.3 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

blazen-0.1.158-cp313-cp313-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.13Windows x86-64

blazen-0.1.158-cp313-cp313-musllinux_1_2_x86_64.whl (28.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

blazen-0.1.158-cp313-cp313-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

blazen-0.1.158-cp313-cp313-manylinux_2_34_x86_64.whl (32.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

blazen-0.1.158-cp313-cp313-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

blazen-0.1.158-cp313-cp313-macosx_14_0_arm64.whl (26.3 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

blazen-0.1.158-cp312-cp312-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.12Windows x86-64

blazen-0.1.158-cp312-cp312-musllinux_1_2_x86_64.whl (28.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

blazen-0.1.158-cp312-cp312-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

blazen-0.1.158-cp312-cp312-manylinux_2_34_x86_64.whl (32.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

blazen-0.1.158-cp312-cp312-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

blazen-0.1.158-cp312-cp312-macosx_14_0_arm64.whl (26.3 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blazen-0.1.158-cp311-cp311-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.11Windows x86-64

blazen-0.1.158-cp311-cp311-musllinux_1_2_x86_64.whl (28.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

blazen-0.1.158-cp311-cp311-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

blazen-0.1.158-cp311-cp311-manylinux_2_34_x86_64.whl (32.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

blazen-0.1.158-cp311-cp311-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

blazen-0.1.158-cp311-cp311-macosx_14_0_arm64.whl (26.3 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blazen-0.1.158-cp310-cp310-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.10Windows x86-64

blazen-0.1.158-cp310-cp310-musllinux_1_2_x86_64.whl (28.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

blazen-0.1.158-cp310-cp310-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

blazen-0.1.158-cp310-cp310-manylinux_2_34_x86_64.whl (32.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

blazen-0.1.158-cp310-cp310-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

blazen-0.1.158-cp310-cp310-macosx_14_0_arm64.whl (26.3 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: blazen-0.1.158.tar.gz
  • Upload date:
  • Size: 999.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158.tar.gz
Algorithm Hash digest
SHA256 dc52abb782b1f97f9bec0453bde2d09993d94f4a42e43f296b8bb94680f921f8
MD5 b709a820c47fa239c49613a6a506059e
BLAKE2b-256 45c14babcbf74383013f2f5118725d75eb0ac8a46e157ebf904e0a378e0a6b4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 90dcf771e10546a3c1f756bc2635b6b19c52d583248a22f156560cb3bbdacb8b
MD5 c80c27ebb761f3589bcdeb28a50c15c5
BLAKE2b-256 369cae23a7abc799e9ebdabeee63ebc40b76603c6aeb42842aeca759414cb906

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp314-cp314-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 28.6 MB
  • Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dfc648a65e06a2b572418fc7a9f4339d349f85eaa22137ce28fe62d342250e14
MD5 c386010ad8684d4c991c230c96b69d22
BLAKE2b-256 b7706dc8fe918cb72a478f283d2729082c995addbe7cf5870e3cd8a3d02fd450

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp314-cp314-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 21.1 MB
  • Tags: CPython 3.14, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1cf978af7efc67f8a0b30fd5fa6216b30ceecbb85a10f431b8237e881ca74ad7
MD5 49d656a244b8539a798f9aeb09905ccc
BLAKE2b-256 fd4315ea847076b69d69ddc4da79d39345d7c2a51a05c54d1fb674ae629816ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp314-cp314-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 32.4 MB
  • Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 deab29a0d8622148b25528ac3dafca8fd9e793d38dfd98c37c62905598e09e42
MD5 0a5e8b8897b7cba137e835df2d3a94e2
BLAKE2b-256 6ba81592e31783c59cc5d5a5bc03871eb198b675f57c832f2a95f4773fff4d29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp314-cp314-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 31.7 MB
  • Tags: CPython 3.14, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 d4458476a4ddeecf041f8f2e8d3204f73979f41f8905d6449999de677cbc21fc
MD5 52e82373416971041da2be540132ae26
BLAKE2b-256 ce85c2fbe280caf155c56b40023e284e3ac1bb199840b39c29ed9ec72ff36a9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp314-cp314-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 26.3 MB
  • Tags: CPython 3.14, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c606d06401cacd46d19655f95db983bfd218327b0c92a35193b3bd3957b2f547
MD5 e51b34c656edb11ae1bd56d4f953cd60
BLAKE2b-256 4d70cb4b7d9a9da87bbb45530e04e11002985480a5fc320381af2a81e7ece5a0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bb561efb18228f9cff7d0397d0ab7a48e78c1ff85a6cf74a273d62a9dd16cf26
MD5 c3dae62a6444950c571a89f52057edc1
BLAKE2b-256 713c6c750b357c109c59fde0861274ae7e0661c8549ee142a9a66245765064d6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp313-cp313-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 28.6 MB
  • Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2939a89083a37e53c97e056b66c93d2fc15ab7387bdcfc8f4810472465ddfdf7
MD5 a76dfeebf9bb6134cefd3320429d8fb1
BLAKE2b-256 7bf47698711eaf7b49f41fc0146e881755f360330bfba6aaf1a489b33e208904

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp313-cp313-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 21.1 MB
  • Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ff52a146f2ec947795dee49953aa384bfefceb97d90fc075e2dc01a2b421776b
MD5 9d457b5c20e636874a96309601b2774f
BLAKE2b-256 8d06033b280f1920341cdcd8cb9fbfc636e6fc5bfd3a34efb3f10a8f3f0de527

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp313-cp313-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 32.4 MB
  • Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 66070a3c459cd54d7a1ffe126b30c53c8eca7f2a1f450095e25885fef7a50ead
MD5 1004893f43ccb8c29aea65bc3bfeadc1
BLAKE2b-256 d952505d3357327f6f6f8d2c4b98e14a62eb31ecbe624c31dce520142534a8c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp313-cp313-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 31.7 MB
  • Tags: CPython 3.13, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 e5cb7dde2d868357f713caac16ae015fc7f6b29e46461a11d7e092b6c88a69ae
MD5 819303cd4bdf8f23395b9b786b4a759c
BLAKE2b-256 236e5153206152d658f0f8ac9d0263e1e27b879b180743f2f4d0148b44e52ebb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp313-cp313-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 26.3 MB
  • Tags: CPython 3.13, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 17904081fb3501b385fadebb7ddb8e9cc2e71d788dafec8e521f9964d22e5a8d
MD5 d515b962168d187366ec622f72fe6e35
BLAKE2b-256 1e4d54d9b12c414c1fb1688f59ea373c751d609ad5f0407fa923e04a0d66e9c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 273f66b4a9e5a1c8a3b24bfae8eabb620fe5a956da7e4cc64cd251c83da262d3
MD5 2c35cf5c4748ad4c2ba47ff6515f949f
BLAKE2b-256 efdfe57746c2194b6f58044d5cb1dfd836e09f961b7a32775347516650ad8630

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp312-cp312-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 28.6 MB
  • Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4f3f02d92272593b4be230aa61be412cd07d49c05af31dca281e39c4216d563
MD5 b8bffe5a309a6610d47af70b71d8764c
BLAKE2b-256 b6704134b096ecb91958b6be8fa7599a12951f4da8d002042e289796e9d78ed0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp312-cp312-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 21.1 MB
  • Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6e2cecaa21f27c358349ed54e9f20563f97fdb3ba9cf7a056b84066c7d720204
MD5 b013497bc41843d39aa19a60b4a6d525
BLAKE2b-256 70d709c26365a53ccb281422842020f8df4b2e4543a08d57bf12ed56efe864ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp312-cp312-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 32.4 MB
  • Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2275556e6396b3b0c3523206b5740d007bdfaf8bc1e439b5b6444d8ad71829b5
MD5 1f764f1a87737bafbcd62b229ebfbad6
BLAKE2b-256 2167cb1bcf8f2f38eaac9ae018f942a45dbff4ce61fadb86faaa57da226f1492

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp312-cp312-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 31.7 MB
  • Tags: CPython 3.12, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9e110dfbdd0f9b4c44cba20c3a5d71f889f209468212e9ecf49d1f95a64a2a14
MD5 53a23d5a40bb2dba1228a77c80c748f2
BLAKE2b-256 657f54b5517192c36b9c3fdd53445fd6e743ea3f0e70409953163864a9aaccc4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp312-cp312-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 26.3 MB
  • Tags: CPython 3.12, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 36615a8e5dd50a8b0733b574c2847466af41c365eadee9f11af7b9480c1e9f66
MD5 55d7e2a1fc2adc72f094b8ba8cafd93c
BLAKE2b-256 66549b86eb9aabe047560319bb1f6ff988ed38b83da8c5279d6b33d904b79a6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8b21d719b27938bea492aa78132d7595f4ac99313214ae180248353d4dfe1baf
MD5 99bf165027bd174d1972a43e394c4f91
BLAKE2b-256 f13520b013986e9856ea6c0a2a0aad90fed4b1b8b7f57d00ecd2b87acf7d7043

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp311-cp311-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 28.6 MB
  • Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fff8250bd535cf25bd65fdb8673dbe08191ecb029654f7e3a65570db003fb24a
MD5 1b104c8cccc396cf8095fe799db7bfbf
BLAKE2b-256 7d44ddf9d11fa5dd3321d8871646c92c2642e4b6439e94e470839b3f1a076ab0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp311-cp311-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 21.1 MB
  • Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e3d37d299d03747f6b7ae2e6b6ca785be8196ffc7d71deed645f91e632fe65a5
MD5 2eb412ee225e33f5e60892476e38593a
BLAKE2b-256 7d9fa2ab2ee25e47edefbb59bd629e7867713e30f0b5781205363c552afe135b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp311-cp311-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 32.4 MB
  • Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ef3e1d0563d75df9d928480a5f77f3e79261542edb73c0dff26ab21a72e53865
MD5 927a61fdf4ba2cfb33ec2ff65f2aec93
BLAKE2b-256 ccf4d08d25a70436c7ca2b0144557f0991cd62283ac3527978f7c883d83a6cd9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp311-cp311-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 31.7 MB
  • Tags: CPython 3.11, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 33483721ae2a647649c29d4862ca3fbc06cdf720cffc4a633382bc2b2deda0e7
MD5 098ab5d0bbeec312cfa08c1c7de9ab28
BLAKE2b-256 80e277be4f9e33fd77d06947b6320774a24e5b958f48f53d09c8e5a10fcfd299

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp311-cp311-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 26.3 MB
  • Tags: CPython 3.11, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cab062aa5d13fbd7e07374508cb8f942c11ddfb6fe3ba174562b1d9c1f71d4e2
MD5 373e5a38572f58722a9a317d4199895f
BLAKE2b-256 505d7a324b4c784e1576b5ad01b14b1d4a19271f2f3b642018e7737ef32aca75

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 27.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 904e049c66cfbce252e954f4115f5ba7115f2ab13d5b9881d82fc190c88ad65c
MD5 1c23d3cf09a63d87e2d88fa5c2d2df95
BLAKE2b-256 0d499381b0405f3629f7560ea5f31d397c3246d442045a709f8adb2fa15572a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp310-cp310-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 28.6 MB
  • Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ebb4eb7f904457361ef5c92457bb84fafdac203a01630577a81bee6e45201034
MD5 18f51d2624376820706508faf1e562d3
BLAKE2b-256 853ae76da62e03f0fb9913e1b0b258dc46617c7f23df67311474132570cf3488

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp310-cp310-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 21.1 MB
  • Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6dce39e9c6029a7f1856a7d082add342b37ddf33d235cd777dfd1f521aaa0a7d
MD5 f2e7ccc6d7eccb08a5e0c10f4bc073a4
BLAKE2b-256 44c7c07f2136d3a12af8262149d3b407ef574c56a58065be39220473ff8594cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp310-cp310-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 32.4 MB
  • Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2a5b1cb0a5856bbe3fafb9b87c978fdc19da65861a077b3ffde00dd211263722
MD5 2d1c2b11ff37ad98f325fc2f2b48cdea
BLAKE2b-256 d955304b036f02077dc5874848b17e9db6d08219b79361588a82ade3e53ff6c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp310-cp310-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 31.7 MB
  • Tags: CPython 3.10, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 7d581c74037ef30ea3ce2fba9920a8395ed4411d561c631db57574a693a53bb3
MD5 cb6b3f0f1a14473acd73f16445525a95
BLAKE2b-256 bcc952dfcff9771e955200e80f9560817bb31ebc4f1df106cb4a261faf2a878a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.158-cp310-cp310-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 26.3 MB
  • Tags: CPython 3.10, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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.158-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 888110ed1f1d00c80dbef56dfa0debebcb337aac7e4ff10f3bd3da0217a36c8d
MD5 6e20908809399c710e129e3165618da3
BLAKE2b-256 766ea4033ae667322eaa41fb0b46b91fdf2b37c8f0416e4e5317a4e10a9bbde3

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