Signified
Documentation: https://dougmercer.github.io/signified
Source Code: https://github.com/dougmercer/signified
A fast, fully-typed Python library for reactive programming.
$ uv add signified
Why care?
signified is a reactive programming library built around four reactive data structures:
Signalstores a mutable value.Computedcalculates a read-only value.Effectruns an action when the values it reads change.Bindingis a stable handle that lets you switch between reactive values without rebuilding calculations that use it.
This allows us to create a network of computation, where one value being modified can trigger other objects to update.
We can write more declarative code, like:
from signified import Signal
x = Signal(3)
x_squared = x ** 2 # currently equal to 9
x.value = 10 # x_squared.value is now 100
Here, x_squared is a Computed object whose value is always equal to x ** 2. Neat!
In the above example, we generated the Computed object on-the-fly using overloaded Python operators like **, but we could have also written it using the computed decorator,
from signified import computed
@computed
def power(x, n):
return x**n
x_squared = power(x, 2) # equivalent to the above
To make something happen when a value changes, we can use an effect:
from signified import effect
@effect
def show(n):
print(n)
watcher = show(x_squared) # prints 100
x.value = 4 # prints 16
watcher.dispose()
Effects run once right away, then again whenever something they read changes until they are explicitly disposed or the effect is garbage collected.
In the above example, x_squared is wired to x. To swap what feeds a calculation without rebuilding it, use a Binding instead of Signal:
from signified import Binding
y = Signal(5)
base = Binding(x) # follows x, for now
cubed = power(base, 3) # currently equal to 64
base.value = y # cubed now follows y, and becomes 125
x.value = 10 # cubed ignores x now
A Signal can't do this. signal.value = y stores the y object itself, not its value.
Together, these data structures allow us to implement a wide variety of capabilities. In particular, I wrote this library to make my animation library keyed easier to maintain and more fun to work with.
Ready to learn more?
Check out the docs at https://dougmercer.github.io/signified, or try it in the Playground.
Metadata
Release files for signified 0.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| signified-0.7.2.tar.gz | 76.5 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| signified-0.7.2-cp312-abi3-win_amd64.whl | CPython 3.12 | abi3 | Windows x86-64 | Details |
| signified-0.7.2-cp312-abi3-pyemscripten_2026_0_wasm32.whl | CPython 3.12 | abi3 | PyEmscripten 2026.0+ WebAssembly | Details |
| signified-0.7.2-cp312-abi3-musllinux_1_2_x86_64.whl | CPython 3.12 | abi3 | Linux musl 1.2+ x86-64 | Details |
| signified-0.7.2-cp312-abi3-musllinux_1_2_aarch64.whl | CPython 3.12 | abi3 | Linux musl 1.2+ ARM64 | Details |
| signified-0.7.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| signified-0.7.2-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.12 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| signified-0.7.2-cp312-abi3-macosx_11_0_arm64.whl | CPython 3.12 | abi3 | macOS 11.0+ ARM64 | Details |
| signified-0.7.2-cp312-abi3-macosx_10_12_x86_64.whl | CPython 3.12 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 3.3 MB
Release files / signified-0.7.2.tar.gz
| Download URL | signified-0.7.2.tar.gz |
|---|---|
| Size | 76.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba1585b3116a61578faf8df0b22fa4d9fe0795866da37c9456b7a46e0d055edf
|
|
BLAKE2b-256 checksum How to use checksums |
9ce1c75e9392d1f88d9f19b0f3acafa89c8a45947b6b56147fc7c525789d56a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-win_amd64.whl
| Download URL | signified-0.7.2-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 262.5 kB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
f6eef7004c02f504a164811df3c4e9b74845d776daeceffca9a417c62a1b699b
|
|
BLAKE2b-256 checksum How to use checksums |
c53171cdd66104ea17f297a6f457ed405a7893d9e91228520cd4b88a35db1214
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-pyemscripten_2026_0_wasm32.whl
| Download URL | signified-0.7.2-cp312-abi3-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 151.1 kB |
| Tags | CPython 3.12 PyEmscripten 2026.0+ WebAssembly abi3 |
|
SHA-256 checksum How to use checksums |
d6365eb6a58b365085efcb28986687f4957dbf09dc2fc79ab9b5499a59e6f328
|
|
BLAKE2b-256 checksum How to use checksums |
9c02dd0abd4cf8009cf1ff7efd1a173335f3bab922004c9e4ca4527ef4a70d27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-musllinux_1_2_x86_64.whl
| Download URL | signified-0.7.2-cp312-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 620.9 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
68cd77b3aae959c17a7ada93b48ab324384c1dd5a643370d58c8ec07a5b1b048
|
|
BLAKE2b-256 checksum How to use checksums |
86e481c11d76218f7ae73c05ff94b0369b2bd9e223f880a0cd153e1358eb8824
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-musllinux_1_2_aarch64.whl
| Download URL | signified-0.7.2-cp312-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 590.2 kB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
3c390b70b8277a364a0735ae80e2ea5c4c8fe5f0b42edb8e9a1c856904121e94
|
|
BLAKE2b-256 checksum How to use checksums |
0636f12692990ecf62b6d6317d89fb9d2d06455ca473b98e5873b8e195b7d99f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | signified-0.7.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 413.6 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8003b78bbddcb6fdee52da05c128ca5a4fd9193af8748aa6d72894b0351b69eb
|
|
BLAKE2b-256 checksum How to use checksums |
8231b6e62ab6b2eabda2d56f6bf9265d87c53dbf8cab4757a5c648838a84d862
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | signified-0.7.2-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 411.5 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
08d19b57b4e46132ca22bd1b4238814ab8d0d05367b173349f3e944b3a2ea61d
|
|
BLAKE2b-256 checksum How to use checksums |
9ba3ee98391ff89bb2f03af64e2188822cf4a89f550dd0c3eed7e57607efee11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-macosx_11_0_arm64.whl
| Download URL | signified-0.7.2-cp312-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 374.4 kB |
| Tags | CPython 3.12 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a0b3a7ecda53b87a6755a1b3bee0d95b64df5a76baea0b99773444f81882334e
|
|
BLAKE2b-256 checksum How to use checksums |
06049a4a2b5184d210505b9b2b2fab8eebc9df67e738bfc63bdf3a4521e0d70e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency logRelease files / signified-0.7.2-cp312-abi3-macosx_10_12_x86_64.whl
| Download URL | signified-0.7.2-cp312-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 378.3 kB |
| Tags | CPython 3.12 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
e7ddbb1935dbb394926eb5066a2a687233887eb76872b8ea26ec6b33a52c6f67
|
|
BLAKE2b-256 checksum How to use checksums |
d1f7099002037d80b0a1ffac28c30f60822cef690cb2251821549b3fe6280afa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 16, 2026.
Transparency log