Skip to main content

Durable workflow engine with Rust core and Python bindings — checkpointing, fork/join, distributed workers

Project description

Sayiir

Durable workflows for Python, powered by a Rust runtime.

License: MIT Python 3.10+ Discord

Write plain Python functions. Sayiir makes them durable — automatic checkpointing, crash recovery, and parallel execution with zero infrastructure.

from sayiir import task, Flow, run_workflow

@task
def fetch_user(user_id: int) -> dict:
    return {"id": user_id, "name": "Alice"}

@task
def send_email(user: dict) -> str:
    return f"Sent welcome to {user['name']}"

workflow = Flow("welcome").then(fetch_user).then(send_email).build()
result = run_workflow(workflow, 42)
# "Sent welcome to Alice"

No DSL. No YAML. No determinism constraints. No infrastructure to deploy.

Why Sayiir?

  • No replay, no determinism rules — Unlike Temporal, Restate, and other replay-based engines, Sayiir checkpoints after each task and resumes from the last checkpoint. Your tasks can call any API, use any library, read the clock, generate random values. No restrictions.
  • A library, not a platformpip install sayiir and write workflows. No server cluster, no database requirement, no separate services.
  • Rust core — All orchestration, checkpointing, and execution runs in Rust via PyO3. You write Python; Rust handles the hard parts.
  • Pydantic integration — Automatic input validation and output serialization for BaseModel types.
  • Type-safe — Full type stubs (.pyi) and PEP 561 py.typed marker. Works with mypy and pyright.

Installation

pip install sayiir

From source (development):

git clone https://github.com/sayiir/sayiir.git
cd sayiir/sayiir-python
pip install -e ".[dev]"

Requires a Rust toolchain (rustup) for building from source.

Quickstart

Sequential workflow

from sayiir import task, Flow, run_workflow

@task
def double(x: int) -> int:
    return x * 2

@task
def add_ten(x: int) -> int:
    return x + 10

workflow = Flow("math").then(double).then(add_ten).build()
result = run_workflow(workflow, 5)
# 20  (5 * 2 = 10, 10 + 10 = 20)

Durable workflow (survives crashes)

from sayiir import task, Flow, run_durable_workflow

@task(timeout_secs=30)
def process_order(order_id: int) -> dict:
    return {"order_id": order_id, "status": "processed"}

@task
def send_confirmation(order: dict) -> str:
    return f"Confirmed order {order['order_id']}"

workflow = Flow("order").then(process_order).then(send_confirmation).build()

# Checkpoints after each task — resumes from last checkpoint on crash
status = run_durable_workflow(workflow, "order-123", 42)
print(status.output)           # "Confirmed order 42"
print(status.is_completed())   # True

Parallel execution (fork/join)

from sayiir import task, Flow, run_workflow

@task
def validate_payment(order: dict) -> dict:
    return {"payment": "valid"}

@task
def check_inventory(order: dict) -> dict:
    return {"stock": "available"}

@task
def finalize(results: dict) -> str:
    return f"Order complete: {results}"

workflow = (
    Flow("checkout")
    .fork()
        .branch(validate_payment)
        .branch(check_inventory)
    .join(finalize)
    .build()
)
result = run_workflow(workflow, {"order_id": 1})

Multi-step branches

workflow = (
    Flow("pipeline")
    .fork()
        .branch(fetch_data, transform, validate)  # 3-step branch
        .branch(fetch_metadata)                    # 1-step branch
    .join(merge_results)
    .build()
)

Pydantic integration

from pydantic import BaseModel
from sayiir import task, Flow, run_workflow

class OrderInput(BaseModel):
    order_id: int
    amount: float

class OrderResult(BaseModel):
    status: str
    message: str

@task
def process(order: OrderInput) -> OrderResult:
    return OrderResult(status="ok", message=f"Processed ${order.amount}")

workflow = Flow("typed").then(process).build()
result = run_workflow(workflow, {"order_id": 1, "amount": 99.99})
# Automatic validation on input, serialization on output

Task metadata

@task(
    name="Process Payment",
    timeout_secs=60,
    tags=["payments", "critical"],
    description="Charges the customer's payment method",
)
def process_payment(order: dict) -> dict:
    ...

API Reference

Decorators

  • @task — Mark a function as a workflow task. Optional params: name, timeout_secs, tags, description.

Flow Builder

  • Flow(name) — Create a new workflow builder.
  • .then(task_fn) — Append a task to the workflow.
  • .fork() — Start parallel branches. Returns a ForkBuilder.
  • .branch(task_fn, ...) — Add a branch (one or more chained tasks).
  • .join(task_fn) — Merge parallel branches. Join function receives dict[str, value].
  • .build() — Finalize and return a Workflow.

