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.156.tar.gz (894.3 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.156-cp314-cp314-win_amd64.whl (18.2 MB view details)

Uploaded CPython 3.14Windows x86-64

blazen-0.1.156-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.156-cp314-cp314-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

blazen-0.1.156-cp314-cp314-manylinux_2_34_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

blazen-0.1.156-cp314-cp314-manylinux_2_34_aarch64.whl (22.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

blazen-0.1.156-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.156-cp313-cp313-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

blazen-0.1.156-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.156-cp313-cp313-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

blazen-0.1.156-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.156-cp312-cp312-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

blazen-0.1.156-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.156-cp312-cp312-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

blazen-0.1.156-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.156-cp311-cp311-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

blazen-0.1.156-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.156-cp311-cp311-manylinux_2_34_aarch64.whl (23.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

blazen-0.1.156-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.156-cp310-cp310-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

blazen-0.1.156-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.156-cp310-cp310-manylinux_2_34_aarch64.whl (22.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

blazen-0.1.156-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.156.tar.gz.

File metadata

  • Download URL: blazen-0.1.156.tar.gz
  • Upload date:
  • Size: 894.3 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.156.tar.gz
Algorithm Hash digest
SHA256 25f0315a36e01a9c558bebd68d15b4c2494528b2c66776b9986a5fed8326ea43
MD5 104e0edf999de8f0b1a1ac106e1034b0
BLAKE2b-256 7bfc81ba835b93a4b32e151a50f2270c64b0dd9b03d92a00942facfeef7b4c6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 55e1bf5afe2e8b750514b4d3b27217fe1cf3d914ed5ee2ed75176983f2772300
MD5 92c799bf4086d60ebcdcc25a5a442981
BLAKE2b-256 829a55d1b722faa48e5f71f4343d6b43f1422c13eec3825875f549a11a570fe8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 280e9493ee400cdf505cb4aa4562194289c2fe9a4657fa9899f1aab783b6771a
MD5 be9bdd243e8ed2248fa73ba83b4a1269
BLAKE2b-256 8d74cb9d1a7bbed5aea8651d7f47703100b1d18ac4bdcb3efab2053e23776ed6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 174d1870a1bfcfac24a354f94d07fa78c1882217f3b87d45bd0d75f8067e7d35
MD5 506b7ddfef88132573817194e07d287f
BLAKE2b-256 1b40432ee253e7bc82da9f0d44bafbf77b1e8e0ad6f1defb22309638cf94ec36

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-cp314-cp314-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 22.6 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.156-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a8cf3df3775e6db63c2de03aa6512721195835eb15034344f3d94e0f8a8e9457
MD5 10eb958fc2b7252fa834b1a69f6f4270
BLAKE2b-256 8cda7923caf29d75f56d83a10ef8e6d8d3c736203af1545fae14685d67cd5265

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-cp314-cp314-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 22.9 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.156-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 51a8b61ad6ebf7018ab4705fc71b5aa94464e53024b98a96b3ba6d4489ff96e3
MD5 c67803b63658390842f0867ad65e2d8d
BLAKE2b-256 5f8638c87a0dc60e99a5c552ec9e46b12abe1f758c44b336e1c4e8ef60abe908

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9a9d23b1e3adab639308e6442d74019f8d0061eb78d05ac22cb62db39fedfe97
MD5 386a4c968c596394f5b86a9833adb811
BLAKE2b-256 1e9156dcf56f7a34ec2098564baa6e6b5bbbc6ac9bee0c5cc56f4ddbd0fc5812

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ba19a09f65d3c44d7ef80c0c94cd96cc1178e9c1f28504b07e7f4d3eb53718c4
MD5 55d8adb8e92b3decd1c77341c71b5b49
BLAKE2b-256 939878f239bcae110b78a755c64ffb38cbfb26d583d6058296a4acb11d5abd02

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d2f89854c245b91a2249f3301de36ae1190e980bd80879e2c7aef20076fbc55
MD5 8843fccc174cb80fc86a4b91c1dc2ea1
BLAKE2b-256 7e8237c4b9c05067ffc98dc29fbd6a15fc714ab313380998112420d0981bac65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 481543252250e5fb350a6582c07b349c4b7d411c7cd1f4cfe78a3f0e4ae595e1
MD5 776e44f2abfc2cf4e0df4bc2501edc60
BLAKE2b-256 41a61973d0bc708d057641a6b9745ad6e88179308db7e7642ff16c77a28054d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 46ad83f6e438aa7297c02c47d57a42328fd22d1a6bf62d9ce9f22bf230619972
MD5 85bfbf3ef7b6ae68a967d8e1a6980d0d
BLAKE2b-256 2e711eb024c155b5bf4952fba465fe197ab3897b80f10d645c17846050bc425e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 550db1c5c56b50eb186e3a881b267d31272807e502e61b690622f45e9e4b8532
MD5 2ebe6e56be99ffd4c02ae2f29bfe701e
BLAKE2b-256 965159f8b9ee851ec6c63953d3c2889d7449e691cea344554d027655966339b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6060343445ff1afa1577f19d8e8b664880e63deab7e545c02d1d888c5e5537b5
MD5 2c24c859cf107ccd92e5dfb5ea1ed691
BLAKE2b-256 3548cdc1ba882f6da620b3279b7f5f7cbab57aaaf69e989d72c608994c5deedb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 90fdd448849a978fb86a9342a48c3b2782df70d095086381931173fa72b07c83
MD5 cbdd1ae6a456fff07a41f53665995c2f
BLAKE2b-256 bbe0923c0f3b2e4c185e057d5c98281850c28fead5bdbd6df54f936b14022782

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 05c5b6bc83df526f4c0dcae315d5e8f1e07837ebdfb4052bfa609bd726ee0d6c
MD5 a79eded8f7ef2de95938186e3eeffae5
BLAKE2b-256 8745cb3608167721dd0b7ddc8fe142d32ebb4af48f711b1ce22263f0373a9417

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 539487f461ba29389bf0f3e12e0ba73a32317c9d557f056cca11c3fbf7b810e8
MD5 2f3e4a5e3e4774d129211879a8d774e4
BLAKE2b-256 c1cb142729a4a46976004c76b65bfa3b590c791a94416714c3fa4b60149821be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1c35d87319ad76e41040ae3aacf9c58909c267e4345e97725aa3c0058daff6c4
MD5 880c77c647408ddd58c27ab418bf8726
BLAKE2b-256 d3fbdb83d56b221eeaaa832cdf2f5af2be04c7d5ba08021050eea5d5ab676be9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 871a75086cee608575ed0c904064e1701c04e1e4567a711b9453b4ba8aaa7192
MD5 28b1a643d07c2aea5d04e2be8e90802c
BLAKE2b-256 96232da99144099407ea9cb598bd7c9f0b5ab283eefffa0b9a8e53d8b96ee336

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f58c7717c7d6c045bdae19391dcad31ad49191a8cf1a9531164a6179b0bfe39b
MD5 5e52cfd0322ca00c9b845c8b22eb2ca9
BLAKE2b-256 4a3b0ed042c627bda944725076a8afa9f7efae6c157ae5541d15bb3302747493

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ab824cab740f7c5bb89f52bd30daec9c7f00c14386438628463cab4727e84dc5
MD5 ed2359422d24f9fafa97f33c19b17e90
BLAKE2b-256 986f7e6e2bdb1dc989e4272dd7825b7e108663835974dfe55b2373261fcb615e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bbe6faf9521bc039eba2de7e10086ebcd0c79d69b3a2f84f036b196f2eea8cb4
MD5 e42f7045c7f52f29e37ebb93349e42b9
BLAKE2b-256 859b321628330ea0891199898358201c5cbb167db7b5d414d2ef0ee0ecf15fb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2d9ba44e45d49bcf3819af7e43a4d8df226f1b7068b723b5c339dd5f17098f0a
MD5 304f1789b2dfc9c9b813de1e05c7b17d
BLAKE2b-256 8c071ff697fd8a91b8586cbcc6db98fdc74b2b48b709d64fea386234ae50f007

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 21303819d9f26bd26ccd1705172bd853a3c921c923d4d83270cc6182e9e9a264
MD5 8fcab9f065cd25f439488ff4a51b6da7
BLAKE2b-256 f9d249635036cb8618a1417587d10c45f59e393e41eb2c24ecfe7b936a2c6070

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 dada2071b7620c64473ff99088251bd6d3372cb658b76545eec123fd915f976d
MD5 7b2ac0f1dc56ada24eef349335f11906
BLAKE2b-256 485c6ee55c541a99b5e175dcd1c36e70bf930b99a9e019b7637c0bf149e7666d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 23d41865341c381ab6b5b8670b0a9377d911d1c1347ae27af5eb667db37d33ff
MD5 a93280a32195710c478c64fc6c1fd1f3
BLAKE2b-256 9c35f4862a0ae979ffc31818572699ba61fc143c1725d4e96dcb39d05720f6da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4f8e354c8466a651c931193880be3133a9b7327fa029161ea2c7940881aac919
MD5 f1e0b7d9fa802793d976f17f5644919e
BLAKE2b-256 23e91c5a97fe9d724ed299aa4edcd671f2ccfe1d02ad6b532f0ecd9fb6424aef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8817c3a033fcb3cd43ac440776d734a778eef6614884f0d1e2258aba73648380
MD5 d1c3b3be8953fc7383799f3cbcb51962
BLAKE2b-256 75306f5df66dd81772f15ec22aa56c3c2bbe30e4adf7997bdd1971f157ead974

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 11558286db5969227bfc973f73de6a5cba30bc7f98815d3fe0b0464fdf336812
MD5 58596688b4734c94301ed915b2832784
BLAKE2b-256 2449bfb43650c6adb52d9bacc3b693a1f81cbe63b6b0338ccf646d291196672b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f29783fcd3cee25d1d76290241591b293c9908e3bd1a50616beb7b8032405e75
MD5 b064daeed68f29119be5b110f4b540f5
BLAKE2b-256 bdcaa3e4b2b4c3f05ae21fb4e4fe79b714db66c05afc0d67261b64d0c7ad8fab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-cp310-cp310-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 22.9 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.156-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 bd7e6ccc603d97e76cd73d6fde1477a59820af557ca2d3800c19516cc70c26e7
MD5 ce1c3a5808c7ce6d180476f6c7953401
BLAKE2b-256 fb1c2275dfce356dd8a60f5e81e82a56b417b406c2d2779ab7f2170d1deb3c15

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.156-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.156-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 966287a2e5c8c0dd98e50662f87c93e82e6bafa8b5e837e43c1536f1cfb37494
MD5 bf645e34e48e7ac71c5ebf17380aa7e7
BLAKE2b-256 0392a61e8b4d69ff5ae0c7caa0488fe80272db580f0a1a377eba4c70eb119f0e

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