Skip to main content

Resin — Reactive Signal Inference

CI Release PyPI version Python versions License: MIT

Resin is a probabilistic first-order logic programming language for building reactive inference pipelines over continuous, asynchronous data streams. Resin programs are compiled via Answer Set Programming (ASP) into Reactive Circuits: vectorised, self-adapting computation graphs that perform Algebraic Model Counting (AMC) in real time.

The core library is written in Rust. A Python package (pyresin) is published to PyPI and built with Maturin.

Installation

For employing Resin with Python, you can install the pre-compiled package via PyPI:

pip install pyresin

To use Resin with Rust, you may clone this repository and build locally with cargo.

The Resin language

A Resin program declares sources (incoming signals), rules (first-order logic), and targets (the quantities to infer).

Source types

Type Declared with ASP encoding
Probability a value in [0, 1] choice atom {name}.
Boolean true/false choice atom {name}.
Density a continuous distribution one choice per comparison threshold
Number a scalar value one choice per comparison threshold
Categorical a vector of class probabilities 1 { c₀ ; c₁ ; … } 1. exactly-one constraint

Syntax

Here is an example Resin program for an autonomous aircraft system navigating an urban environment.

# Source declarations
over(park)         <- source("/map/over/park", Probability).
distance(hospital) <- source("/map/distance/hospital", Density).
distance(airport)  <- source("/map/distance/airport", Density).
speed              <- source("/sensor/speed", Number).
flight_hours(w1)   <- source("/metrics/flight_hours/wing_1", Number).
flight_hours(w2)   <- source("/metrics/flight_hours/wing_2", Number).
flight_hours(w3)   <- source("/metrics/flight_hours/wing_3", Number).
flight_hours(w4)   <- source("/metrics/flight_hours/wing_4", Number).
{sunny, raining}   <- source("/weather", Categorical).

# Propositional rules
permitted if over(park) and speed < 25.

# First-order rules
critical_infrastructure(hospital).
critical_infrastructure(airport).
safety_distance(T) if critical_infrastructure(T) and distance(T) > 100.

# Conditional probabilities and Noisy-OR over first-order instantiations
wing(w1). wing(w2). wing(w3). wing(w4).
needs_checkup(W) <- P(0.9) if flight_hours(W) > 100 and wing(W).
any_wing_needs_checkup if needs_checkup(W).

# Target that the program will be constrained on
safe if permitted and safety_distance(T) and not any_wing_needs_checkup and not raining.
safe -> target("/output/safe").

Rules supports variables (uppercase arguments, in the example above W, T) and conjunctions (and); disjunctions are implemented through multiple clauses. Comparison literals (<, >) on Number and Density sources (ground atom left, constant literal value right) are mapped to the independent boolean or probability leafs, respectively. Categorical sources provide probabilities for mutually exclusive ground atoms that are assumed to sum up to 1.

In Python, using the Resin code from above, inference can be run over one of the supported commutative semirings:

from resin import Resin
semiring = "LogProb"  # default, otherwise use boolean, fuzzy, maxproduct, or probgradient
resin = Resin.compile(code, value_size=1, semiring=semiring)
result = resin.get_reactive_circuit().update()
# result["/output/safe"] contains resulting value

Semirings

Resin's inference algebra, and thereby the value which is computed per target, is selectable at runtime.
Every Resin program can be evaluated under a different semiring by changing the type parameter S in Resin::<S>::compile(...).

LogProb — standard probabilistic inference (default)

Computes the sum of probabilities of all satisfying worlds.

⊗ = product of probabilities  (log-space: addition)
⊕ = sum of probabilities      (log-space: numerically-stable logsumexp)

MaxProduct — Most Probable Explanation

Computes the single most-likely world.
The sum over minterms becomes a max, so the circuit returns the probability of the highest-weight satisfying assignment rather than the marginal.

⊗ = product   
⊕ = max

Fuzzy — degree of truth

Evaluates the program under Łukasiewicz / Zadeh fuzzy logic, treating input probabilities as membership grades.

⊗ = min (fuzzy AND)   
⊕ = max (fuzzy OR)

