Skip to main content

A linearity-exploiting sparse nonlinear constrained optimization problem solver that uses the interior-point method.

Project description

Sleipnir

C++ Build Python Build PyPI Downloads Website C++ API Python API Discord

Sparsity and Linearity-Exploiting Interior-Point solver - Now Internally Readable

Named after Odin's eight-legged horse from Norse mythology, Sleipnir is a linearity-exploiting sparse nonlinear constrained optimization problem solver that uses the interior-point method.

#include <print>

#include <sleipnir/optimization/problem.hpp>

int main() {
  // Find the x, y pair with the largest product for which x + 3y = 36
  slp::Problem problem;

  auto x = problem.decision_variable();
  auto y = problem.decision_variable();

  problem.maximize(x * y);
  problem.subject_to(x + 3 * y == 36);
  problem.solve();

  // x = 18.0, y = 6.0
  std::println("x = {}, y = {}", x.value(), y.value());
}
#!/usr/bin/env python3

from jormungandr.optimization import Problem


def main():
    # Find the x, y pair with the largest product for which x + 3y = 36
    problem = Problem()

    x = problem.decision_variable()
    y = problem.decision_variable()

    problem.maximize(x * y)
    problem.subject_to(x + 3 * y == 36)
    problem.solve()

    # x = 18.0, y = 6.0
    print(f"x = {x.value()}, y = {y.value()}")


if __name__ == "__main__":
    main()

Sleipnir's internals are intended to be readable by those who aren't domain experts with links to explanatory material for its algorithms.

Benchmarks

flywheel-scalability-results cart-pole-scalability-results
flywheel-scalability-results-casadi.csv
flywheel-scalability-results-sleipnir.csv
cart-pole-scalability-results-casadi.csv
cart-pole-scalability-results-sleipnir.csv

Generated by tools/generate-scalability-results.sh from benchmarks/scalability source.

  • CPU: AMD Ryzen 7 7840U
  • RAM: 64 GB, 5600 MHz DDR5
  • Compiler version: g++ (GCC) 15.1.1 20250425

The following thirdparty software was used in the benchmarks:

  • CasADi 3.7.0 (autodiff and NLP solver frontend)
  • Ipopt 3.14.17 (NLP solver backend)
  • MUMPS 5.7.3 (linear solver)

Ipopt uses MUMPS by default because it has free licensing. Commercial linear solvers may be much faster.

See benchmark details for more.

Install

Minimum system requirements

  • Windows
  • Linux
    • OS: Ubuntu 24.04
    • Runtime: GCC 14 libstdc++ (run sudo apt install g++-14)
  • macOS
    • OS: macOS 14.5
    • Runtime: Apple Clang 16.0.0 libc++ from Xcode 16.2 (run xcode-select --install)

C++ library

To install Sleipnir system-wide, see the build instructions.

To use Sleipnir within a CMake project, add the following to your CMakeLists.txt:

include(FetchContent)

fetchcontent_declare(
    Sleipnir
    GIT_REPOSITORY https://github.com/SleipnirGroup/Sleipnir
    GIT_TAG main
    EXCLUDE_FROM_ALL
    SYSTEM
)
fetchcontent_makeavailable(Sleipnir)

target_link_libraries(MyApp PUBLIC Sleipnir::Sleipnir)

Python library

pip install sleipnirgroup-jormungandr

API docs

See the C++ API docs and Python API docs.

Examples

See the examples, C++ optimization unit tests, and Python optimization unit tests.

Build

Dependencies

  • C++23 compiler
    • On Windows 10 or greater, install Visual Studio Community 2022 and select the C++ programming language during installation
    • On Ubuntu 24.04 or greater, install GCC 14 via sudo apt install g++-14
    • On macOS 14.5 or greater, install the Xcode 16.2 command-line build tools via xcode-select --install
  • CMake 3.21 or greater
    • On Windows, install from the link above
    • On Linux, install via sudo apt install cmake
    • On macOS, install via brew install cmake
  • Python 3.9 or greater
    • On Windows, install from the link above
    • On Linux, install via sudo apt install python
    • On macOS, install via brew install python
  • Eigen
  • small_vector
  • nanobind (build only)
  • Catch2 (tests only)

