Skip to main content

Fast forward-mode automatic differentiation via dual numbers (C extension)

Project description

fastdual

Fast forward-mode automatic differentiation via dual numbers, implemented as a CPython C extension.

Computes exact gradients, Jacobians, and Hessians with minimal overhead — no taping, no graph construction, just numbers that carry their derivatives.

Install

pip install fastdual

Drop-in Gradients

Any function that works with floats works with Dual — no rewriting, no framework, no JIT warmup:

from fastdual import Dual, der

def my_function(x):
    return x**3 - 2*x + 1

x = Dual(3.0)
y = my_function(x)
dy_dx = der(y, x)  # 25.0 (exact derivative)

Quick Start

from fastdual import Dual, der
import numpy as np

x = Dual(3.0)
y = Dual(5.0)

z = x * y + np.sin(x)
print(z.val)        # 15.1411...
print(der(z, x))    # 5.99 (dz/dx = y + cos(x))
print(der(z, y))    # 3.0  (dz/dy = x)

Array Operations

from fastdual import DualArray, val, jac
import numpy as np

xs = DualArray([1.0, 2.0, 3.0])  # independent seeds

result = np.sin(xs) + xs ** 2
print(val(result))     # [sin(1)+1, sin(2)+4, sin(3)+9]
print(jac(result, xs)) # diagonal Jacobian

Automatic Jacobians

from fastdual import autojac
import numpy as np

@autojac
def f(x, y):
    return np.array([x**2 + y, x * y**2])

result, J = f(2.0, 3.0)
# result = [7.0, 18.0]
# J = [[4.0,  1.0],
#      [9.0, 12.0]]

Automatic Hessians

Second-order derivatives via hyper-dual numbers (also a C extension):

from fastdual import autohess

@autohess
def rosenbrock(x, y):
    return (1.0 - x)**2 + 100.0 * (y - x**2)**2

result, H = rosenbrock(1.0, 1.0)
# result = 0.0
# H = [[802, -400],
#      [-400, 200]]

Optimization

Automatic gradient computation for scipy.optimize.minimize:

from fastdual import minimize

def objective(x):
    return (x[0] - 1)**2 + 100 * (x[1] - x[0]**2)**2

result = minimize(objective, [0.0, 0.0])
print(result.x)  # [1.0, 1.0]

Pass hess=True for exact Hessians via hyper-dual numbers, enabling second-order methods (trust-ncg, Newton-CG, etc.) that converge in fewer iterations:

result = minimize(objective, [0.0, 0.0], hess=True)

Requires pip install fastdual[optimize].

Sparse Jacobians

For large systems with known sparsity, avoid redundant computation via graph coloring:

from fastdual import sparse_jac
import numpy as np

def f(x):
    return np.array([x[i-1] + x[i] + x[i+1] for i in range(1, len(x)-1)])

sparsity = ...  # boolean (m, n) array of known nonzero entries
J = sparse_jac(f, x0, sparsity)  # only n_colors << n forward passes

NumPy Integration

DualArray supports __array_ufunc__ and __array_function__ protocols:

from fastdual import DualArray
import numpy as np

x = DualArray([1.0, 2.0, 3.0])

np.sin(x)              # ufuncs
np.dot(x, x)           # dot product
np.sum(x)              # reduction
np.linalg.norm(x)      # L2 norm
np.linalg.solve(A, b)  # linear solve with gradient propagation

Supported Operations

Both Dual (first-order) and HyperDual (second-order) types are C extensions. All operations work as methods and (for Dual) as NumPy ufuncs.

Arithmetic

Operation Syntax Dual HyperDual
Addition a + b yes yes
Subtraction a - b yes yes
Multiplication a * b yes yes
Division a / b yes yes
Floor division a // b yes
Modulo a % b yes
Power a ** b yes yes
Negation -a yes yes
Absolute value abs(a) yes yes

Transcendental Functions

Available as methods (.sin()) on both types and via NumPy ufuncs (np.sin()) on Dual/DualArray.

