Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Sleipnir

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

Sleipnir is a reverse mode autodiff library, interior-point method, and NLP solver DSL for C++23 and Python. The DSL automatically chooses the best solver based on the problem structure.

#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<double> 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 python

from sleipnir.optimization import Problem


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

    x, y = problem.decision_variable(2)

    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 supports easy cross-compilation via CMake toolchain files, provides good performance by default, and contains clean reference implementations of various solvers with links to explanatory material.

The C++ API also supports arbitrary scalar types, so users can specify higher precision floating-point types at the cost of speed.

Install

The following platforms are supported:

  • 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)

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

include(FetchContent)

FetchContent_Declare(
    Sleipnir
    GIT_REPOSITORY https://github.com/SleipnirGroup/Sleipnir.git
    GIT_TAG main
    EXCLUDE_FROM_ALL
    SYSTEM
)
FetchContent_MakeAvailable(Sleipnir)

target_link_libraries(MyApp PUBLIC Sleipnir::Sleipnir)

To use Sleipnir in Python, install sleipnirgroup-jormungandr from PyPI:

pip install sleipnirgroup-jormungandr

If necessary, follow these instructions to build from source.

Docs

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

Examples

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

Benchmarks

See the benchmarks folder.

Contributing

See the contributing docs.

Metadata

Release files for sleipnirgroup-jormungandr 0.6.7.dev104

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sleipnirgroup-jormungandr 0.6.7.dev104
File Size Uploaded Provenance Actions
sleipnirgroup_jormungandr-0.6.7.dev104.tar.gz 151.3 kB With provenance Details for sleipnirgroup_jormungandr-0.6.7.dev104.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for sleipnirgroup-jormungandr 0.6.7.dev104
File Actions
sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_arm64.whl CPython 3.12 abi3 Windows ARM64 Details for sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_arm64.whl
sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details for sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_amd64.whl
sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_x86_64.whl CPython 3.12 abi3 Linux glibc 2.39+ x86-64 Details for sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_x86_64.whl
sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_aarch64.whl CPython 3.12 abi3 Linux glibc 2.39+ ARM64 Details for sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_aarch64.whl
sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-macosx_14_0_universal2.whl CPython 3.12 abi3 macOS 14.0+ universal2 (ARM64, x86-64) Details for sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-macosx_14_0_universal2.whl

Total release size: 4.4 MB

Release files / sleipnirgroup_jormungandr-0.6.7.dev104.tar.gz

Download URL sleipnirgroup_jormungandr-0.6.7.dev104.tar.gz
Size 151.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2e7236ed4ae9452496bcee9fb7e2f687540889ff2c6f3d65a5a66c6982638b51
BLAKE2b-256 checksum
How to use checksums
9f066e01e0a1d4c869a4a153b9381853989984ac2a59e4bcfc5771a4b1e4337c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_arm64.whl

Download URL sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_arm64.whl
Size 1.1 MB
Tags CPython 3.12 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
32cd59aaf9198b2e0f2a76f7eebbb4657cb2f95e6e4a16623342bd842768a649
BLAKE2b-256 checksum
How to use checksums
ff287353e85c9505983fe5d7a83fe9b22d12a95f88c85a4d55e2194612e2f6fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_amd64.whl

Download URL sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-win_amd64.whl
Size 898.8 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ffcd19ed6a6c1cbcd3525d4f7629e691ffa829ef7b7312aa51b3da48c771ccfe
BLAKE2b-256 checksum
How to use checksums
b4b894aeaf63b77dd4a5a8083a5f4ddd9cece271333ef01e3ae09d3834e0c9a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_x86_64.whl

Download URL sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_x86_64.whl
Size 585.0 kB
Tags CPython 3.12 Linux glibc 2.39+ x86-64 abi3
SHA-256 checksum
How to use checksums
0fc367a2d1027f1ff24c8e9b44043346af6d8ebeda5155ed11970f31974c53c5
BLAKE2b-256 checksum
How to use checksums
e7bb1c10037cbdc25cfe3838010ab78eab9143ccf4584f2a98d5cf63a6ae05bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_aarch64.whl

Download URL sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-manylinux_2_39_aarch64.whl
Size 528.1 kB
Tags CPython 3.12 Linux glibc 2.39+ ARM64 abi3
SHA-256 checksum
How to use checksums
18724273c62132d49f32b0aebfdf46de1eea3f0a5e178f141466b75db094ee96
BLAKE2b-256 checksum
How to use checksums
a732f0c3cf405152d7099409da883c13e34b9506a03550abbae34ef4be532564
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-macosx_14_0_universal2.whl

Download URL sleipnirgroup_jormungandr-0.6.7.dev104-cp312-abi3-macosx_14_0_universal2.whl
Size 1.1 MB
Tags CPython 3.12 abi3 macOS 14.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
bbc959201ba3717085bad3da78b95f5d1737ee093af7eec1ec97738cead26488
BLAKE2b-256 checksum
How to use checksums
2733367925bb236358d235a15192305928d7e2e1d82936b90b26dd4c459de79d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Security for sleipnirgroup-jormungandr 0.6.7.dev104

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for sleipnirgroup_jormungandr-0.6.7.dev104.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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