Python bindings for the Blazen workflow engine
Project description
Blazen
Event-driven AI workflow engine, powered by Rust.
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)-- SubclassingEventauto-setsevent_typeto the class name ("GreetEvent"). Annotations likename: strare for documentation only; at runtime all keyword arguments are stored as JSON.@stepreads type annotations --ev: GreetEventon a step function automatically setsaccepts=["GreetEvent"]. The step will only receive events of that type.@stepwith no type hint orev: Event-- defaults to acceptingStartEvent(the event emitted bywf.run()).ev.name-- Direct attribute access on events. No need forev.to_dict()["name"].wf.run(name="Blazen")-- Keyword arguments become theStartEventpayload. Steps that acceptStartEventreceive an event whereev.name == "Blazen".result.result-- preservesis-identity for non-JSON Python objects. You can pass class instances, Pydantic models, and even live DB connections throughStopEvent.resultand 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.sessionand pause/resume. Values inctx.sessionare live references and are deliberately excluded from snapshots. If you store live objects there and then callhandler.snapshot(), the workflow'ssession_pause_policydecides 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, usectx.statefor anything that must survive pause/resume, andctx.sessionfor 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, elseNoneendpoint— request URL/route if applicablerequest_id— provider-supplied request id if availabledetail— human-readable detail stringraw_body— raw response body asbytesif capturedretry_after_ms— milliseconds the provider asked you to wait (mirrored onRateLimitError)
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:
bytes/bytearray-- raw binary (survives snapshots)- JSON-serializable (
dict,list,str,int,float,bool,None) -- JSON (survives snapshots) - Picklable objects (Pydantic models, dataclasses, etc.) -- pickled automatically (survives snapshots)
- 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 (survivespause()/resume()and checkpoint stores). Routes through the same 4-tier dispatch asctx.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blazen-0.1.153.tar.gz.
File metadata
- Download URL: blazen-0.1.153.tar.gz
- Upload date:
- Size: 807.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c783b7e703955babcc44c71acb59a43d2e627f2679f7513ab1fb23e4b00fcf11
|
|
| MD5 |
11e126275eed66756bd7ae7856821a7f
|
|
| BLAKE2b-256 |
c9316dda73ba982b0b17611d314c1ff6f2c5fd537a021db57e06e53445acd545
|
File details
Details for the file blazen-0.1.153-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: blazen-0.1.153-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e08dd6de505cb3bbaa0b024a632d15ede856aa116158f858ec788c1c6d018b90
|
|
| MD5 |
cbc2dd8633bf67c3626337a829930c4c
|
|
| BLAKE2b-256 |
c76163fc7cc3842c53fd50b2e6fb353e4606796cc86beea7b6af7ffe3f07a417
|
File details
Details for the file blazen-0.1.153-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 23.9 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15cf3f54d104b3a91041693de5b551fc5192148dec692b9143c5e974be55f434
|
|
| MD5 |
217dd15e5f1b6f1d7aafe63f43ba82cc
|
|
| BLAKE2b-256 |
074dc16721b91e1581c2d9b156ed438491dad89e906fee0b21b97b95c68aed5e
|
File details
Details for the file blazen-0.1.153-cp314-cp314-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp314-cp314-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5b6934b6cf804d455a7475e85786a632a2e6578aafdd0f775eb1691e52cf011
|
|
| MD5 |
150afbf9a83f9ab5859c631a59399d2c
|
|
| BLAKE2b-256 |
629ae64e68fdd8f2bbf41c47bcc611e3459856028e44b84350d0413e607f11bf
|
File details
Details for the file blazen-0.1.153-cp314-cp314-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp314-cp314-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 22.4 MB
- Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dacffbdd1a1bac2ab9c14b057d0bab8dc6b9f9385136857fae1761bf2091dc4
|
|
| MD5 |
2b04f419a67b85596eda8d26d84b9654
|
|
| BLAKE2b-256 |
e360da96dfdeb8e00a992fd230340a5b0035ea1b350efe1349eb81359bc8aebc
|
File details
Details for the file blazen-0.1.153-cp314-cp314-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp314-cp314-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.14, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02896932c33137fdc0f3f892447a156de7d29041a8ae7e5bbc2a0abf27e98cb4
|
|
| MD5 |
ffe4ba71574e70ad32b153c816a26bd9
|
|
| BLAKE2b-256 |
198aae8c44122bd0f6f9daa25d41f0a6734f452c4c2d8f4fa7629a393e753b35
|
File details
Details for the file blazen-0.1.153-cp314-cp314-macosx_14_0_arm64.whl.
File metadata
- Download URL: blazen-0.1.153-cp314-cp314-macosx_14_0_arm64.whl
- Upload date:
- Size: 17.7 MB
- Tags: CPython 3.14, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75db0da3d0e96f7cd5c47d2335cca5a51ae1aa15560ab0cf4cfa15beb7814dc1
|
|
| MD5 |
0fdc17bbffde046948a8bcd30989c3a1
|
|
| BLAKE2b-256 |
23c6ae76d56cabc83aba465de0ed3cb3d44f98b390957a1d9ad9ee67ec04c7c3
|
File details
Details for the file blazen-0.1.153-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: blazen-0.1.153-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9903671943a378222352668b174b06e8d54a72590bf6ea3ec238556f83e29ae9
|
|
| MD5 |
258dc3a0b76d11db2e10de6634f26ee4
|
|
| BLAKE2b-256 |
fd32697d6661e2193dfdae9d6f7c1847637975a1bfeff2b30986354018bbf12a
|
File details
Details for the file blazen-0.1.153-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 23.9 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
479aac758d2c9863f25f1dd79c2aacc2198673dde885e06fb10f9c899904c8c7
|
|
| MD5 |
7ab252ba55cc218f3481ae77db855206
|
|
| BLAKE2b-256 |
f368f466299405294d158ccd004bac51567dc3e6ba0f8a97b4ef8ea1fad80c3f
|
File details
Details for the file blazen-0.1.153-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fda248c402088935c01e745445e586de85487c9a2667fd611ff91316a8499e5e
|
|
| MD5 |
01846c733b263487c40f84616b4d5ef4
|
|
| BLAKE2b-256 |
32968b651c38f380bc732e1852d85e4764fa38f57c94fba09e8216f975aee064
|
File details
Details for the file blazen-0.1.153-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 22.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1102af3caa64af70accc601b6c9a1412b2a32ab9eed9ba0fca9082fe54d723ca
|
|
| MD5 |
2e7b8d6993fdadef70903c6d609b318c
|
|
| BLAKE2b-256 |
b7712438455c8ba45740a0755057402f415b14689f06318a6b75bae34ed80646
|
File details
Details for the file blazen-0.1.153-cp313-cp313-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp313-cp313-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b09c691c1ad900ab967c89f7c79dd37488eec5a658c4b9147048c46d3b668d89
|
|
| MD5 |
45169fea4c1adb9fff6f0cb49d756967
|
|
| BLAKE2b-256 |
95eb1a81dcd26060365f7eca7f8e3bf9a2cebdcbe611ca49305d670e17b423b5
|
File details
Details for the file blazen-0.1.153-cp313-cp313-macosx_14_0_arm64.whl.
File metadata
- Download URL: blazen-0.1.153-cp313-cp313-macosx_14_0_arm64.whl
- Upload date:
- Size: 17.7 MB
- Tags: CPython 3.13, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d838a9def749deae6a3122d20d01441390de169106ac802f097d5a13c5c34c6
|
|
| MD5 |
b68a0362dc8849e00864d46b89eaa367
|
|
| BLAKE2b-256 |
ef3b046bac52a240a78eef137547bd0ed3ab5847e4792c0f79169e3e06babd08
|
File details
Details for the file blazen-0.1.153-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: blazen-0.1.153-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
220bdb40434d6ca4b98362a91ac93452f6c0041d0216753dd9bec3d4998c3fe0
|
|
| MD5 |
b27a759a7db30f7dbcbb1e53e876b021
|
|
| BLAKE2b-256 |
663f74b5c391632f437acafa78c16931d40c448b35d82fc180f212977ebd358d
|
File details
Details for the file blazen-0.1.153-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 23.9 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c0b28bb3576eb1b716e2c8b18a170d5dce45db53ddc3f85e66bdb3be1ca2ae3
|
|
| MD5 |
4095770d292ed45f03d6adf9d5c9b359
|
|
| BLAKE2b-256 |
893df27e0b2ad6666dee410faeb11dd3eca51d77eea6cca3370ec4f7aa35641c
|
File details
Details for the file blazen-0.1.153-cp312-cp312-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp312-cp312-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60c71b845b1374d783a7de40244761963aaa1507f7849349a66750d9cd5be130
|
|
| MD5 |
4582a16e45e783b19d84b61c25e41352
|
|
| BLAKE2b-256 |
19e7ab9e269d46741691063efecfe451246d8be90b38c0854b173edffaccb7fa
|
File details
Details for the file blazen-0.1.153-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 22.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d28f608b6c57ddee429d5d845d656a7ab630efdf01e6b451a3f0b0ba5255b004
|
|
| MD5 |
77a4f39538c4b7542d8247a192766740
|
|
| BLAKE2b-256 |
cb204d6a4161010a6dd65dc24e180d0c6861fd82fc15f24b49ebb79c20858978
|
File details
Details for the file blazen-0.1.153-cp312-cp312-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp312-cp312-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3866d034419062af09f181a1234381e17be0d30d1895e010350ac0ba05c1d00e
|
|
| MD5 |
b4db289bee1d3d63fe4f78ba4312c81d
|
|
| BLAKE2b-256 |
096ab0d855643ad85810d68379853da398c11d5893d5b336de51ad51e81e7413
|
File details
Details for the file blazen-0.1.153-cp312-cp312-macosx_14_0_arm64.whl.
File metadata
- Download URL: blazen-0.1.153-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 17.7 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da12f46a93ceda069959a1591f4adaa869495b865d1ffc50a98e76202aaa4011
|
|
| MD5 |
67de6ca927af6195259a0e9d72123937
|
|
| BLAKE2b-256 |
c527b1f006bea49523348808493179666b4321b0ba201d76e48fa1868b4c406f
|
File details
Details for the file blazen-0.1.153-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: blazen-0.1.153-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afd8db244ba66fa090fb37c7d525e2d10b96a8c9e7edbe7245e6da61f06c826c
|
|
| MD5 |
8d314f470534a8b3bb3716dbaf80556a
|
|
| BLAKE2b-256 |
4adc236f96a2c1d82e60aac9c21738d25a4431ac18f6b7a88a6354bd206c42c8
|
File details
Details for the file blazen-0.1.153-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 23.9 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88a840d25e4550a3846d0fb9e9bb1e4f3a8d45b302735a1bdc60765268edccf5
|
|
| MD5 |
a6c643adae562a82e20cdc657780ef45
|
|
| BLAKE2b-256 |
f4411f323f0c375a66d350209d184d3e7addfa3896835b90275b08bd777512e9
|
File details
Details for the file blazen-0.1.153-cp311-cp311-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp311-cp311-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e01838ec92aa13603c1f296a51a36993e22d1ccfa4d8b291946cbe9b47d63d3
|
|
| MD5 |
ac4d1d1ad2c23cd6020c2f83c7746caf
|
|
| BLAKE2b-256 |
c48ca04052c0680c2262e3209714efbb28cc935ea40d9f515aab7f0a944d8bcc
|
File details
Details for the file blazen-0.1.153-cp311-cp311-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 22.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
672334ffa30ff57dd88faa12e054201c810c7ffa43ab0dd9b77923ec70b45c1f
|
|
| MD5 |
5ef42267429400539ca21f08ce920af8
|
|
| BLAKE2b-256 |
230374d409f8574c02c361e34aac6084996ddc8344a226b08fe96f3e17a1e9b7
|
File details
Details for the file blazen-0.1.153-cp311-cp311-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp311-cp311-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.11, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4155537abffe443c0bb507e09671e6beba12be18c2d3045993b64b3346835983
|
|
| MD5 |
cdea875793e90eca5b5572ab84cb6c37
|
|
| BLAKE2b-256 |
4576ea9e3c028d53194ede8dfa0e6275d481583aaa1ccc7b85e6b39634800dca
|
File details
Details for the file blazen-0.1.153-cp311-cp311-macosx_14_0_arm64.whl.
File metadata
- Download URL: blazen-0.1.153-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 17.7 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
777c606aa4707c1016ed4c0ae51368be19f829b9bc24d1d06eef50a885587900
|
|
| MD5 |
7402d076fa3790cc84afa127f0691f22
|
|
| BLAKE2b-256 |
77fda259acbe51c1ec3cfdf7d55a45529b92ce038593ce4810752953b0c7e787
|
File details
Details for the file blazen-0.1.153-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: blazen-0.1.153-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 18.0 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52a6f5c1ca3a45c4b30f3a13378cab4b4aaf49ddc53cbc7479ed25d9bfea8219
|
|
| MD5 |
c1377c05191a40a6726a9b1578602de8
|
|
| BLAKE2b-256 |
4f15296aeac9835835310c304c2800774b3ffe0c0864480e5261e485357064d0
|
File details
Details for the file blazen-0.1.153-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 23.9 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36bcccc04bb14737873f481d71522b1010b325ca5feb1f2b45769d685ba76472
|
|
| MD5 |
c264d4b7fbb09bc8b2e8a0d8780f1f8e
|
|
| BLAKE2b-256 |
4de6d08f56669f8059f4a5ee7cfefeab66da2e9f5629ee9757ca0cbf70b88981
|
File details
Details for the file blazen-0.1.153-cp310-cp310-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp310-cp310-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed7bef008d5be2c01276f8c7fa788facd7f95e5474735ad9c1aa6d1d8aa412a6
|
|
| MD5 |
811831e8429342d2c1a82b4ad084a370
|
|
| BLAKE2b-256 |
ae67794420340f33f0096fdbfb2336d547b4692dcc9e233df32c2fb3675154eb
|
File details
Details for the file blazen-0.1.153-cp310-cp310-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: blazen-0.1.153-cp310-cp310-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 22.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a07239fc5be5359c5ebc2a919a436944b13c5b4f2e4d435dcff4cfbf85ce168f
|
|
| MD5 |
8e846e0123068772f94949d99c5ccd26
|
|
| BLAKE2b-256 |
347dc24a754da08a755f662f20a2457e635a02f21f672d12f52a6e17cf3b3acb
|
File details
Details for the file blazen-0.1.153-cp310-cp310-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: blazen-0.1.153-cp310-cp310-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.10, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
689b411be142c277b8d52f3c0adca6782d6bb02bf9d0a27d8565c64e75024fe2
|
|
| MD5 |
a6f27acdab7a46a0c64f0504b95b5c9f
|
|
| BLAKE2b-256 |
321ba13783fea23de8059ae9f4e36a9f5fab244bb7c5ea3cf65fa1d19510110b
|
File details
Details for the file blazen-0.1.153-cp310-cp310-macosx_14_0_arm64.whl.
File metadata
- Download URL: blazen-0.1.153-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 17.7 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8eaf0d787b0bf6353c00eb9155b460670fcf6a3b3b8d0338d9979df0c0249ffc
|
|
| MD5 |
d74350c50c7c7822c55909fe0a523fab
|
|
| BLAKE2b-256 |
41a97c8b9b2372bcf830a0b8518aecbeb277db2c124956e26ae2ce6b3eb5cacf
|