Skip to main content

casty

PyPI Python Tests License

casty is a typed virtual actor framework for concurrent and distributed programming in Python.

As Hewitt describes, an actor is a primitive of concurrent computation that communicates with other actors through asynchronous messages. Upon receiving a message, an actor may:

  1. Send messages to actors whose addresses it knows.
  2. Create new actors.
  3. Determine how it will handle the next message it receives.

In casty, actors are defined as async Python functions decorated with @actor. Each function defines an actor type, and each (actor type, key) identifies a virtual actor with its own state and mailbox.

An actor processes one message at a time. The runtime manages activation and deactivation, and the same actor code can run in a single process or across a cluster with state replication.

Documentation · Examples · Issues

Installation

pip install casty

Or add it to a project with uv:

uv add casty

Requires Python 3.12 or later. The runtime is written in Rust. Installing from source requires Rust 1.90 or later.

A first actor

This counter updates its state and replies with the new total:

import asyncio
from dataclasses import dataclass

from casty import ActorSystem, Askable, Context, actor


@dataclass(frozen=True)
class Add:
    amount: int
    
@dataclass(frozen=True)
class Get(Askable[int]): pass


@actor(initial=0)
async def counter(ctx: Context[int, Add | Get]) -> None:
    async for msg in ctx.inbox:
        match msg:
            case Add(amount):
                await ctx.state.set(ctx.state.value + amount)
            case Get():
                msg.reply_to.tell(ctx.state.value)


async def main() -> None:
    async with ActorSystem() as system:
        views = system.ref(counter, "page-views")
        views.tell(Add(1))
        print(await views.ask(Get()))
        views.tell(Add(2))
        print(await views.ask(Get()))


asyncio.run(main())

Output:

1
3

Context[int, Add | Get] declares the state and message types. Askable[int] declares the reply type, and initial=0 provides the initial state of each counter.

system.ref(counter, "page-views") addresses one counter by its key. A different key has independent state. ask waits for a reply; tell sends a message without waiting for one.

State, messages and replies are serialized even within one process. Use immutable values, such as frozen dataclasses, tuples and frozensets.

An await inside the message loop delays the next message for that actor. To handle other asynchronous work while continuing to receive messages, use ctx.to_self or ctx.ask. Blocking calls can run through asyncio.to_thread.

Running a cluster

To join a cluster, configure the node's listening address, advertised address and seed nodes. In the example above, import Cluster and replace main with:

from casty import Cluster


async def main() -> None:
    cluster = Cluster(
        bind="0.0.0.0:7400",
        advertise="10.0.0.5:7400",
        seeds=("10.0.0.4:7400",),
    )
    async with ActorSystem(cluster=cluster) as system:
        views = system.ref(counter, "page-views")
        print(await views.ask(Add(1)))

Every node must have the same actor definitions, at module scope. The runtime routes messages to the node that owns each key and moves actors as nodes join, leave or fail. Placement uses consistent hashing, and membership is maintained through gossip.

By default, each key has up to three replicas, limited by the cluster size, and state writes wait for a majority of replicas to confirm. Both the replica count and the write level are configurable per actor type.

A Client sends messages to the cluster without hosting actors or participating in membership. See the cluster example and client example for runnable programs.

State and persistence

ctx.state.value reads the last saved state. await ctx.state.set(value) replaces it, and await ctx.state.update(change) applies a function and returns the saved result. Both wait for the configured write level to confirm before updating the local value.

State is kept in memory on its replicas. To preserve it across a full cluster restart, configure a store and declare the actor type with durable="write". A confirmed write then also waits for the store.

casty.stores.SQL supports PostgreSQL, MySQL, MariaDB and SQLite. Every node must reach the same stored records. The durable state example demonstrates recovery after stopping the entire cluster.

Schedules and collections

Actors can schedule messages with ctx.schedule. Schedules are saved with actor state and follow the actor when its owner changes.

Collections provides replicated counters, registers, dicts, sets, multimaps, queues, semaphores, locks and barriers over an ActorSystem or a Client. Collections are not durable.

The documentation covers the programming model, runtime implementation and public APIs in numbered chapters. The examples also cover state machines, messages between actors, streams and failure recovery.

