This release is a pre-release and may not be stable for production use.
Sleipnir
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
- OS: Windows 11
- Runtime: Microsoft Visual C++ 2022 redistributable from Visual Studio 2022 17.13
- 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.dev42
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sleipnirgroup_jormungandr-0.6.7.dev42.tar.gz | 133.4 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-win_arm64.whl | CPython 3.12 | abi3 | Windows ARM64 | Details |
| sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-win_amd64.whl | CPython 3.12 | abi3 | Windows x86-64 | Details |
| sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-manylinux_2_39_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.39+ x86-64 | Details |
| sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-manylinux_2_39_aarch64.whl | CPython 3.12 | abi3 | Linux glibc 2.39+ ARM64 | Details |
| sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-macosx_14_0_universal2.whl | CPython 3.12 | abi3 | macOS 14.0+ universal2 (ARM64, x86-64) | Details |
Total release size: 4.2 MB
Release files / sleipnirgroup_jormungandr-0.6.7.dev42.tar.gz
| Download URL | sleipnirgroup_jormungandr-0.6.7.dev42.tar.gz |
|---|---|
| Size | 133.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4798c722cf0f63c221cbd860bf9daafcea998f7cd4a6ee28241330ae7a0d753a
|
|
BLAKE2b-256 checksum How to use checksums |
737882b7e2882957da09f9edf29e2507e451f7fc943754065b0eb2140b51ff91
|
| 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 12, 2026.
Transparency logRelease files / sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-win_arm64.whl
| Download URL | sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-win_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
67940baf1b31a7b199e6effe96d9690cb2dacb1323c88a702856e3b67be64a7c
|
|
BLAKE2b-256 checksum How to use checksums |
a0a2ae54ffcc8946907cdd6d4744d3c3c1612ef4bc1bc1774144762a72141228
|
| 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 12, 2026.
Transparency logRelease files / sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-win_amd64.whl
| Download URL | sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 901.4 kB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8bf549fc3a0afa7e37734137330aa192045920f1e6edff1c19dd9b23058eb8ce
|
|
BLAKE2b-256 checksum How to use checksums |
39e97f1344de4a76b75d9efc2056644a2e4925d19cc52794ac7eb0ae4c6a8be4
|
| 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 12, 2026.
Transparency logRelease files / sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-manylinux_2_39_x86_64.whl
| Download URL | sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 558.8 kB |
| Tags | CPython 3.12 Linux glibc 2.39+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
7b33a1dd5725516c9f943422dec319c88ca4c3d2e70ddf43c362ed0573262c57
|
|
BLAKE2b-256 checksum How to use checksums |
7ef9b41f2f521f344a0efa749784cab343a6586e944a6161b7acdcdb8e74f569
|
| 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 12, 2026.
Transparency logRelease files / sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-manylinux_2_39_aarch64.whl
| Download URL | sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-manylinux_2_39_aarch64.whl |
|---|---|
| Size | 505.1 kB |
| Tags | CPython 3.12 Linux glibc 2.39+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
0731d5aa5e09a32d559f2d6cc4cee5b78231761a30f9b8bd57c8515da853313d
|
|
BLAKE2b-256 checksum How to use checksums |
4aaac34c2cedbb20ae0a4029c8f447f3a9707b4a85d45819bd15ad7825c31ea1
|
| 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 12, 2026.
Transparency logRelease files / sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-macosx_14_0_universal2.whl
| Download URL | sleipnirgroup_jormungandr-0.6.7.dev42-cp312-abi3-macosx_14_0_universal2.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.12 abi3 macOS 14.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
1c092d50275eb1344cbf2871a8e4ca98f93ebab07079f1cbed54d04d4f31bc0d
|
|
BLAKE2b-256 checksum How to use checksums |
b51f94cc12a1ef36504f12f20ac0b56b73cbed7b8bcdc3357c5961a96c02618c
|
| 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 12, 2026.
Transparency log