The result is the degree to which the target condition holds, dominated by the strongest single conjunction. For the same proximity model: max(min(0.8, 0.7), min(0.2, 0.7), min(0.8, 0.3)) = 0.7.

Boolean — satisfiability

Answers "is the target satisfiable?" by snapping all input probabilities to {0, 1} and evaluating with classical AND/OR. Returns 1.0 if any world satisfies the target, 0.0 otherwise.

⊗ = AND   ⊕ = OR   encode: p > 0 → 1, else 0

ProbGradient — forward-mode autodiff

Computes probabilistic inference and all partial derivatives using forward-mode automatic differentiation. The result vector for a circuit with n leaves has layout:

[WMC, ∂WMC/∂x₀, ∂WMC/∂x₁, …, ∂WMC/∂xₙ₋₁]

Currently, no batched operations are supported, hence the value_size parameter is ignored and automatically set to 1 + n_parameters. Because ProbGradient returns the full Jacobian, it enables gradient-based learning of leaf probabilities directly inside Resin.
With each gradient_update() call , the probability of the target is evaluated together with all gradients and can be used to tune program internal parameters:

import time
from resin import Resin

# An example program for the safe deployment of a quadcopter
code = """
flight_hours(w1)   <- source("/metrics/flight_hours/wing_1", Number).
flight_hours(w2)   <- source("/metrics/flight_hours/wing_2", Number).
flight_hours(w3)   <- source("/metrics/flight_hours/wing_3", Number).
flight_hours(w4)   <- source("/metrics/flight_hours/wing_4", Number).

wing(w1). wing(w2). wing(w3). wing(w4).
needs_checkup(W) <- P(0.9) if flight_hours(W) > 100 and wing(W).
any_wing_needs_checkup if needs_checkup(W).

safe if any_wing_needs_checkup.
safe -> target("/output/safety").
"""

# Setup training for simple example program
# Make sure to use ProbGradient semiring for computing gradients alongside probabilities
resin = Resin.compile(code, semiring="ProbGradient")
reactive_circuit = resin.get_reactive_circuit()

# Set all wings' flight_hours above 100 so the condition is active
for channel in [
    "/metrics/flight_hours/wing_1",
    "/metrics/flight_hours/wing_2",
    "/metrics/flight_hours/wing_3",
    "/metrics/flight_hours/wing_4",
]:
    writer = resin.make_writer(channel)
    writer.write([200.0], timestamp=None)
time.sleep(0.05)

# Training parameters
ground_truth = 0.5
learning_rate = 0.1
for timestep in range(500):
    result = reactive_circuit.gradient_update()

    # Updated weights was not enough to invalidate any circuit
    # -> Training converged
    if not result:
        break

    # Get inference and gradient results
    # Gradients are dictionary from leaf_name -> gradient
    probability = result["/output/safety"]["probability"]
    gradients = result["/output/safety"]["gradients"]

    # Finish once Man Squared Error (MSE) is small enough
    if abs(probability - ground_truth) < 1e-3:
        print(f"Converged at step {timestep}: P(safe) = {probability:.4f}")
        break

    # Compute MSE and perform gradient descent step
    # We set parameters to "needs_checkup#0" to only fit the conditional 
    # probability of the first clause with that head
    mse = 2.0 * (probability - ground_truth)
    resin.fit_parameters(
        gradients, learning_rate, mse,
        parameters=["needs_checkup#0"], timestamp=float(timestep),
    )

Gradient mapping for network outputs

When leaf probabilities come from a neural network, the gradients dict provides the upstream values to feed into the network's own backward pass. You can access all gradients related to your source channel via resin.source_gradients(channel_name) or resin.source_gradients_for(atom_name).

Note that you may have to combine gradients depending on your networks output layer, e.g., for a single output neuron that was used to provide a probability you need to compute full_gradient = gradient[atom] - gradient[-atom] to include the gradient on the negation.

Python API

Compiling a model

from resin import Resin

model = """
active <- source("/sensors/active", Boolean).
alarm if active.
alarm -> target("/output/alarm").
"""