Execution

  • run_workflow(workflow, input) — Execute a workflow in-memory. Returns the final output.
  • run_durable_workflow(workflow, instance_id, input, backend=None) — Execute with checkpointing. Returns a WorkflowStatus.

WorkflowStatus

  • .output — The final output value (if completed).
  • .status"completed", "failed", "cancelled", or "in_progress".
  • .is_completed() / .is_failed() / .is_cancelled() — Status checks.
  • .error — Error message (if failed).
  • .reason / .cancelled_by — Cancellation details.

Backends

  • InMemoryBackend() — In-memory storage for development and testing (default).

Architecture

Your Python code          Sayiir (Rust)              Storage
┌──────────────┐    ┌─────────────────────┐    ┌──────────────┐
│  @task       │───>│  Orchestration      │───>│  Checkpoint  │
│  functions   │    │  Checkpointing      │    │  after each  │
│              │<───│  Crash recovery     │<───│  task        │
└──────────────┘    │  Fork/join          │    └──────────────┘
                    │  Serialization      │
                    └─────────────────────┘

Python provides task implementations. Rust handles everything else: building the execution graph, running tasks in order, checkpointing results, recovering from crashes, and managing parallel branches.

The project follows hexagonal architecture — the core domain has zero infrastructure dependencies, all dependencies flow inward, and every integration point (storage, serialization, execution) is a swappable trait-based adapter.

Requirements

  • Python 3.10+
  • Optional: pydantic >= 2.0 for automatic model validation

License

MIT

Links

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

