Skip to main content

ADMM - Automatic Decomposition Method by MindOpt

Project description

ADMM: Automatic Decomposition Method by MindOpt

PyPI version Documentation Status License: MIT

ADMM (Automatic Decomposition Method by MindOpt) is a Python library for building and solving structured optimization models. You describe objectives and constraints in a natural mathematical style, and ADMM turns that model into an efficient numerical solve through automatic canonicalization, decomposition, and a high-performance C++ backend.

The core idea is simple: model the problem, not the solver internals. ADMM is designed for formulations that combine linear or quadratic terms, smooth fitting losses, nonsmooth regularization, affine constraints, matrix structure, and custom proximal terms.

For convex models, ADMM targets the global optimum. Through user-defined proximal extensions, it also supports selected nonconvex formulations such as exact sparsity, rank constraints, and manifold-style projections, where the solver acts as a practical local method.

Features

  • Model-first optimization workflow: Write the mathematics directly and let ADMM handle canonicalization, decomposition, and solver orchestration automatically.
  • Rich structured problem support: Combine linear and quadratic objectives, smooth losses, nonsmooth regularizers, affine constraints, and matrix-valued structure such as symmetry and PSD constraints.
  • Beyond standard convex modeling: Extend the library with custom proximal operators through UDFBase to handle selected nonconvex penalties and constraints, including L0, rank, and manifold-style projections.
  • Built for real applications: Use the same interface for portfolio optimization, sparse and regularized learning, covariance estimation, semidefinite modeling, compressed sensing, and signal or image processing.
  • NumPy-friendly Python API: Work naturally with scalars, vectors, and matrices in a concise Python interface instead of hand-coding low-level updates.
  • Fast backend, practical deployment: Run on a C++ backend with Python bindings across Linux, macOS, and Windows.

When to Use ADMM

ADMM is a strong fit when your model combines several structured ingredients in one formulation, such as:

  • linear or quadratic objectives
  • smooth fitting terms such as least squares, logistic regression, or Huber loss
  • nonsmooth regularization such as L1 or nuclear norm
  • affine equality or inequality constraints
  • structural constraints on variables such as nonnegativity, symmetry, or PSD
  • matrix-valued objectives such as trace, log-determinant, or Frobenius norm
  • custom proximal terms for advanced nonconvex modeling

Installation

From PyPI

pip install admm

This will automatically install all dependencies including admmlib (the pre-built admm C++ core dependency library).

From Source

git clone https://github.com/alibaba-damo-academy/admm.git
cd admm
pip install . -r requirements.txt

Quick Start

The following example shows a mean-variance portfolio optimization problem:

min    -mu^T w + gamma * w^T Sigma w
s.t.   sum(w) = 1,   w >= 0

The corresponding ADMM code:

import admm
import numpy as np

n = 20
mu = np.abs(np.random.randn(n))
F = np.random.randn(n + 3, n)              # random factor matrix
Sigma = F.T @ F + 0.1 * np.eye(n)          # covariance matrix (PSD)
gamma = 0.5                                # risk-aversion parameter

model = admm.Model()
w = admm.Var("w", n)
model.setObjective(-mu.T @ w + gamma * (w.T @ Sigma @ w))
model.addConstr(admm.sum(w) == 1)
model.addConstr(w >= 0)
model.optimize()

print(f"status: {model.StatusString}")
print(f"obj:    {model.ObjVal:.6f}")

Examples

The examples/ folder contains 34 standalone scripts covering every documented use case — from basic LP/QP to UDF-based nonconvex models. Each script runs independently:

python examples/portfolio_optimization.py
python examples/sparse_logistic_regression.py
python examples/udf_l0_norm.py

See examples/README.md for the full list.

User-Defined Proximal Functions

The udf/ folder ships 15 ready-to-use proximal operators for nonconvex and convex penalties (L0, rank, manifold projections, etc.) that go beyond standard convex modeling tools. Example usage:

from udf.L0Norm import L0Norm

model.setObjective(0.5 * admm.sum(admm.square(x - y)) + lam * L0Norm(x))