Library dependencies which aren't installed locally will be automatically downloaded and built by CMake.

The benchmark executables require CasADi to be installed locally.

C++ library

On Windows, open a Developer PowerShell. On Linux or macOS, open a Bash shell.

# Clone the repository
git clone git@github.com:SleipnirGroup/Sleipnir
cd Sleipnir

# Configure; automatically downloads library dependencies
cmake -B build -S .

# Build
cmake --build build

# Test
ctest --test-dir build --output-on-failure

# Install
cmake --install build --prefix pkgdir

The following build types can be specified via -DCMAKE_BUILD_TYPE during CMake configure:

  • Debug
    • Optimizations off
    • Debug symbols on
  • Release
    • Optimizations on
    • Debug symbols off
  • RelWithDebInfo (default)
    • Release build type, but with debug info
  • MinSizeRel
    • Minimum size release build
  • Asan
    • Enables address sanitizer
  • Tsan
    • Enables thread sanitizer
  • Ubsan
    • Enables undefined behavior sanitizer
  • Perf
    • RelWithDebInfo build type, but with frame pointer so perf utility can use it

Python library

On Windows, open a Developer PowerShell. On Linux or macOS, open a Bash shell.

# Clone the repository
git clone git@github.com:SleipnirGroup/Sleipnir
cd Sleipnir

# Setup
pip install --user build

# Build
python -m build --wheel

# Install
pip install --user dist/sleipnirgroup_jormungandr-*.whl

# Test
pytest

Test diagnostics

Passing the --enable-diagnostics flag to the test executable enables solver diagnostic prints.

Some test problems generate CSV files containing their solutions. These can be plotted with tools/plot_test_problem_solutions.py.

Benchmark details

Running the benchmarks

Benchmark projects are in the benchmarks folder. To compile and run them, run the following in the repository root:

# Install CasADi and [matplotlib, numpy, scipy] pip packages first
cmake -B build -S . -DBUILD_BENCHMARKS=ON
cmake --build build
./tools/generate-scalability-results.sh

See the contents of ./tools/generate-scalability-results.sh for how to run specific benchmarks.

How we improved performance

Make more decisions at compile time

During problem setup, equality and inequality constraints are encoded as different types, so the appropriate setup behavior can be selected at compile time via operator overloads.

Reuse autodiff computation results that are still valid (aka caching)

The autodiff library automatically records the linearity of every node in the computational graph. Linear functions have constant first derivatives, and quadratic functions have constant second derivatives. The constant derivatives are computed in the initialization phase and reused for all solver iterations. Only nonlinear parts of the computational graph are recomputed during each solver iteration.

For quadratic problems, we compute the Lagrangian Hessian and constraint Jacobians once with no problem structure hints from the user.

Use a performant linear algebra library with fast sparse solvers

Eigen provides these. It also has no required dependencies, which makes cross compilation much easier.

Use a pool allocator for autodiff expression nodes

This promotes fast allocation/deallocation and good memory locality.

We could mitigate the solver's high last-level-cache miss rate (~42% on the machine above) further by breaking apart the expression nodes into fields that are commonly iterated together. We used to use a tape, which gave computational graph updates linear access patterns, but tapes are monotonic buffers with no way to reclaim storage.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

sleipnirgroup_jormungandr-0.0.1.dev484.tar.gz (114.9 kB view details)

Uploaded Source

Built Distributions

sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-win_amd64.whl (555.7 kB view details)