sayiir-0.1.0a1.tar.gz (147.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sayiir-0.1.0a1-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

sayiir-0.1.0a1-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

sayiir-0.1.0a1-cp313-cp313-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

sayiir-0.1.0a1-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

sayiir-0.1.0a1-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

sayiir-0.1.0a1-cp312-cp312-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

sayiir-0.1.0a1-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

sayiir-0.1.0a1-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

sayiir-0.1.0a1-cp311-cp311-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

sayiir-0.1.0a1-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

sayiir-0.1.0a1-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

sayiir-0.1.0a1-cp310-cp310-macosx_10_12_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file sayiir-0.1.0a1.tar.gz.

File metadata

  • Download URL: sayiir-0.1.0a1.tar.gz
  • Upload date:
  • Size: 147.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sayiir-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 f6ae361413d9fe825a1dd80e1c991f6d85ebf7f0cd83b1baccfcfe29a5326356
MD5 c5f4404d82c40250789108946f868f80
BLAKE2b-256 4daf51cc0fe631f533e784b35fa69d0a7297ace425300dc5a51cb3e63f2029db

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1.tar.gz:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sayiir-0.1.0a1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sayiir-0.1.0a1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1144684df67ed6fdb6654c6c47ee00afa011857584780b345af42dc444319be2
MD5 fd5f1b9699facc07c681cd1af3379aca
BLAKE2b-256 a9868ccfed46d5f45df4dad095c4b0fd40d2aaa1e57542ad392cab4893bb106d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0ff96effbfcbdccd8b83fe228c2eae4eff90472235f3d6beb3e4323c9ccc8e9
MD5 f96905d4bd71e81219853dd00de1115f
BLAKE2b-256 8d7fd54745fe2e3d575dd9e13cea88ebb1f672c9516134a584784ae2982b6040

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 296ce437a5ac390f51dabb03812bc8a8f63e951bf6f99e5b5fe6511714e904ba
MD5 eaf9ecdb6b782c305f947e7f88de093e
BLAKE2b-256 0342d61abfcda364d8497980b496342cc767230261aa4f7fe891b15a6dcd0ebf

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f632f1997bd90b346235a3fbaad31a39c8f4b2038e98335d7b4b3bf688809262
MD5 aa379c40251bfca4a853961adcf82173
BLAKE2b-256 c2e0ad31a6caf343551f6665b9931a486cea8e7812ed954bec7c519e67c30f17

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7948d6207c344903635ca84107793104c7695e7e8725ddf369835b653c2e22f0
MD5 a84af1b2f45cfff0ab4cca1fcfa702b4
BLAKE2b-256 27094a9ac87cfe34d488bd3c2ba586c903885862e3f8894fa320d72b80df4ccf

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sayiir-0.1.0a1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sayiir-0.1.0a1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e4a5e0198e864a6621b0797e10fde4a58b60291d0911ac3e6c489d1e2b543327
MD5 1a2bc8daeb6b2c6606b1cda9fefc5d46
BLAKE2b-256 407eefc00226be060d4a6d9caae9ef67bf42d360a29d8aa94cea53d93df2c5df

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86756986ab6781b0e3e0b015f1ab7570063ed661f58b58ca17e53e25002d381f
MD5 b7384ad5560116eec968d19ba0b51388
BLAKE2b-256 394efe7c1eed0a93e1615d3cc69b76092e53c92940fbdfe98a6dbe81ca9275b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 38a205828a1446954622686ba5f0261709308580da734912f11e03ad7bdb59fc
MD5 afbc1721548cd0ae02fcab83c0fbf558
BLAKE2b-256 9911fae666528eb72a15afb62f4c811587cae9f85d9d29203f1c194d85b19d6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf07941edcf3d872a09d48b74a35cae518d78207a3f77ff0a48f0e8280ab1d5f
MD5 e2ee8a3d572a787f1582a9b609a33192
BLAKE2b-256 bf7becfd3891800c5d07e34ab71ea70cc6aca5fe178c5e08532aad3d0b2509d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0dc70a78551ce794be23f910e90c84c74f894c16406b3d26cffce5e844d6c75f
MD5 ce7d8d094adc8a93a004294101d7200d
BLAKE2b-256 ce54b0ee0ab17510478b7a052699c57652f82e23b336653618ff8c883f2ce9e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sayiir-0.1.0a1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sayiir-0.1.0a1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7c25db55d9c4b8dd90af9508827879af1a592b1648452d5c499243fa1c4357fd
MD5 c15b804607dbe6b4f08cf2a9bf27b960
BLAKE2b-256 ac4000ba87ccfc4166bf38dc1535c4fbd1ad9046dec1df4bf6106e14423ef44d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85afc97e4b5eb94cb58a7bd14e399e719ae019f840efa8494bd0a93b08ea0fcb
MD5 95a7aecddbdb1e528002321d09c4d574
BLAKE2b-256 4c488c6df6625bc989a0c2b930f93c5f1efa3de0081082d4f658c4d7ee39295e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30e391622d429cc1790625f642e16391010359827a9909552e933381b01f784b
MD5 bb9557cf2d4facd9ad775045d388d160
BLAKE2b-256 04afd73c785b5d2cb05e1d98b43213b541f09180c1bcec194940907597660753

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cfd6e2b9722a33886d6c48c9f7f722023a6b22092019761688da4e1fa8f0ccc
MD5 d4c02b15f29028d6a88d14c9529300bc
BLAKE2b-256 586f13cdda6639b5a8f1ba2784b1c13309ac7edf3c27175d100f39376c9f3bc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a93d21f2084da61d6992839192db9b86a25fb687c7220abedc56f5b3e5d163e8
MD5 6a3f61567f290977980d985e5363eb64
BLAKE2b-256 ae4cae3718bed9e86c1cb33ef61581ff39fa06f417d516a710ee85d4d61d0407

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sayiir-0.1.0a1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sayiir-0.1.0a1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 83699515b5a4df71c60dd1f4bfd5b80479ad9db01e9fba45bcc8bd268c518a60
MD5 e6d4ae466162dc00485872a886b2b853
BLAKE2b-256 8c2d373d43dd711bff51e9911559fb2b152add730db7d82e79a8885936f34733

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44b35d5b6834b5a5f10fdda73aa8dffa0b6e1050614128d3557d958e884e3822
MD5 3bbd39e72182b013086a0b2a640f0fe0
BLAKE2b-256 a594af34baefd3883820714bfe87d1feffa2a375b22b59831d97fdfbc1a813b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dfd7aa32c84dc7ad2432d25de0c42f14317c3f6d70493a3f34a91c6b4d5ac12f
MD5 40f274a90b58ddd7fdaa07d367f1dae0
BLAKE2b-256 ac776f99391ae7386e0dca8d8a69660b8e6414c2d9dc82baf96366a1cb5f656b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3aff59485e8f89e9a89d712938a802b33cd2ad4e7acc5dd3ad438d621cb49688
MD5 e87c5f50673e7cdc251f1d320deda673
BLAKE2b-256 191e9ecea56f3954108592865f27ba4d8e24f5ed4303bf4c3e64ab418e0b86dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sayiir-0.1.0a1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for sayiir-0.1.0a1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8703e461c1c3cb58b742e1079cd295d70d4b3b670b18fdc19ba8ab39c0e78d64
MD5 08c47cb45388ef3c3d85964a91b90d24
BLAKE2b-256 5809ae648cd68a70ecc2adfaef8f53679374b915cc9f820a3833d581eca8574f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sayiir-0.1.0a1-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on sayiir/sayiir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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