Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.0.13 instead.
Reason given by maintainers: Broken Windows distribution (missing DLL)

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.11.tar.gz (113.6 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.11-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.11-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.11-cp314-cp314-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.14Windows x86-64

pyresin-0.0.11-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.11-cp314-cp314-macosx_26_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

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

Uploaded CPython 3.14macOS 14.0+ x86-64

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

Uploaded CPython 3.13Windows x86-64

pyresin-0.0.11-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.11-cp313-cp313-macosx_26_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ x86-64

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

Uploaded CPython 3.12Windows x86-64

pyresin-0.0.11-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.11-cp312-cp312-macosx_26_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ x86-64

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

Uploaded CPython 3.11Windows x86-64

pyresin-0.0.11-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.11-cp311-cp311-macosx_26_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ x86-64

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

Uploaded CPython 3.10Windows x86-64

pyresin-0.0.11-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.11-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.11.tar.gz.

File metadata

  • Download URL: pyresin-0.0.11.tar.gz
  • Upload date:
  • Size: 113.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyresin-0.0.11.tar.gz
Algorithm Hash digest
SHA256 9203115bd238fa10f60592c9e816548b54328682db94f382badef37c0f4bc2ec
MD5 0ef6c11b6cd87129e839c28d94d3b8f9
BLAKE2b-256 a6779444b932fe5e56d9937208c767295ee39144a78d95fd0cda348b6db4f057

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11.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.11-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9eccc525e668923b5d76be03ec9a1ad5f5eb6c435bae7f599935fcff550a1238
MD5 04085edeccd94dc2a24e15c545c2dcf2
BLAKE2b-256 ed0b56309fd1639bb6d3f22eab97443b67dc27996fd8e1bcd1f04cbf283260a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 296ddc1afd029a33aeffcac93adb9b59269e7463e83acf015c10765db8661082
MD5 627d21228d5881042653af3805df42d4
BLAKE2b-256 52876b7e57775e69e0894be22082bb4e0075db88d0a5627ad012fc69671b2f68

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.11-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/6.1.0 CPython/3.13.12

File hashes

Hashes for pyresin-0.0.11-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fc023f690ed211b04898dbb9252db34b389463bff5907ef3bf4a6710deb676fd
MD5 84df962230dfa49a3f1806817a0eda2e
BLAKE2b-256 f3a6c3412d803d6924ccdf67c204e337c6f7c5c209dc430db691ccc4ef4bdb17

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52c0c680421630237ab1348bac90078830fddc8e53e1a6e7dd0dabc286cec94e
MD5 15a3c29557e9f46e6ef3b6b0bfec7d37
BLAKE2b-256 3fbbbf698b7f4bc8e1f064e21ecd257c070d93999137a26d5a9ec942fc23b04a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 445251309bc348f928fcfdec8b1b93a96f1f006fe08a8882f1ae3e3e0a974c90
MD5 05d4236180d75cc8cf3405d5ee1600a7
BLAKE2b-256 f33fdc83fb5ee173d29e8f88ae586ec8bc8d95bc003cce0030e695e311d6366a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp314-cp314-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp314-cp314-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 496dc363803a94deb05f6c74570e08f63d435a1b7aea8bb6eb52146f926ac192
MD5 8ae9372764dd36980c8c122ef5188870
BLAKE2b-256 bb940b76814b89c65ae1e92b08009d20b334eb7619ea43d9a89662cd39f03585

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.11-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/6.1.0 CPython/3.13.12

File hashes

Hashes for pyresin-0.0.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7ac25694fc350a0f56f2f934d31882c8c76012d1e483e440e013339d5228bfbb
MD5 05fdfde7d3d7a5c40c9edc67ed7f2343
BLAKE2b-256 3dd18a78e525d51e31aa817fd2ee56f921b39dabdbdfd1aa839e5835a3fafe38

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 354ee79b310de3c7b86d230714ceff6aaddc005d2111c3c0d7082419dbc27381
MD5 db1ff8ada1ce06eaa88ddf3b06590d47
BLAKE2b-256 efd5974a4ae72a5ae3876d4af7310012c8239fc296e886e4061866ec3c6af951

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 dfe78115a273fdfda966adb8adc1f463fe5f77fea44bb81394e252fc45ec46b0
MD5 e71cf5d5c609ffef3940dc5d6655de86
BLAKE2b-256 6b4e20630f20be348442c7355e784f61542f91689dc76ea728233a076315e758

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 a45fa7c6b68fe0d7f48ce8a37e01106f6ba465f23d7fcc6dada2a30560bd5715
MD5 277b0dca00856e2f2d75354914ea50b6
BLAKE2b-256 27a311b3fa98148ba96044995a2fd80cff3ebf44236561ce7f7c382422b4e3f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.11-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/6.1.0 CPython/3.13.12

File hashes

Hashes for pyresin-0.0.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 470992174b0ea9f4177b03163f90d887aad8dd577d073a50edb21929a2d236d5
MD5 1508087fd0a031c80b5dfc47da2177c3
BLAKE2b-256 dda9b19f2b9657003dc3c2b9747ba1ad3623ed0c02c848b1089e3dbd02261e48

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e9324c09de2c24a1ea582ff367950541911a56973eb478cdfbae7a5603a5ce0
MD5 bd05f6c5936a9c2a2ffd1a221d31a00c
BLAKE2b-256 5314590ae9379762d997487c4c3f5034f2a222f7918e73a075967afe4370aa8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 7f4e12e9b1e7573fb5c3f44478f489c7bf0383b1d2f7a72379e17c3ebabe089e
MD5 a69ce393c4d2d965b9beb7bd6ba52150
BLAKE2b-256 74fb29a171b1123a4ac2fe3a13b997c5f690f6d1cf767d31c5401e5c69f8a550

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 e33d61715587a73ab181253bcf62e1cb25ddf320e6cfbb8ef40ae6a70ce80252
MD5 87e618afebf19a3ba7dae783ca3100dc
BLAKE2b-256 c3928eb3f6178af38cf80d8bda233125ef5f4207125f1ca838903e87c4bb9b4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.11-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/6.1.0 CPython/3.13.12

File hashes

Hashes for pyresin-0.0.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1433a6e57968540adc6a05499b199f83930d8b960cd5abe81add54472001d0ed
MD5 62374d4c856b35c40218a07a76f8bdcb
BLAKE2b-256 434f8f73332a7d1b229f45b68ff8e832950ab1e1301005438d166846a38e52f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 124e2a60cd42813470f05e14eb0394e8e634ae8e4c6e168d0815d4a150f4909d
MD5 230623c4914b6fc733ee61551f7407db
BLAKE2b-256 0325df60b88decbe0eef49a2106fb711ad5b423ff189a86ec39479191d9ddced

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 769851ebb56ee464cfcafd1dec8eb2ddaa3e4770c3dd0eeb3e5c4c865058fd86
MD5 34fb11076a586ffa29aaa46b1037117b
BLAKE2b-256 2bf74dd05b502075834ca55116a70a8b3226a2c62dd0434b36ad902b97036c34

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 f7733807ef223182c1afb4725dbcb5c688fda3bf538167f21989ecc2049bc855
MD5 274b0efd41b9106d654fb8fc03014353
BLAKE2b-256 53bf0f8f31f15e1e54af071b9b6899d3a0669ffe433c5c57dba518ecad9e7396

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyresin-0.0.11-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/6.1.0 CPython/3.13.12

File hashes

Hashes for pyresin-0.0.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 583ec37cbc77159c43deca8ffd8cfc437ef57ba5f80e5238be5b53cbee8a03e3
MD5 22405922fbf6743814cf74b1e804df7d
BLAKE2b-256 ae0c3f4d5c7372e63bdbecbc5810ed8b66811db7fbfb0778c470c3ebb2ca5871

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38b4952e77a020c5db9d895d7105ff24d0f5e645c720c606700d5070993b5f6d
MD5 4da8381c3fb91e8492b1b840fb7b135a
BLAKE2b-256 f672cc65160ef59e6d6779bee347edd7c32391f5ce67489378bb4d96e66faf17

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyresin-0.0.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73446b8ddb0695b6135cac78050f08858e16756f5ad429e52997a7aeb1c8f327
MD5 501b2c72b28afdd60da875f06b90ed34
BLAKE2b-256 7e517912228f2283be3b092e53bedf5a26fd7480dd5e472adcee1ef61eb59739

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyresin-0.0.11-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

0.0.13

22 files

0.0.12

22 files

This release

0.0.11 This release

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