See udf/README.md for the full class list, how to write your own, and how to contribute.

Documentation

Building from Source

Prerequisites

  • Python >= 3.8
  • C++ compiler (GCC, Clang, or MSVC)
  • Cython >= 0.29.0, setuptools >= 61, NumPy >= 1.20.0, SciPy >= 1.7.0
  • admmlib >= 2026.4.4 (pre-built C++ core dependency)
  • xelatex / latexmk (only needed for PDF documentation)

Supported Platforms

  • Linux: x86_64 (GCC)
  • macOS: ARM64 (Apple Silicon, Clang)
  • Windows: x86_64 (MSVC)

Build and Install

pip install . -r requirements.txt

Run Tests

pytest tests/                # all tests
pytest tests/test_ut.py      # unit tests
pytest tests/test_admm.py    # application tests
pytest tests/test_udf.py     # user-defined function tests
pytest tests/test_doc.py     # documentation example tests

Build Documentation Locally

cd docs
bash build.sh

Open docs/_build/html/index.html in your browser. To build HTML only (without LaTeX/PDF):

cd docs
python -c "import genrst; genrst.writeRst()"
python -m sphinx -b dirhtml ./ ./_build/html

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines, including how to contribute new user-defined proximal function classes under udf/.

Citing ADMM

If you use ADMM in your research or work, please cite:

@software{admm2026,
  title  = {{ADMM}: {A}utomatic {D}ecomposition {M}ethod by {MindOpt}},
  author = {{MindOpt Team, Alibaba DAMO Academy}},
  year   = {2026},
  url    = {https://github.com/alibaba-damo-academy/admm},
  note   = {Open-source Python library for structured optimization}
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

This project is maintained by the MindOpt Team at Alibaba DAMO Academy.

Support

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

admm-1.0.0-cp313-cp313-win_amd64.whl (313.9 kB view details)

Uploaded CPython 3.13Windows x86-64

admm-1.0.0-cp313-cp313-manylinux_2_17_x86_64.whl (389.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

admm-1.0.0-cp313-cp313-manylinux_2_17_aarch64.whl (366.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

admm-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (396.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

admm-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl (419.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

admm-1.0.0-cp312-cp312-win_amd64.whl (312.6 kB view details)

Uploaded CPython 3.12Windows x86-64

admm-1.0.0-cp312-cp312-manylinux_2_17_x86_64.whl (388.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

admm-1.0.0-cp312-cp312-manylinux_2_17_aarch64.whl (365.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

admm-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (398.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

admm-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl (422.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

admm-1.0.0-cp311-cp311-win_amd64.whl (336.4 kB view details)

Uploaded CPython 3.11Windows x86-64

admm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.whl (417.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

admm-1.0.0-cp311-cp311-manylinux_2_17_aarch64.whl (394.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

admm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (405.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

admm-1.0.0-cp311-cp311-macosx_10_13_x86_64.whl (427.9 kB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

admm-1.0.0-cp310-cp310-win_amd64.whl (335.9 kB view details)

Uploaded CPython 3.10Windows x86-64

admm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

admm-1.0.0-cp310-cp310-manylinux_2_17_aarch64.whl (394.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

admm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (401.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

admm-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

admm-1.0.0-cp39-cp39-win_amd64.whl (336.3 kB view details)

Uploaded CPython 3.9Windows x86-64

admm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.whl (418.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

admm-1.0.0-cp39-cp39-manylinux_2_17_aarch64.whl (396.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

admm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl (401.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

admm-1.0.0-cp39-cp39-macosx_10_13_x86_64.whl (424.0 kB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

File details

Details for the file admm-1.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: admm-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 313.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for admm-1.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 740bc8760bfd78e6c1c39c79d5b34de9800c87a7d6487bf4cb5aab274953b7f6
MD5 ad039ec4f2388c718f86de9808085ae8
BLAKE2b-256 836a3d4bc5fa7d384c0b659e17cd944f066229a4fc11e4b4f89277622fa790ec

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp313-cp313-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp313-cp313-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1affdd529262b7360e6d16a833050b8db87ff1843456d9cf3c1004ff6c07139b
MD5 5852003033183c4470fcd3257f46b6ae
BLAKE2b-256 f27ed92a5b48b4dd24f6f3b05c484e4ae79d3dd21dffdf471adf47cc6623c7f3

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp313-cp313-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp313-cp313-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 34aee37cea4ade46d36259b6b708a4a9dc1ea6362829db4fd4c9ca6dfe5d47dc
MD5 08c48a98ab1d79c151aeb02cf604c393
BLAKE2b-256 50fedd898a365c60496e863c770068f8a495969b8be4f2eae6ff7783874fafa1

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f817db88aca04238dd63e53a7a838bf9b681bd072402e7c01b527345805c79a9
MD5 0c8dcb622b72921a687c56dea4fbd712
BLAKE2b-256 8bfd930928ec2b37710ade3ae64df5de24acdd8c4f2edf851a9e5545a544feb9

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1f3ca17621d59f5ebcf3bd2fc51f6bc08b691aee70914815a49fce82814e166e
MD5 efec90c4b9a80542f01b6e4223a00be9
BLAKE2b-256 53be3af3099689136d988bfbeb156ad28cd84e266e6ed48e56c4c01c6883ebf5

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: admm-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 312.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for admm-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bef451a1734cc4ed1de9be41220aea5b63c01ecb993ed866f694d6c7f05921a6
MD5 b5a6cb194815eecc9ab43a24283730a8
BLAKE2b-256 e3423a8c61a0e5d4a7e4d0bcd44fca38efb00dc0770ea954299c1d2e3c2697b1

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp312-cp312-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp312-cp312-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 aa2cc3008dbc22a3de2a0d8f8c59e9cb7f25e28d42eab4a68e5533cecf1f4948
MD5 2db09159bdfc2c2e2fd21955fa2daa91
BLAKE2b-256 5b0cdea1a02db0bc5ea2cf6fab7dda394d2200191da2e086774e5de5ae519c92

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp312-cp312-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp312-cp312-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 4c1ad1888e06d92af88eaa192d6fd3ed0971ced337897e46cfc061c4c4ac39d4
MD5 d7bab55f3eca88273ac2cb5cc497adcd
BLAKE2b-256 f5b3c1a5a6bbd8e32a443cc62a45b0e1a1f8b815f60e0445c24352546a73f9ec

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef786a82f5beb353dedca47124583f66fdf5f1deaf6873a123697c76faffe9de
MD5 eebb398e3f8d7ee126c637dbb597cecd
BLAKE2b-256 1bda4f253c0ca6a5efe7659bfa87e48827652c6457dc75f2865e177d23c4a4a5

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 efb2e649d14004b1b3a57e4c5187a57df083101d88bab2f70e922b7858bf27c7
MD5 7af4e77e3ad6c70662e70ea62e92979c
BLAKE2b-256 175eb91c2cda4706560342b8e447087608f153d5842cea242b6f630fd9d0366b

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: admm-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 336.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for admm-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f1dc6507ca9a5afc362462988d381a1e918c4b0b43833364374336ebc9f1aa24
MD5 4d15b146ea5879730627fcadb742e144
BLAKE2b-256 119a74f6814ffb57d692c5f92579107f7ea186053ca7fc6c5f6701f1e46e5cbe

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a184517dbb504de235cfc17b639c5c6c1fcbb93e5a9a9eaec37ab6817dc491e9
MD5 007bfc4d86d30f023f951bc40bf1ff55
BLAKE2b-256 3d1925b6aacf86067a78a678296c7295eb33add51b8f203ca47d3db1858ed793

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp311-cp311-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp311-cp311-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 e255d300144244c88fdc58346b0f1894032f1244b49521aecfc2859a17370098
MD5 75c0beb7bdeea87bb1db0a7a7b0fa2b0
BLAKE2b-256 224977d52d4342c6dcd682858c6639d401790f2fc915f8a6312fb8dd17645277

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f4c2443543725eaf2c037fe60e8bc24b4cd95fb6494833de2c13092df35362f
MD5 1c957819a3592ce0d7eee08b3533c5c6
BLAKE2b-256 c67cda570a0131cda1271c8a995ea3b29be5c0fca81abf28d431ea9f616e6ab2

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 84a62acc4779669acf213abdc1509fdf4e47020969a2ae3b75bb3ef24aa43b8d
MD5 1d1a775b908b6804305f9fcd70ec02f0
BLAKE2b-256 fee90bb9488899ce17d05983f03a78afdd61f85cc81c4c601d2a84bcaa6534b7

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: admm-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 335.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for admm-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 07afcb4c078ded4f00faa25199378d19c30fa0560c0cff2ebb8cadbc174f6e79
MD5 d352f433d044bc4b1a52676c3538e934
BLAKE2b-256 b71dfee07566450705e1804c3263a3da171c2e898bb257a932705a903e47e674

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 27f3d57e8befcd996d90f0cadd1599bb1406c675a038b04e18be0cffc2818b3c
MD5 459582c79ae7aee6b1436c8d09f7dda4
BLAKE2b-256 b0e27d023574c2a072c833f6604ca3fa341bdf40ecc08e00e821304ba4b6e958

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp310-cp310-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp310-cp310-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 38a1a1df587e6d9647820c3fbbf3508c7e069ce4e57d80e99cb5a2d07b5528cc
MD5 730f8436e3c66f0b6e7f073ce79a1d50
BLAKE2b-256 06259ec00449b259932479bb424b127a0d5cbca03bbf7bc23ede8901ae44447c

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3d61655f9f7a0381bf2f6a47b2c1da3365fdeae781e21b9a92816e569ff9ff0
MD5 3e7fc8d3939422c8022f4d5a9f303a01
BLAKE2b-256 99d98c20f89f1082b6994496bd30b232a8ac3ee296264718ccae6ea3389b2f41

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c5e5e4f13002ed830a542b9a435d4775febd35c8af69d66940c514d7a2afa9b2
MD5 03fcfef6b706e7830b3ccf200aee63cc
BLAKE2b-256 50ff07ee58d6225cf0521da7ba9d5019df06be9314336caeb223c3e1ed745ea3

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: admm-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 336.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for admm-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ce9d28c829243e98108beb8033ab51b05884677ca72da2282588c7305ab82ddd
MD5 5fefd38b623b013b69b484a7f77682ae
BLAKE2b-256 ca15dc4a19bca79b1191d98849e38ecfd92df4de468c007f83f17592b5eb7611

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.whl.

File metadata

  • Download URL: admm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 418.9 kB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for admm-1.0.0-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b6ef6a46179254512142a876991cc24621fd2d97d422b3d4ef45c63c4806139b
MD5 579626dba79f35cdfcdc605ec1bbdccc
BLAKE2b-256 1ccfe243a8444d37135ba19562c898164750bf2391f2731c1013cdddc0f9b3d6

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp39-cp39-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp39-cp39-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 902847e5ac39798a390e1e367ec98aeb79e77464720c5e39f90f7e45c50f5d60
MD5 dc63d0e0150edb21fcc3ff778796fa3b
BLAKE2b-256 c088a9793e2808967d81e942995ceecdf3e2dd97b674666f53f5115bb80f1279

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: admm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 401.6 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for admm-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79552a384c3198826659a7c5a3abb22d6dc848802784cfa1e906fd44c47da8fd
MD5 7b30f8f45e6e74c56b735e6d585bab08
BLAKE2b-256 538ad7d40aae51674a938b687c4d7694fb656bca10f59f74926d47a7febbdeeb

See more details on using hashes here.

File details

Details for the file admm-1.0.0-cp39-cp39-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for admm-1.0.0-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 62c323a8d917924d1cb81adf39705162a8a400310ec1658ddf46fde315eeebc4
MD5 7d85b632f7344375cbc66dc0ca098a53
BLAKE2b-256 d07803ccd597fcebeac10794debf17589ff2fa1e7c9d882f8b88364cf0885277

See more details on using hashes here.

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