Uploaded CPython 3.13Windows x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_x86_64.whl (492.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_aarch64.whl (455.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-macosx_14_0_universal2.whl (870.8 kB view details)

Uploaded CPython 3.13macOS 14.0+ universal2 (ARM64, x86-64)

sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-win_amd64.whl (555.8 kB view details)

Uploaded CPython 3.12Windows x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_x86_64.whl (492.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_aarch64.whl (455.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-macosx_14_0_universal2.whl (871.1 kB view details)

Uploaded CPython 3.12macOS 14.0+ universal2 (ARM64, x86-64)

sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-win_amd64.whl (555.7 kB view details)

Uploaded CPython 3.11Windows x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_x86_64.whl (493.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_aarch64.whl (456.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-macosx_14_0_universal2.whl (871.2 kB view details)

Uploaded CPython 3.11macOS 14.0+ universal2 (ARM64, x86-64)

sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-win_amd64.whl (555.6 kB view details)

Uploaded CPython 3.10Windows x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_x86_64.whl (492.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_aarch64.whl (455.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-macosx_14_0_universal2.whl (870.5 kB view details)

Uploaded CPython 3.10macOS 14.0+ universal2 (ARM64, x86-64)

sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-win_amd64.whl (555.9 kB view details)

Uploaded CPython 3.9Windows x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_x86_64.whl (492.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_aarch64.whl (455.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ ARM64

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484.tar.gz.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484.tar.gz
Algorithm Hash digest
SHA256 1f07c5b6f63ce8e65c682c891b0c75f042274e4d1f9b43bcef47214a06896b33
MD5 3865aa7ace0b1391d9cc2861862d19f4
BLAKE2b-256 f2fa76f35a7cea159844aee1d7440058dfb00b25d7a02bfa601c87c93a40da6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484.tar.gz:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 da299738b49408070d6dc4c86bdf6d1cd635a12d3ff009747a043353f32219d6
MD5 b0e5cba457379ef66f4d48ccb4cf6fba
BLAKE2b-256 4f298f717699f242b3c3a0d397b1485247f93e818d86bc7e477e82a775e920ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-win_amd64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 48eb47183e0cacf440c080fd139f396c5d314e895e431034537c1c652b6465d4
MD5 f2a1d09b7c55b056cc9de8017bd4e9b9
BLAKE2b-256 1c19e1e61ea5541034d986d72da2cdcb60c7a7493728d6c16ccf9e17a87903ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_x86_64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 65aeb7cafbd1b44ecf4b977db9a81bc01634abf3fb9ce8605abfafb0acd3f911
MD5 9658c29cf250f8d348d20c46d53dd5ec
BLAKE2b-256 ad3efd7a307194774ea96a405d8a1e752f1579d86d9525368b4cdc2dd92080f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-manylinux_2_39_aarch64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 86d3119006334f7c52d298ca3aa9c86b61ef978358d6b7ccfeb952bac8d0195b
MD5 1bfc582acb8a3883ee3f57be7d63abe9
BLAKE2b-256 86b135c676a834e5953b1d3a8cbb05b168aed5119332e7e2b191fd9ec8588040

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp313-cp313-macosx_14_0_universal2.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6a64b68ef6cbe79a5221f7e155ffeacb879d5f45b5c80719f19740cda3de1b93
MD5 702d24c052331b8b7a4604075613e74d
BLAKE2b-256 eeaa927d4a11318b3fa34d6a5c8009c098889224ed5d6e386d5e6731353ad813

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-win_amd64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 2319e591341e9e75c6f42970f52c256eb7ac6455cd462aae32a4e7c9ac5c1b6d
MD5 b19b43aa10d03a3ddbb9e0f6597fe2e9
BLAKE2b-256 4e77488c38921e180f8a3f7dc1cd1fbbb07c6f633a668e7208acd6b2721e188e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_x86_64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 cd569772c55cf354410a96011f1e9cec99854b59d2713da24aa4d6a6e4c2f46a
MD5 832f8c0e03f691aa7bd6476ff159873b
BLAKE2b-256 a4c6c5d6fb34ff769b37409be364801c0b1c5b415d3fda4fb400ee4f3a1891c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-manylinux_2_39_aarch64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 e64ba98883ebcb7b9776e8033b3c2e6cc3a782d2470724353fb1c34589643872
MD5 db4d5f294aab9d45fa73de1c532ef19e
BLAKE2b-256 34dde51d595af101df58769cbd42dd4c2c4d9e49d9f20bde7c432b882f1cc585

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp312-cp312-macosx_14_0_universal2.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2085fa6539bd7637847966d8f6b79f425b07083f09438814c2f8f7f333a763e4
MD5 b77aef560b7e07e36b2de51944b70089
BLAKE2b-256 78503a81240946321ad1c2e32c90d97df59d0637d9a1b0b9cdeb087acad67de7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-win_amd64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6664ea69e50332a19117b634ce8a3ada303308c1a3ac8ebeb74120f182fac822
MD5 5624a513f77d68ad1aa6b0961518eb33
BLAKE2b-256 3ca659c6cb58f4b9055270936a06bf8150f6d713e26ca35df93918134878cff7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_x86_64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 462afad48fbfb1558fc81268bd7df1abcddd19f26bce16fb6b373767d7e04f4d
MD5 daf5d903d487ed27ff0d8450aa4e840f
BLAKE2b-256 169db3f52e2d386ae5f78897b8896b655abfd76ed0b03abba48856f56920c007

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-manylinux_2_39_aarch64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 786ae8ae433a8083734433bb11bfd0b8cc455de55ca9bc296153fc6198093756
MD5 fef19c36c7ee40aa08a2c75940da25d1
BLAKE2b-256 9e4af5523ccfc66384abaf2d234a959e0076ef49c42e47d7765c86d2a9741dbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp311-cp311-macosx_14_0_universal2.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7801431fd2262a6dc6ee7758817a6ea007a75728be8d05cc921f3f109034d1b4
MD5 694e352e8163a1ad79dabdf5964fd93e
BLAKE2b-256 1625dd854166f0f27f7167e71ef297a7fd977327fe129c6110053e7594cbbd1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-win_amd64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 495db20ea9dbe0154ad7fa9830c551f9c4f4b94b1fa7f43ca2b8f11fedfcd670
MD5 349a3c906bcccf4372ac0816ef9b372f
BLAKE2b-256 0fb0aca72de2ebaf235b141000722b37b0fbb250acf5904036514bf5c615df8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_x86_64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 93588e78691a1d90bfcda219da69f990550150e212aff1057f0d8f972dcdf039
MD5 7fb5089092585dbb9727dfe69dcc646b
BLAKE2b-256 81949a1d897339d53f1798d95fb5a597570bd60dde046cfe0a6f574886864259

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-manylinux_2_39_aarch64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 0a2c413301954c4a1ba431cb1d1b969618c5ffcfbef63a756c8685fec16efcd3
MD5 e4bd71ee22aef61373fdfeba711b7a15
BLAKE2b-256 089b79549d574d574502878141b1338c41122de4da25c109510dbffce053cd1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp310-cp310-macosx_14_0_universal2.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e88a1db8d4146e387f2786e88419fc9533a0af8317ac79d1ead09111e84a2d1e
MD5 66e3c418113af47bc194c8dbd954f627
BLAKE2b-256 5bbcddd25fbea4009c03ef7432cf8afcff97612df0488455226563ca0960676e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-win_amd64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 37e28d72efbc091e35c1cc07f83026b8cb69f8e56e2b36f03d92d9a34194b8d2
MD5 02d74a317c61c82dac4ee7cb1fd26a02
BLAKE2b-256 04b4533adc1edc72cfd48a44199d8fca88f2bd139f41fc9a24f1ca9c9a859d7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_x86_64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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

File details

Details for the file sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 7535a368dbd7297a5778560365a52ba51e411b7ffb30dfbc1a0cab9e683aceba
MD5 e90e2308c2d579340eb9a7767e4b453f
BLAKE2b-256 78ee9bd3f120dbb6edc4dd33fb109e94d5ce4169f07a7de1e151d08abddad653

See more details on using hashes here.

Provenance

The following attestation bundles were made for sleipnirgroup_jormungandr-0.0.1.dev484-cp39-cp39-manylinux_2_39_aarch64.whl:

Publisher: build-python.yml on SleipnirGroup/Sleipnir

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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page