resin = Resin.compile(model, value_size=1, verbose=False)

value_size sets the width of the internal value-space vector (e.g. number of particles or grid cells for vectorised evaluation). This is helpful for running the same Resin program for many problem instances in parallel.

Writing signals

Both make_writer(channel) and make_writer_for(atom) return a correctly typed writer for the declared source — the former looks up by IPC channel name, the latter by source atom name.

# Boolean source — by channel name
bool_writer = resin.make_writer("/sensors/active")
bool_writer.write([True], timestamp=None)

# Probability source — by atom name
prob_writer = resin.make_writer_for("over(park)")
prob_writer.write([0.73], timestamp=None)

# Density source — pass distribution name and parameters
# Every time parameters are written, the density function may change
density_writer = resin.make_writer("/map/distance/hospital")
density_writer.write("normal", [[25.0], [5.0]], timestamp=None)
# Supported distributions: "normal", "lognormal", "exponential", "uniform"

# Number source for scalar comparison
number_writer = resin.make_writer_for("speed")
number_writer.write([12.5], timestamp=None)

# Categorical source — flat vector of class probabilities
cat_writer = resin.make_categorical_writer("/classifier/digit")
cat_writer.write([0.1, 0.6, 0.3], timestamp=None)

Reactive Circuit adaptation

The underlying circuit can adapt its structure in response to changing signal frequencies: For example, to group source leafs in 0.1Hz wide bins, each bin being separated into its own group of circuits, you can run:

rc.adapt(bin_size=0.1, number_bins=10)

Alternatively, leaves can be lifted or dropped at runtime, meaning we may manually indicate that a leaf's value changes more or less often than others:

names = resin.get_names()
rc.lift_leaf(names.index("alarm"))
rc.drop_leaf(names.index("raining"))

Building from source

Requirements: Rust toolchain, Clingo, Python ≥ 3.9, Maturin.

macOS

brew install clingo
export CLINGO_LIBRARY_PATH=$(brew --prefix clingo)/lib
maturin develop --release  # Optional for building the Python package

Linux

pip install clingo
CLINGO_DIR=$(python3 -c "import clingo, os; print(os.path.dirname(clingo.__file__))")
export CLINGO_LIBRARY_PATH="$CLINGO_DIR"
maturin develop --release  # Optional for building the Python package

Run tests

cargo test

License

See LICENSE.md.

Citation

If you find our work useful, please consider citing the paper Reactive Knowledge Representation and Asynchronous Reasoning:

