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: MPL-2.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

MPL-2.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.161.tar.gz (999.0 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.161-cp314-cp314-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.14Windows x86-64

blazen-0.1.161-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.161-cp314-cp314-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

blazen-0.1.161-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.161-cp314-cp314-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

blazen-0.1.161-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.161-cp313-cp313-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

blazen-0.1.161-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.161-cp313-cp313-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

blazen-0.1.161-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.161-cp312-cp312-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

blazen-0.1.161-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.161-cp312-cp312-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

blazen-0.1.161-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.161-cp311-cp311-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

blazen-0.1.161-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.161-cp311-cp311-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

blazen-0.1.161-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.161-cp310-cp310-musllinux_1_2_aarch64.whl (21.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

blazen-0.1.161-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.161-cp310-cp310-manylinux_2_34_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

blazen-0.1.161-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.161.tar.gz.

File metadata

  • Download URL: blazen-0.1.161.tar.gz
  • Upload date:
  • Size: 999.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","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.161.tar.gz
Algorithm Hash digest
SHA256 4ae2d479e83bffe1e683ab25e94deb1cad83c6cde778c8ba3291300b30910d94
MD5 54a9025dde46d93db28cb267cc89995f
BLAKE2b-256 9c6d5cd70a6c5320817b90542fc882f3678cfab75985ec892cea5c0e1ee52ca4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 13a2ca2af20a24f9b905d9547c7b881a36ed61c4578906c80fc9ade930872bcb
MD5 51f091be34a277c114d3083b49ae18b3
BLAKE2b-256 7f35d496e49e9e02791f9b495477529903530b478ab6ba76e3cbce3816f71993

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ffefbb629430956b93635262aa4c22d3b4f933b0cebe3ceb87ce89ca12a4517
MD5 19de110f6a7b88ddede59d92b70a91e5
BLAKE2b-256 af521a761bb4b441fe8c3f3cd82729d57f0d64658092a288e931de1bb3a8d8f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 50e5ffb4f4fe99c97f8d55f9b8e9cc63af48a34a1772a286f90a11b50b674095
MD5 29585ef45dbcfe226d1606e5ee34da00
BLAKE2b-256 aad2526712d50d5152eb3b61cf9aeda69c941e7638c4d70b7660d54be7e620ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e8432aca76ff28b91f182d5dd4ee76fc71513d4b00e309bb5fb26ca37acf9888
MD5 789bd21b23a12693dd8569e84e020142
BLAKE2b-256 0d7027982a47a7baa6d598f23ee2ab27002804c20665777603dfad088217a555

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 eba08f30cd1c769d9dcc41453ca5316f4be1a6b0eea37d4738aa4103563f2486
MD5 d4692b5ca35a7d8c3b6e944860f5867e
BLAKE2b-256 afb361d88b752bf1548e590d5fbbb4c9c7562cfadd2fbb36a6b78314c98269fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 72538c7eb42fd0857f9e0af362369d0ba624449d39ea48c041e9884ec3ad61fb
MD5 ce03986a96dc2275d192188319c686c9
BLAKE2b-256 6e76c1469a836c9141e57d395a3992761b4a28c9a0581c02ae3dd8713bb2385b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 304c7b3aff3e0d92a41d72144529aaa6eca2919e85e77135ee6c0f36dbe5d0ac
MD5 6e28bbe1a291350c868674ee657f3697
BLAKE2b-256 d83fbd3419dad0afa56e2fa1e893ee21a73f061922a8571460dbd0cd5c4572ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a0d0368caf578bd5d08f2a15e15017248963efa2b7225abde25024db490ecca0
MD5 6341f9764b7d6d63bb95bd207769f01a
BLAKE2b-256 e57fb7ef421b2821210a2089137e8f4264cec169337b98106cc510ebc06d4e18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d34287fa3ce8d8beaff85b98504080f172832c118e047a2b94f255be4637583a
MD5 af3f50841b2024ef57996b1b3961a1c3
BLAKE2b-256 6d8692ef1b714f04863cb95b29a7ac39ed15034d68ba5bdff2352b66f2205cc0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4b819755882a4a75e24b5049f34de27ecb18ee756d27491b2976fc22087604c6
MD5 0dd8a10b19f55fcc1c49bde534b2e6e0
BLAKE2b-256 571e84b84ead8b95e24224581676815736112aae2bdb5f51614d34bace2be91c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ec65a4093e1c31c9b3e09d558501fd47719d37f03d6834bac4085cd52df866e6
MD5 eea21e03fda56012911e8c4589241dad
BLAKE2b-256 81378424bb54ed21ae2b68fe4c469a473f238ab35ba763f41c56c4711a32d5ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c2059ae0562bafbcbe06b52fc46459f6240d9b092926f382864047394b6e1019
MD5 f542a80b7832d517c2fef608014d94fd
BLAKE2b-256 1e4318338335270724f4f1e356bf32fbb0e07f9367f5b8bd2745f2b3adf0c4bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 403bd642957d4f2d4551e7df3834188084bbe07f1984df1f0140d6c581355de0
MD5 58404d43b5f3a9bd2a5295a12333f6cf
BLAKE2b-256 d5e4500c3f7926fcf36005ef840fcea24f3bcbedbc96b054d17112f89812cd9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f312ef3c728bc5aa6fc1cdf5c440b8a1bc3d9ea1ab5d3d5c1d15a26d1b55c86c
MD5 8eb7d2e6747d1a08f580f231b036a59e
BLAKE2b-256 e13f71a61ea5e8c450b446052187ad6f31f00d5fe83e94f8e986381f1d8d0ef8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a46827070f4436a3745e5c1c749e6b1427018dc5959742de31f1589b567f6df4
MD5 b511c4388ecaa2e05a7307a2281dca8c
BLAKE2b-256 9828d117ff733b37c384806ac3bfd9e286f2adcd0c396956bbb88c2e295b9b18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 eedd966a3caf1bd4cd47a2afd0fb5f5461290c534d4d9d1779f9c6b74b8978fe
MD5 e7c8676797f789391b90b1151b9dafbd
BLAKE2b-256 3860713850c3d90289c94ec313bfee364602feea813f583c238ba8d798327f80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 7e821d9685fa2bac9a9b79ca9daa4aa3fed5ac346cac8e7aa6d5efc017dcc615
MD5 7c8ee1ab35194c1e30fb3f3cc02d6282
BLAKE2b-256 2fd9988f7b8ce0e2f65dc1e1efd9b9e5500fd15dd30d6e5d218cdd1fe16b9311

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 05364bab62544ce85f7d8641df3bcf3da6b70e841435502b5e0f96ae49f19bd4
MD5 fcb87aae9fb8fe6642f4967b958fe76d
BLAKE2b-256 dc5727c832013927ee6a3c2a43fd5d263672c99cd07b618a7b42660d00401c79

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d4239e060fcd1a1196147f3205142488428e0c7ae21313cfdef06e5556603709
MD5 9aeeaf7e5ade09452d5c3ed1cfd9ef3e
BLAKE2b-256 d9347b9fc0ed27301379125ad318174959788bbf86dc289e015552e89d81a9c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7b612ccb955b435a6184adb82800ac09f13d622c35d438bb51d78b33d226032b
MD5 f28923f6b72fd27ebc9005e792781e25
BLAKE2b-256 83c02795e4eb0c686dadbc8b4a6a72726909ac171ab2bcd6d5bed2d9e679c9f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 700765ad872fbf96daa27ae8a7af5e586bd3d729727940ec0071676ada5164bd
MD5 9f2035e0728c0a3f83db1d3c54b9a693
BLAKE2b-256 ce6ceb729c18c730253f53259bee8354e225d982f3eaeafc5578ce9d98a673ab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 fd024bef0d6aa94bcfda8791ab6225e3ae39b9c88d77ee1aa927e2add81d4597
MD5 1cedfd0c643e2b2f2e615881fadd40fd
BLAKE2b-256 b5176c471bede5eaca85617c9c992e14baa6b5f69b7cd1d3c366fe0b511434e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 85b49038c323180d0e45625dc4ab2ac00ae3e8c3bb43d89dd735a103b0f0635a
MD5 398e0c7f8d59cfa9be3ee19fcd865036
BLAKE2b-256 0ec6ab85504b1747eb83d2cc9a40e821899edc495c506eb8e8a0bbd96ad47d8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 982ddd5e59207f955efe4263ba81e45f01517dd65e8bfeb2988225643a5f95b9
MD5 bb911a4dd2e626ac0f513e6009f560e0
BLAKE2b-256 0c6fa13cf501df2d52a0a71e0d7d6b84d66516029aa525e39feef81b26f7a1b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3ab20bf545d0a49b497daab21f24b9ae291ad8e5fc9c452f31ffc07215341c7a
MD5 9ce305c817910641d9d02c06562f699c
BLAKE2b-256 9bada95402036969e3ced00c1a5f657554c42398b9bf34aaab647c0d3ab15a2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 55ed1c9b665cacd0fa7d02632e39764a9a9a50e05c1598c62334b0675f5e4a70
MD5 ddc546547b049046bfb8c4bde793ef7c
BLAKE2b-256 5e926ac11a75df725d6843f4f74599590c060e22ee0d88ed743123a5264b975d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dd24e771b5162b0c31c866a88caa94d4f72259b2c363dbe80e28a202a174a6ee
MD5 4c0ae77fbb3dcc5136139a1e38843fde
BLAKE2b-256 07f62649248d30c229bc58e979fc41f5423ffc5ae03db24e69fb2ab37145a95d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 56293bf2a6baaf00584c1ac162b52ef1e84e965754f4f35469cee7d5f24e3391
MD5 f142c659f24c8be6109fff6a6d2f8ee4
BLAKE2b-256 164f113f61eadc83149186c0b4c407a9aec783b6b1d4e4855233f9baa97f138c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 54e26951e9fcc765eabb914c4dca53b1da0d1efa41aa35d9f9d25375c85b71d7
MD5 5db5ffcac27d2de20cd613c0ca425edc
BLAKE2b-256 8b864798196ff422cea249dc3fed069638287a176c98a5d91f13cb4ee589f5c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.161-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.13 {"installer":{"name":"uv","version":"0.11.13","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.161-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d945d097d4233cc6892e1ec111b379bd8cdcfbedaca9ecd12441eea2fb677290
MD5 d8c5420781bbf1a5715e821cc5d285d5
BLAKE2b-256 74e2009777da4da36f1e1917fb8d72b394b5e0eb587c649d88505d170a5e450c

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