Function Method Derivative
sin .sin() cos(x)
cos .cos() -sin(x)
tan .tan() sec²(x)
exp .exp() exp(x)
log .log() 1/x
sqrt .sqrt() 1/(2√x)
arcsin .arcsin() 1/√(1-x²)
arccos .arccos() -1/√(1-x²)
arctan .arctan() 1/(1+x²)
sinh .sinh() cosh(x)
cosh .cosh() sinh(x)
tanh .tanh() sech²(x)
arcsinh .arcsinh() 1/√(1+x²)
arccosh .arccosh() 1/√(x²-1)
arctanh .arctanh() 1/(1-x²)
exp2 .exp2() ln(2)·2ˣ
log2 .log2() 1/(x·ln2)
log10 .log10() 1/(x·ln10)
log1p .log1p() 1/(1+x)
expm1 .expm1() exp(x)
square .square() 2x
cbrt .cbrt() 1/(3x^⅔)

Binary Functions (Dual only)

These are available via NumPy ufuncs on Dual/DualArray.

Function Usage Description
arctan2 np.arctan2(y, x) Two-argument arctangent
hypot np.hypot(a, b) √(a² + b²) with gradient
maximum np.maximum(a, b) Element-wise maximum
minimum np.minimum(a, b) Element-wise minimum
copysign np.copysign(a, b) Magnitude of a, sign of b

Utility Functions

Function Method Dual HyperDual
sign .sign() yes yes
fabs .fabs() yes yes
conjugate .conjugate() yes yes
floor .floor() yes yes
ceil .ceil() yes yes

Predicates (Dual only)

np.isfinite(), np.isinf(), np.isnan() — check the primal value, return bool.

Comparisons

<, <=, ==, !=, >, >= — compare on primal value only.

API Reference

Function Description
Dual(value) Create an independent variable (seed)
Dual(value, seed=False) Create a constant (no gradient)
DualArray(values) Array of independent seeds from numeric input
der(result, wrt) Partial derivative of result w.r.t. a seed
val(array) Extract primal values from Dual array
jac(results, seeds) Full Jacobian matrix
autojac(fn) Decorator: fn(*floats) -> (values, jacobian)
HyperDual(f, f1, f2, f12) Hyper-dual number for second derivatives
@autohess Decorator returning (result, hessian) via hyper-dual numbers
minimize(fn, x0) scipy.optimize with automatic gradients
sparse_jac(fn, x, sparsity) Sparse Jacobian via graph coloring
reset() Reset variable ID counter

Performance

All hot paths are in C — both Dual and HyperDual types are C extensions with zero Python object allocation in the inner loop.

Dual: overhead vs plain floats

Operation Dual float overhead
Scalar add 123 ns 96 ns 1.3x
Scalar mul 123 ns 97 ns 1.3x
Scalar pow 165 ns 120 ns 1.4x
sin 142 ns 115 ns 1.2x
exp 148 ns 122 ns 1.2x
log 131 ns 114 ns 1.2x
np.sin (10) 2.5 us 832 ns 3.1x
np.sin (100) 6.9 us 1.8 us 3.8x

HyperDual: overhead vs plain floats

Operation HyperDual float overhead
Scalar add 92 ns 96 ns 1.0x
Scalar mul 93 ns 97 ns 1.0x
sin 103 ns 115 ns 0.9x
exp 97 ns 122 ns 0.8x

HyperDual carries 4 fixed doubles — no sparse gradient bookkeeping. Per-element arithmetic is nearly free compared to floats.

Jacobian: fastdual vs finite differences

Benchmark fastdual fin. diff. speedup
Jacobian 10x10 20.2 us 81.2 us 4.0x faster
Jacobian 20x20 45.6 us 239.4 us 5.2x faster

Jacobians use the C extension for forward-mode AD — one pass computes all partials simultaneously, vs n+1 function evaluations for finite differences.

Hessian: fastdual vs finite differences