@article{kohaut2026reactive,
  title={Reactive Knowledge Representation and Asynchronous Reasoning},
  author={Kohaut, Simon and Flade, Benedict and Eggert, Julian and Kersting, Kristian and Dhami, Devendra Singh},
  journal={arXiv preprint arXiv:2602.05625},
  year={2026}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyresin-0.0.13.tar.gz (114.5 kB view details)

Uploaded Source

Built Distributions

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

pyresin-0.0.13-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyresin-0.0.13-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pyresin-0.0.13-cp314-cp314-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.14Windows x86-64

pyresin-0.0.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyresin-0.0.13-cp314-cp314-macosx_26_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

pyresin-0.0.13-cp314-cp314-macosx_14_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14macOS 14.0+ x86-64

pyresin-0.0.13-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pyresin-0.0.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyresin-0.0.13-cp313-cp313-macosx_26_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

pyresin-0.0.13-cp313-cp313-macosx_14_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13macOS 14.0+ x86-64

pyresin-0.0.13-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyresin-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyresin-0.0.13-cp312-cp312-macosx_26_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

pyresin-0.0.13-cp312-cp312-macosx_14_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ x86-64

pyresin-0.0.13-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

pyresin-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyresin-0.0.13-cp311-cp311-macosx_26_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

pyresin-0.0.13-cp311-cp311-macosx_14_0_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 14.0+ x86-64

pyresin-0.0.13-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

pyresin-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyresin-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file pyresin-0.0.13.tar.gz.

File metadata

  • Download URL: pyresin-0.0.13.tar.gz
  • Upload date:
  • Size: 114.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyresin-0.0.13.tar.gz
Algorithm Hash digest
SHA256 d9adc8a29d44b1b16672dbc1ecd425fccfa180aa99e2acfe62218fba358ff48a
MD5 976737cbf5b42f5b1da0a4c355b8af9a
BLAKE2b-256 891117c648766d01537fd9cc46311f9b3c2b793d4b14245d6240e9577b8e57da

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13.tar.gz:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af7a5c7062d15cebe1ae89a53cc92c676cf0871db14098a3a18aab8366bf4772
MD5 0fc730e0da4df17f4e38c6aea95c124c
BLAKE2b-256 934b3213de5eb0f225251ae5864bae537de0120b6b2e27fb2087401a53d74910

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1dd01f8ac5a0fe7d64e71d5ef0d547d04febc70fc58c37b06e5c0644eb286b6
MD5 a2a75941db17520e94dbd790bd0a8e29
BLAKE2b-256 3d935d46f34b2ff4a1629cc3047732d1028d6281e801efb0055a56894953828c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.13-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyresin-0.0.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 2d2f1101c84d681ded649840d095922500c905bec262662dd11766f2d716132b
MD5 98df83ea3c2934c1744c89f7ae076c02
BLAKE2b-256 85b936c328c501a2597c715c3934ffe2cdbf9182bd579c99ef35eb666311f82b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp314-cp314-win_amd64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2add0a6b6b1d0ae96e0d22dd9dbc0419b506ee3a2785b620e2f18563054d8b39
MD5 c45cfcb13c6b8979316c310ef1064eb1
BLAKE2b-256 eafc467ca5b242bb9ae864cafe9d25f08b3e52085b0d76d78c09a12fe7846c55

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 ce2485398b1eda4b41201f9bf94643c49e70cb78ee99baec622ea0256492f6f8
MD5 be94257aa215a20c23eb41ba04e85e68
BLAKE2b-256 a4d24540988dc417d8dd48870d3d99cdc9c2107fd96e3c5776c305e43bf15160

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp314-cp314-macosx_26_0_arm64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp314-cp314-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp314-cp314-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 769234ff17a2473d51fe2d009609237efb12ac45453d3dc9bf1ad0d1cf32603e
MD5 e4f16678dca08ec0ac1834915459b051
BLAKE2b-256 cb53690175ead40b6e00efdb328ecf2444f38763dbaa97f0084b2194aa7bf0a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp314-cp314-macosx_14_0_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.13-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyresin-0.0.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7074bb16c263ad53ec282b673a34009bd431c01ee07725262d6804232faf3f24
MD5 50f6c6ba8a6e45598e2268a7b632e9bf
BLAKE2b-256 ece7bbac48fb7a844e37ac2f2732705f04d52be4f4f96ff4c6b340de910afbd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp313-cp313-win_amd64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae118cd708337ed77214d4e383767b384d4a676aff53df0a39b3eae1f3280c26
MD5 960b2c7e1cc463b5a990562a3e014595
BLAKE2b-256 50fa7c6541b80d1dd33aacaa2006c247ec51f9679b013b8b9df9ba89b53ee61f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 1fcc18a5b8e9910262d234ccfc30fb588847f012d3fdd84ece09ec491bdac248
MD5 ab9f7a29c189ec4a1b66f2ee6b002859
BLAKE2b-256 289c662cba2cf077381839250b9f21fb6385e6433ee21c609d149a70f01db68d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp313-cp313-macosx_26_0_arm64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 a55e0c42f4ae75f8552050a1bc0f68354a18ec71263ebfce96f6e7e055d18f1f
MD5 8fa6015a45c319240d0bbed3e5187f48
BLAKE2b-256 b3e0e7ec1d24a30c7fb86128a82c5b30acf56346d8cbe76032c661ed84fd1614

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp313-cp313-macosx_14_0_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.13-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyresin-0.0.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 25be3a97d2a68018ff8ce202e8b3df7c96355f490556aaf12d92aaafbcbe5f8d
MD5 c4c918cb9261e2095d6b4218b25b7adb
BLAKE2b-256 1f23795081e88a266ea26f990e30b25118927d4bc3a4315bd67c239fe36cab1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp312-cp312-win_amd64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27ef319d1e33f4e3fc14ed23a3a8b484cbddc62f1fb4390d997e5c9c050562a1
MD5 fad486a73cac8f4452177887918b4003
BLAKE2b-256 22a5c5623062fbb3a8ba679746a1e02f319f65df517497cd53cc72c4bf6e6a6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 ea7f54aa5f1853d1d2f9a65f80f9f19c8a9089c51e648a35a911dbca32ddce51
MD5 8c227629fdefb1f58bab5c58323edaa1
BLAKE2b-256 591764b9d7a9ff7ee23ed17206ddca5a8a309b14709e8fa65568eb1b8d6d549d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp312-cp312-macosx_26_0_arm64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 92279b2f1ea7ed0219b95dba4938fe68b5d6c5fa1d245b45ac3ba85bf372287e
MD5 0fdc7c87d839f84081ef91e7e7f92f22
BLAKE2b-256 0054ba3b2ad9789503dfd364ce8d34feeaafd7a22c1f279af456578de8c627e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp312-cp312-macosx_14_0_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.13-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyresin-0.0.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a31cd9fa43d5d9e62523caa4f391f327abddf5f91b89c9ba4d0840200b169c18
MD5 4558625875742410e682c2cd68270164
BLAKE2b-256 329d1447c118d72335f862edd292053d0d1f7dc7b161dc377b8421eafc3a1269

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp311-cp311-win_amd64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5bdb9c6967bec3828caf1943826b918442a19fee905dac1b0f4df39d5e1d74e
MD5 597d660eb254f8e0a32ef9d044251fae
BLAKE2b-256 2fdc67e810b28245e81bf7616a1fa901ba39095a5403583dd4ef2ab0d5e1ee87

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 b04bc2073aaea825bc111047e2da5658b8f86bf3eb151d50e6f421a9048dbafe
MD5 3bd52c6d206d63ccadae01689491711a
BLAKE2b-256 a9de6927798d107a341004a832f66fbb9ec4ab44c0d2ae218eae9c8861c9b5b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp311-cp311-macosx_26_0_arm64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 abe941b3a20a6d02896d04557f87ce412b736cf39745d131b1408ddda8b4d42f
MD5 35133d53894976380c40d1e499055622
BLAKE2b-256 ec9a5938860b81e6d2bb16dc73dfcbc93d0d36e0c145569f6dd8783430fa3c24

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp311-cp311-macosx_14_0_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyresin-0.0.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b8a436a3292110e6313c848e06f29a887660f963d75c3df271f9314f478950a6
MD5 687ab2c7d3300a7c9201a02c9a414353
BLAKE2b-256 4cf8778c2f3ae01b557f882355f9771aeee2a47668963c5ce267e29982381b3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp310-cp310-win_amd64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c07e5ce862b37feb4758bbd3b6e544cf330d5741e6f6003b7982008d4de0cdd
MD5 9bf262b26af2cec30913c6cc23b6e4ab
BLAKE2b-256 7aaf421ddac0443fd77aa4a24fc14c4e7e81499fb6b184bec9ad829bd2c68ff3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

File details

Details for the file pyresin-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dcbe40f4f3b8fbce524ebe91eb7b1917146d5c04b2dc1dcb1b3d28b4debb6fb1
MD5 1ea270969f49de92719ebe2dfbd35e73
BLAKE2b-256 fbf71f93770a44c85e72a552219f583bbf696a88f2cdd7f68b5fc2ca2bcbb37d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi_release.yml on simon-kohaut/Resin

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

Release history Release notifications | RSS feed

This release

0.0.13 This release

22 files

0.0.12

22 files

0.0.11

22 files

0.0.10

21 files

0.0.9

21 files

0.0.8

21 files

0.0.7

29 files

0.0.6

29 files

0.0.5

29 files

0.0.4

31 files

0.0.3

31 files

0.0.2

31 files

0.0.1

38 files

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