Guarantees and limits

  • Message delivery is at most once. Messages from one node to one key arrive in order while the owner remains the same.
  • With majority writes, confirmed state survives the loss of a minority of replicas. The minority side of a network partition cannot write. With write="one", an ownership change can lose confirmed writes.
  • A failed or timed-out operation may have committed.
  • Reads are not linearizable. During ownership changes or after a long process pause, an actor may answer from stale state.
  • Side effects can repeat after an actor restarts or changes owner.
  • Losing every replica loses in-memory state. Use a durable store when state must survive that loss.
  • Schedules and leases depend on synchronized node clocks. Schedules can be missed or delivered twice during ownership changes; leases can expire while their holder is still running.

Contributing

Bug reports and pull requests are welcome. For a bug report, include a small reproducer and your Python and casty versions.

To set up the development environment and run the checks:

uv sync
make check

make check runs linting, type checks, the Rust and Python test suites, and documentation checks. After changing Rust code, rebuild the extension with make build. Run make help for the other development commands.

License

MIT.

Metadata

Release files for casty 0.31.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for casty 0.31.4
File Size Uploaded Provenance Actions
casty-0.31.4.tar.gz 409.5 kB With provenance Details for casty-0.31.4.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for casty 0.31.4
File Actions
casty-0.31.4-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details for casty-0.31.4-cp315-cp315t-win_amd64.whl
casty-0.31.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details for casty-0.31.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
casty-0.31.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Details for casty-0.31.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
casty-0.31.4-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details for casty-0.31.4-cp315-cp315t-macosx_11_0_arm64.whl
casty-0.31.4-cp315-cp315t-macosx_10_12_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64 Details for casty-0.31.4-cp315-cp315t-macosx_10_12_x86_64.whl
casty-0.31.4-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for casty-0.31.4-cp314-cp314t-win_amd64.whl
casty-0.31.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for casty-0.31.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
casty-0.31.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details for casty-0.31.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
casty-0.31.4-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for casty-0.31.4-cp314-cp314t-macosx_11_0_arm64.whl
casty-0.31.4-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details for casty-0.31.4-cp314-cp314t-macosx_10_12_x86_64.whl
casty-0.31.4-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details for casty-0.31.4-cp312-abi3-win_amd64.whl
casty-0.31.4-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details for casty-0.31.4-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
casty-0.31.4-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details for casty-0.31.4-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
casty-0.31.4-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details for casty-0.31.4-cp312-abi3-macosx_11_0_arm64.whl
casty-0.31.4-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details for casty-0.31.4-cp312-abi3-macosx_10_12_x86_64.whl

Total release size: 74.0 MB

Release files / casty-0.31.4.tar.gz

Download URL casty-0.31.4.tar.gz
Size 409.5 kB
Tags Source
SHA-256 checksum
How to use checksums
62f2d642edd4c19f5ea24ccfc3a57b212da368512ff3bd0e9c2fcf44f661a482
BLAKE2b-256 checksum
How to use checksums
65c3a298c23357ffc0b5c36071f1eb3a46f200ee6b9d299dbb87b7e6f8d87c0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp315-cp315t-win_amd64.whl

Download URL casty-0.31.4-cp315-cp315t-win_amd64.whl
Size 4.8 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
f82bbcb96995e1d72a911d6fdd14e983b7db9c3ccd41c8f0d1db4df010341596
BLAKE2b-256 checksum
How to use checksums
f6cc910c58cf819aec3fcf02b533e23cd7e77357fded7efa489f5afbfc1de35a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL casty-0.31.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.2 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
702340fb07aa9b53ab9566652bd155f9eba861ebd49fefbff3888fefd7f934d9
BLAKE2b-256 checksum
How to use checksums
0de28f1a66c299a0296e3f72f08e8dddb483084bd05ac782a00d8b2bbb97a413
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL casty-0.31.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 4.9 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d8170493b04460085aff5f795aff36aba3b543258067c1fa5149ca3c6cd55937
BLAKE2b-256 checksum
How to use checksums
5328e4850d03872db661013bb857f5039e534b98d6ca0fffeb5a3d5c51ac0286
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp315-cp315t-macosx_11_0_arm64.whl

Download URL casty-0.31.4-cp315-cp315t-macosx_11_0_arm64.whl
Size 4.6 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c61dd459b0c372c612d93887eacac9f666eb13d9938c8ae550a320cef52dc071
BLAKE2b-256 checksum
How to use checksums
39da25db812903c2b1823cc5f995c7de6a73d947267a05cd22636e965bd82030
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp315-cp315t-macosx_10_12_x86_64.whl

