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.dev80

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.dev80
File Size Uploaded Provenance
sleipnirgroup_jormungandr-0.6.7.dev80.tar.gz 143.9 kB With provenance Details

Built distributions (wheels)

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

Total release size: 4.3 MB

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

Download URL sleipnirgroup_jormungandr-0.6.7.dev80.tar.gz
Size 143.9 kB
Tags Source
SHA-256 checksum
How to use checksums
39577ca6906ffefd1af9891078dc8ce23722f763a9b3d65b3bbd32a28b333aee
BLAKE2b-256 checksum
How to use checksums
70d93332c6b405f1b43ac4aa1f58cd7eaa6784436496263688d887cf8cf53202
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 20, 2026.

Transparency log

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

Download URL sleipnirgroup_jormungandr-0.6.7.dev80-cp312-abi3-win_arm64.whl
Size 1.1 MB
Tags CPython 3.12 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
371ddb23f43d0ac25c9e345e39d1fdd0d38138fc3dd8337fd23769751604825a
BLAKE2b-256 checksum
How to use checksums
465c46cf7052a67496b9e7b2caab75a85af16de515138c52b7f29fbf57461f06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 20, 2026.

Transparency log

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

Download URL sleipnirgroup_jormungandr-0.6.7.dev80-cp312-abi3-win_amd64.whl
Size 908.3 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6e3da8942d5dcac7f7e26af699b9e432e57597ceecb09b5c1a8e1d7ad2801db4
BLAKE2b-256 checksum
How to use checksums
a69c8bf1a5f14e9fb6bd4300f1698167a9598ece33722aada740c12c782233eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 20, 2026.

Transparency log

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

Download URL sleipnirgroup_jormungandr-0.6.7.dev80-cp312-abi3-manylinux_2_39_x86_64.whl
Size 570.1 kB
Tags CPython 3.12 Linux glibc 2.39+ x86-64 abi3
SHA-256 checksum
How to use checksums
ad9176ff92b96d4a2a2f150c3362237b851fcc71ea9367eaee9cb2cb2e2de40d
BLAKE2b-256 checksum
How to use checksums
8c0fe069249be5e47c339934ccb86c87993f0452ccd2a18d4d1b83bd338bed7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 20, 2026.

Transparency log

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

Download URL sleipnirgroup_jormungandr-0.6.7.dev80-cp312-abi3-manylinux_2_39_aarch64.whl
Size 515.1 kB
Tags CPython 3.12 Linux glibc 2.39+ ARM64 abi3
SHA-256 checksum
How to use checksums
4832d998038e57d26f479421df5e01229da45d881c03ad4cb8e58d149b83b812
BLAKE2b-256 checksum
How to use checksums
a29e5135e0b1ccebe985f84d2b9b7c3c9029b6cc94c790144581b2e180e79d7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 20, 2026.

Transparency log

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

Download URL sleipnirgroup_jormungandr-0.6.7.dev80-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
375266793fcf9e8e05630bb65529ec5fda25feef96485e9ef29fc5970493e65b
BLAKE2b-256 checksum
How to use checksums
2b053eb4fd87809c13946dae9116aff6b9681112d83302ab19c9089a7e1f0213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 20, 2026.

Transparency log

Security for sleipnirgroup-jormungandr 0.6.7.dev80

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.dev80.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 20, 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.

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