Benchmark fastdual fin. diff. speedup
Hessian 5x5 14.1 us 184.7 us 13.1x faster
Hessian 10x10 71.9 us 1.0 ms 14.0x faster
Hessian 20x20 469.8 us 6.3 ms 13.5x faster

Hessians require n(n+1)/2 function evaluations (each with HyperDual arithmetic). For small n, finite differences with simple functions can be competitive. The hyper-dual approach shines when derivatives must be exact (no step-size tuning) or when the function involves transcendentals where finite-difference errors grow.

Gradient vs Hessian

How much more does a Hessian cost compared to a gradient for the same function?

Size Gradient (Dual) Hessian (HyperDual) ratio
5 variables 11.6 us 14.1 us 1.2x
10 variables 15.2 us 71.9 us 4.7x
20 variables 22.8 us 469.8 us 20.6x

Dual computes the full gradient in a single forward pass but carries a sparse gradient vector that grows with the number of variables. HyperDual uses 4 fixed doubles per element (no per-variable scaling), but needs n(n+1)/2 passes for the full Hessian. The ratio reflects this: Hessians are roughly O(n²) more expensive than gradients.

Test

pytest tests/ -v

Project details


Download files

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

Source Distribution

fastdual-0.3.1.tar.gz (61.2 kB view details)

Uploaded Source

Built Distributions

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

fastdual-0.3.1-cp313-cp313-win_amd64.whl (64.9 kB view details)

Uploaded CPython 3.13Windows x86-64