Download URL casty-0.31.4-cp315-cp315t-macosx_10_12_x86_64.whl
Size 5.0 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
74039a4708ff513e1e518ad18907dc1e6f3fb3f37254087dfb4774ae1fb9db27
BLAKE2b-256 checksum
How to use checksums
8e0373700d2fde97f96565111b62bf97ae8c57b7498dd282bf716c0e7cc4c04b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp314-cp314t-win_amd64.whl

Download URL casty-0.31.4-cp314-cp314t-win_amd64.whl
Size 4.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
76d15ed89e5e5b7b4297545ad16e23ac02e764b9223fa28b70b649572cbb2fea
BLAKE2b-256 checksum
How to use checksums
7f2bfb5ac955f0134aa7f723240cf9dbd751dc2c45ce3cd3ff54bc96d9373aa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL casty-0.31.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
701c7127faea37b519edd968f92ce47598bd9694f36593130937817c1ff3193e
BLAKE2b-256 checksum
How to use checksums
f17b05b9cb75972c4eb874bf475deae7d13bfc46e87129d946ffed5098259f8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL casty-0.31.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 4.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
624a54f112af20d0814dfad10126d9ded01758aa36963a3ff93806e8ba5ae965
BLAKE2b-256 checksum
How to use checksums
01f470aabc1a293b553babdf800877a883a4b9a73e13f1dd3ecb66c743dffbd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp314-cp314t-macosx_11_0_arm64.whl

Download URL casty-0.31.4-cp314-cp314t-macosx_11_0_arm64.whl
Size 4.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f8e7ff56cda275ee598a26b8907a4e841b0e5fcf7ec0f2f9d12915c6c1253548
BLAKE2b-256 checksum
How to use checksums
7cb8b3f8e6100ca3a1451d79ca1ce1d2cc52692d14eecdd1e98755f32fb62b35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL casty-0.31.4-cp314-cp314t-macosx_10_12_x86_64.whl
Size 5.0 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8a621ceec3bb48f205ef0b04aed9965e0ef0afca74eddab9a8c6dafae9b22eac
BLAKE2b-256 checksum
How to use checksums
8fc406567f67f9c15f5f26799dc7d5cbfb93187c46e070c53c0df8cc64c8a823
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp312-abi3-win_amd64.whl

Download URL casty-0.31.4-cp312-abi3-win_amd64.whl
Size 4.8 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
791d473e7c7b783d8e7bdfc872b88fa796888812a1816c5f802055dcac6f3438
BLAKE2b-256 checksum
How to use checksums
57d25e28c0f2f90de10407d5fd5fd84ee3722abb59be2bd0523e59d818123aeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL casty-0.31.4-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
c5daf46e42121333d727c77d53492d274040e346e711118c5a0ffea694e3d8b4
BLAKE2b-256 checksum
How to use checksums
f1038f666c9b0e770f95c7a5ce970c154e8852b4e0db2cf536c0c46dc9db040d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL casty-0.31.4-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 4.9 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
9a7207ae6053dd4dd82cba235726e8521682b3639f8c918d5ba6f0d87a27c460
BLAKE2b-256 checksum
How to use checksums
345dd91e8586c304d47129bdddb580b0acdb551713137bd1b688d4fb5f03bd55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp312-abi3-macosx_11_0_arm64.whl

Download URL casty-0.31.4-cp312-abi3-macosx_11_0_arm64.whl
Size 4.7 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
10f1b2bcdbc9e8b026d5087798d8ecfeeb6edf0fff039c478bfeac2cde719e61
BLAKE2b-256 checksum
How to use checksums
405d8beb2f4ebfb933f0bbef446c25115b7e515d1bf326c038be25f226853855
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / casty-0.31.4-cp312-abi3-macosx_10_12_x86_64.whl

Download URL casty-0.31.4-cp312-abi3-macosx_10_12_x86_64.whl
Size 5.0 MB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d367ee9d58682ac7d69c31a54a4509c26275768272c1003857a78512443adb16
BLAKE2b-256 checksum
How to use checksums
591278d52c15e757c4956cd02033f56913cb5af00a59bd091c09c6571b3331d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Security for casty 0.31.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for casty-0.31.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.31.4 This release

16 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page