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.160.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.160-cp314-cp314-win_amd64.whl (27.6 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

blazen-0.1.160-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.160.tar.gz.

File metadata

  • Download URL: blazen-0.1.160.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.160.tar.gz
Algorithm Hash digest
SHA256 0be1829207a0f4e2922c143b4dd6adb086b8d8a01de3d914019c11cbb5fbe394
MD5 96e7c341b395c5067378ba7c3898fe80
BLAKE2b-256 ba4cbfdfa56181be5f7898e5014ad8c08a85aa44aae84a181620a2a998ef0fed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a612f909d3308ee88299d9c98d4a0ffb8b8f6d96786b4b66951f63e58043fdc1
MD5 2b1d8df230ddf4c416c15ab20bc6705a
BLAKE2b-256 0772359e0eaf52ef349b90382d132239354859e65e3e20ff464ec16a668a1d68

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 823d836dcf30ebabcac2b2f4d8ce9b49acd86614643b6b004f8dd3bede48055e
MD5 8456ad0e3ac9af5218916dc613ffdd33
BLAKE2b-256 61377fb260f30ecec9449c4ec76e9ef26816c9f4489a12e17b230ad9d6318ae8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b9dba296ed7cc547388036a122fd2cd405528d89d1214e78cdd64a263822906c
MD5 70734774780a4be3e85434d253546840
BLAKE2b-256 43a1dc0372fccf9c17e0d77fa61276213152382a68389ded24706bd4fae5b20b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 75d2994d479312b50918896fb3e4a0c4c3e36ef8df5736996c1d593955552abc
MD5 6a6d6b01d7212532864205d991ec1baa
BLAKE2b-256 e3904316d6e2a9cde8df5ef57cdb8eefaf7d7571dea0d16573d6c23f52362a60

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9f932f357f045cfb7ee8b146f374d6d9e21d9aa1c52f0d9bb96e4a98617357ae
MD5 de5a71c2070c819377ada57c59a1bee6
BLAKE2b-256 08ceea25d300e19de3f705d8eb40036ab48076b5d69f156d5bc0d5a9d5544053

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dda9f5b2d1e534b5baa71eb098134a46be548b53c882ec7e15b429721e1e9d6c
MD5 a41f5ccf5b491c279b5a8c6733841e9f
BLAKE2b-256 1d29dc4d93c4ac3a7bea7472a606eb8cad5a8f00e931fb0a1e04f3794b244f98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d150f8327c992c4ca09bb0f0c1b73e46f7205b02025a4361edaa4cdb282004e
MD5 dba04ccce88088b3f83030f9adba805b
BLAKE2b-256 6a1fc4c5f6ae5dbed4c60e5e132c22c4ba7150fb039acf2851551ba4144a4fa8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1c3d1d4347f53dc4896d617e27509e3769b49064592a1f9dcc85b4353724263a
MD5 c6c3fa184157aeff85bf78eeaf052af4
BLAKE2b-256 da24e5be22ed2ca33c6c52412f4d3688682072a8ca86d0f8841c5b4205e26ed0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 026ebe35c95d0eafe5cf24fbf16bc633f5cd003a707f286afdfeb100c2186d9a
MD5 733c044ba715577bbb8d54d344ca47e9
BLAKE2b-256 0a07b38ab1fb21ab8ac809cb876dd72f21f382261531f064fbc46abe23bd455f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 261930846aa3b3136c71f7bb190fa550c84efe5743c956f9ebcdd9d6dde0a13b
MD5 8af8e6031ee0455ede500f48ad767b19
BLAKE2b-256 a0660c910b6eb8461fc5e4a78125342515f7c0a06a966ecc6a2e23fd60146989

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c6c25625f7ea11f45ddc569b52eceb853c7d118d59dbbeb3da27b1ea24a78535
MD5 b6cff6da95291f369f74d80adef46cbb
BLAKE2b-256 db50ce4c2ff522a66e1bbd14b0d49fb70082b735c2804da35a9ba7a5d4f2c276

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 af96fcb6ea4f1a2163c135ea812bb86395781a0342e67d7d1775fb9c3a21f267
MD5 6b527d07a80a0f9f0c3b843c798427ca
BLAKE2b-256 242cfa49cc1c999da504fda539f426b3ac454b06ead0b5b26a9e5f5d8a0a3f11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 88e53cc01104f394d7d71927c15f1faf077d1cbc33f3a61d2d6f5ce84b2080f0
MD5 2041b2e36f607c65c865aced5e843edf
BLAKE2b-256 c6c367a47ef51e31f8635f6d5e1c880fda1c429b19cd7fc9527fa2974e1f7561

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d57721abfef757f612a205b38b92445b853913f5f3458bc6d29a40af1daf93eb
MD5 396feac66d60ebe9cf0adae1d678e8a4
BLAKE2b-256 5811991c1540b4ec617d932bc7e65c4d8fd261105744d05afe030ce3d54a0156

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1977d47849a3afb637f0cb37ff0c7ec3b24646b15e8ffd801581e109b2cdce0f
MD5 dd3d03b74db36a975b998e676738c2c0
BLAKE2b-256 438c528a12c588a165609a7cc7a552e7e50940677920c33fb9d56cf165fe455e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f7b26a4ffefc4296e8ba7577ee4573e0a8a656041fd108616eb22239759f9289
MD5 50cdeddeee164e4ec7de0b4e2cd94b06
BLAKE2b-256 b2a188f31b5cd32e6993cd23c4f141be805737775b9b04e31102aeeda7cdf95e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 8982d38d4fd1f8dacfd5d1444b78a5ca37e2eb9375f1237aecd99610bd58e565
MD5 5a06eccdd544718a737ea83f20c37d45
BLAKE2b-256 d99126b217ec2c50bbf891ffa179c70622761d08b540cb1b17637df4308b0e1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ad12d78c89e67b233a966390173367b5ab23324bce526c90ff973f524208523a
MD5 e76dd56758a1423c0a4b0cf200c8957a
BLAKE2b-256 1313cc623ca14c1be44fea4ca5e71025aaaab6fe344fe1ff1b178d16085100e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 14a70702244ccf843b5360c428368ed9dd6889b5e1b8152387ceb5f609a64b3b
MD5 49c6e4b7b350fe84f24d5fa00fd43dd2
BLAKE2b-256 8587ecb0980aadde916d2a7d03b28fcf00a8e6d4c8fe18b971a7476bd21ad7b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a542b56fd8b58c5675e638ca2b9dccd3af09caa435f91116e1fbd9bf062904ba
MD5 137e16e6fbabaa3ed9fc407da3ea962a
BLAKE2b-256 5a20813c843eef4c39c0ca5a6b4fa7364220f670fe184df91666de60c6307308

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9c39df16c58f77cd739d0e77628aca76c2ed751becb904dbf6d6b5d75f0983d4
MD5 88465897e941015f6719f35d57b9ec23
BLAKE2b-256 a81951589fdc30adfcacb17444d7400cd198d75faa826a4268a42412ba123313

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5f07e0c40bc5a16d950f0c4c594ad43f9da6cc925f7c9f67eb22d14b0e423488
MD5 61f32d88c8b30f857e3e2c42436b94cf
BLAKE2b-256 016854a56d5a0594a12cfe58df97af45ebf0baee7ba420e4f50354fabb89a435

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 99fcf87cb48d7053285e9b83c30ab339dc107064f50ff39c028dd2b27445bc85
MD5 1982dd03e571af70d0bb52586cb83f75
BLAKE2b-256 802b4837399c5bab90c40b5f4d75daceb24df8cff9cde91f09274e18a46a2473

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9a4b81a16145bf6a4ddc60c6cb5d9c70ee38897d6b9a250e428499499a9fc5a4
MD5 541215173a71fa5f98d23bb4053cafc9
BLAKE2b-256 34a7e7965a9ccbb029243c1b4cf951f415c78800e7429aeb56851a141964e999

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 117a142eb4ebafc4ad252ec0202a2ae8a8a12c0224c2be6c0f6aa2c13f832fba
MD5 ecb35c7a48475b14ba09c755859ff8cd
BLAKE2b-256 59b2a7a0ccac838a5eb75b05e6d075d035ed361a674c080ffc0992b8e79aee54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 39d9743993173640d8353fe49af12833a7a81478ec077babf73a89ef8d457572
MD5 87119a91091416666b26983cf2a0d7fb
BLAKE2b-256 76cd4a94c9ddb087ab7b41f3836f9423c0b4a4a68f1b59799a66c2bab04df47d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3f7993a33b8609afa448d374b73cc78d23655bc3d7aea7ae2c64046dfb89e05b
MD5 2064e8b39578d2103a30cef7b831fa47
BLAKE2b-256 eb3fec3f723af75919d58eb97978644376a8d7c13140d88abce3717f80ebc823

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3faf732de61ca1282e5b34330e0faa920094de1b16e1a7db853a558e77b11135
MD5 6b09afe9e6246ae545f2965dac50ba1d
BLAKE2b-256 a38f79233c925d6a0a7edbd99340dc77749b004eff366a252bfd79ab8ee7c2e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5333e0cdf72801f885e55b540f890a5463257facbeac819ffe40095207d5d054
MD5 d0402c96063126a0f01d876ccd0e1999
BLAKE2b-256 f6c70f9c2421099d7f145f666c9b858ed4acf67088925309e0fcd722aa833a61

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blazen-0.1.160-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.160-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 15d16cc2e02eb44f4d3d84e9a9c46d3fae157a9441a7b6532bd80e0dd82a0792
MD5 56d5f21becc83df490dea9147e347952
BLAKE2b-256 09c6b1bba92b49e725e889623ea51ca6741e3daf6bf2eacce1cc4999c763f197

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