fastdual-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (174.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fastdual-0.3.1-cp313-cp313-macosx_11_0_arm64.whl (59.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastdual-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl (61.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastdual-0.3.1-cp312-cp312-win_amd64.whl (64.9 kB view details)

Uploaded CPython 3.12Windows x86-64

fastdual-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (174.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fastdual-0.3.1-cp312-cp312-macosx_11_0_arm64.whl (59.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastdual-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl (61.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastdual-0.3.1-cp311-cp311-win_amd64.whl (64.6 kB view details)

Uploaded CPython 3.11Windows x86-64

fastdual-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (169.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fastdual-0.3.1-cp311-cp311-macosx_11_0_arm64.whl (59.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastdual-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl (61.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastdual-0.3.1-cp310-cp310-win_amd64.whl (64.6 kB view details)

Uploaded CPython 3.10Windows x86-64

fastdual-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (167.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fastdual-0.3.1-cp310-cp310-macosx_11_0_arm64.whl (59.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastdual-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl (61.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file fastdual-0.3.1.tar.gz.

File metadata

  • Download URL: fastdual-0.3.1.tar.gz
  • Upload date:
  • Size: 61.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastdual-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a6f39a4bef7599f4ca4f18d3bef43e9d29116d7dba5ecef4281df487ad7e116a
MD5 479ded9e81168048e6c9ab629db29863
BLAKE2b-256 aac190def011cca8a5dc0a8c4abce7e474fef08a0a7f76c1bbebeddfc3171539

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1.tar.gz:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fastdual-0.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 64.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastdual-0.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b7c7c5dc8e43a8ffc126ade6558a795147dcf5250d84bd1e0b4294cd0872b965
MD5 b68eba20678355fff0bc78ddb198d25e
BLAKE2b-256 e2645a2969043de571b162f0dcaa915913fbcf2f1b3e843dc0b5ab1f617df7cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 843bad886c431ec8b2f77a71f2937e694f1652032b273c1bba35a35cf316fbae
MD5 03d9f740ea194ff68cd68fc949056fde
BLAKE2b-256 a17d066642461a84da48197f4136b022c2f09d335a303c471f76885fff13afe2

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b306ced60ae822967cf5dc8b06c063ac1a179e5c7b0d3579feccdb771b3c73b
MD5 c00753f029b2989a2971a55444e090d8
BLAKE2b-256 b1e056cdd9db8c552d644accbf58dc23f1ab233e23c147d8b674b3fd21281021

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 64f27c213ce30a53b4bffca515a1e840796c585bf5ecbf47e8856fbd32ca50cc
MD5 5858d29f78e42988afb7eca2034e02f4
BLAKE2b-256 d66c6e198b585f93a4590415b7441e5ee1aa1b200eeb4df71c8d424726429581

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fastdual-0.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 64.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastdual-0.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ab4237a94219539aea488c7eaf1c90345afb1010124162c8d39661554c0169d9
MD5 bd361d7cf439a31173129ebee9af44e0
BLAKE2b-256 38a6b4f15a7bea4b296e0588a1aee340438ad3b13ace748a7892bec0b86f53e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33fce6d28a5e99903ecfd8b42d342690ddfd2c9fbeef661fcc4ccdcf4a872d0f
MD5 c7c95138bf861b0206adb924cc902482
BLAKE2b-256 f327761e61f50e1fd80392b841acd95a39ffd37517e50d6fc83afacc36c111ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 924011733feec452d7a64629c98ba51119e358baeca6a814da995d85d9979df5
MD5 0b82da0e7fdb13f3ffbfce7b270ca37f
BLAKE2b-256 4914b832c4ead59121b8cbb5816b0b655674e8c91a9a50c01b1c10abf12d902f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4121c20f6b9d815e2d3489f87139749398fd6843788c22589621289da16658b2
MD5 ec4eaee0bb10090bd9867a480175b406
BLAKE2b-256 a56f08714521d7eda3b9d206355db3b462911a230876794389c010e88d4dd42e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fastdual-0.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastdual-0.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 29bd00ea1e963e2f5d57942fdd8af4be929420d41ea846a76a8df4489a33bcb1
MD5 050166bdb9387bd96d15d43a56b84c4c
BLAKE2b-256 ed6e6cc01e20eb6a6727e7eb8710284f3b9c4f83bbbcfb7302a61b3011648a76

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1057ef2a4f692edd0b02b87ec91bb3249fa450367a6eefd9045958330f5aac30
MD5 19f715704ce6ba49c7bbeaa30c20f8f2
BLAKE2b-256 3022b1f9d719b8232011325dbcbdcfba8ec105aa53a861ca2ef0be4da0c4abb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0af4080a2cf3469c1f927b292c350f3ea78d7ee4a31ac6d28d3826198fcc9793
MD5 118990959edb4f21055f2d65d11c73c2
BLAKE2b-256 9196e0fb21807ec7966a267b74ca5a42e6fe8c27e04115e0858ec24f0e998206

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5d9b3fb61e4d5d500873911c49798a2ad1d8c4657b18d4f23675f9edcd1f0192
MD5 4b4a84690127f841aaf6f58dce05ee4f
BLAKE2b-256 11e6e0d1a6ca2cde1c2e53850f2221682abfff4d6dc578194e5a3832a381976e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fastdual-0.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastdual-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9610d16b2472239cdc045b6a52cdd29b99db5803b1def61641ee28680b767ffb
MD5 5d479f28490b2923aaaacf184f983e8d
BLAKE2b-256 8557c25d5c5b63eff4afb87b6f136faaf00e8da98f72163564ae6703d842d8aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b75dae1999e85a7130968fd1ac16ea48ee7662564dca810d9d86dd5bb117b694
MD5 5f88806a8e269c10dc7b5845c956217c
BLAKE2b-256 9f7d0e6f3f6ae49608b8646c42fc51f510b28520609241a6b92e6bbc9173f54d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 879830b44621a8e0e95b085b90bf11a1add692b3beaedef34255b7eaf4d09635
MD5 def347dc74fb292b87e8b9220ac91949
BLAKE2b-256 90c8a2a511a8a3c490c72b3ddb6c6c7d0b51fa8b3dca26a2bb49f0d0c4d9079d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

File details

Details for the file fastdual-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastdual-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 91c5535a08f6f6d3e5188286b182a292441c5121fb3e0cb7507e0d3cb217b684
MD5 4d4be7363174e96670345bd73db10cd3
BLAKE2b-256 4cad152a8483d94d0a805a37b0612faa55461596bc9e8d0b8c56f625106c7a2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastdual-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on milanofthe/fastdual

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page