Skip to main content

Python API for AMPL

Project description

AMPLPY: Python API for AMPL

# Install Python API for AMPL
$ python -m pip install amplpy --upgrade

# Install solver modules (e.g., HiGHS, CBC, Gurobi)
$ python -m amplpy.modules install highs cbc gurobi

# Activate your license (e.g., free https://ampl.com/ce license)
$ python -m amplpy.modules activate <license-uuid>

# Import in Python
$ python
>>> from amplpy import AMPL
>>> ampl = AMPL() # instantiate AMPL object
# Minimal example:
from amplpy import AMPL
import pandas as pd
ampl = AMPL()
ampl.eval(r"""
    set A ordered;
    param S{A, A};
    param lb default 0;
    param ub default 1;
    var w{A} >= lb <= ub;
    minimize portfolio_variance:
        sum {i in A, j in A} w[i] * S[i, j] * w[j];
    s.t. portfolio_weights:
        sum {i in A} w[i] = 1;
""")
tickers, cov_matrix = # ... pre-process data in Python
ampl.set["A"] = tickers
ampl.param["S"] = pd.DataFrame(cov_matrix, index=tickers, columns=tickers)
ampl.solve(solver="gurobi", gurobi_options="outlev=1")
assert ampl.solve_result == "solved"
sigma = ampl.get_value("sqrt(sum {i in A, j in A} w[i] * S[i, j] * w[j])")
print(f"Volatility: {sigma*100:.1f}%")
# ... post-process solution in Python

[Documentation] [AMPL Modules for Python] [Available on Google Colab] [AMPL Community Edition]

amplpy is an interface that allows developers to access the features of AMPL from within Python. For a quick introduction to AMPL see Quick Introduction to AMPL.

In the same way that AMPL’s syntax matches naturally the mathematical description of the model, the input and output data matches naturally Python lists, sets, dictionaries, pandas and numpy objects.

All model generation and solver interaction is handled directly by AMPL, which leads to great stability and speed; the library just acts as an intermediary, and the added overhead (in terms of memory and CPU usage) depends mostly on how much data is sent and read back from AMPL, the size of the expanded model as such is irrelevant.

With amplpy you can model and solve large scale optimization problems in Python with the performance of heavily optimized C code without losing model readability. The same model can be deployed on applications built on different languages by just switching the API used.

Documentation

Repositories:

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

amplpy-0.16.0b0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

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

amplpy-0.16.0b0-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

amplpy-0.16.0b0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

amplpy-0.16.0b0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

amplpy-0.16.0b0-cp313-cp313-macosx_10_13_x86_64.whl (928.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

amplpy-0.16.0b0-cp313-cp313-macosx_10_13_universal2.whl (1.2 MB view details)

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

amplpy-0.16.0b0-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

amplpy-0.16.0b0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

amplpy-0.16.0b0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

amplpy-0.16.0b0-cp312-cp312-macosx_10_13_x86_64.whl (929.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

amplpy-0.16.0b0-cp312-cp312-macosx_10_13_universal2.whl (1.2 MB view details)

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

amplpy-0.16.0b0-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

amplpy-0.16.0b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

amplpy-0.16.0b0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

amplpy-0.16.0b0-cp311-cp311-macosx_10_9_x86_64.whl (934.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

amplpy-0.16.0b0-cp311-cp311-macosx_10_9_universal2.whl (1.2 MB view details)

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

amplpy-0.16.0b0-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10Windows x86-64

amplpy-0.16.0b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

amplpy-0.16.0b0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

amplpy-0.16.0b0-cp310-cp310-macosx_10_9_x86_64.whl (926.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

amplpy-0.16.0b0-cp310-cp310-macosx_10_9_universal2.whl (1.2 MB view details)

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

amplpy-0.16.0b0-cp39-cp39-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.9Windows x86-64

amplpy-0.16.0b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

amplpy-0.16.0b0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

amplpy-0.16.0b0-cp39-cp39-macosx_10_9_x86_64.whl (926.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

amplpy-0.16.0b0-cp39-cp39-macosx_10_9_universal2.whl (1.2 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file amplpy-0.16.0b0.tar.gz.

File metadata

  • Download URL: amplpy-0.16.0b0.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for amplpy-0.16.0b0.tar.gz
Algorithm Hash digest
SHA256 f142f04b1722f94c672febdfb88050fe712b2d9433c3c82206252d8549dd73c3
MD5 479a06f6e68f631526c95e2039b96cd8
BLAKE2b-256 5b2a6c18be3e4799e283b72f5726521ee20521672e9c48aa74499af513621bd3

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: amplpy-0.16.0b0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for amplpy-0.16.0b0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ddc18c5a56b33c22147e0ed2664b5d130df57f35cd24e052ee22bf4bb5df5f7c
MD5 1f0099c72456f7ba8ac087d88e8979a9
BLAKE2b-256 31a4412e2d62adc30b5ce28dbf1fb4f95c4c7ba2dcc7773bc42c57cdb363199b

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92ef1281fa15feafb3555d519fd47e071a1fa86631402a09e0c9fd1b8e4e8b2b
MD5 fb924f643830b8db6c2a87ad63d7e88a
BLAKE2b-256 1e20c4e9d8f547676fb6d70875d5fda09fb4eac46427c9699ec8d346e21879f6

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b94192c486b59e73fdb825a999d91a8f34367531acf810d05f3041fe74466aa2
MD5 5ecc08f473376c893d9bf526d7ea25da
BLAKE2b-256 08d3639985c411ca51d42a585b60da69e3d9e861fd30f10a156f4beafc7325eb

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 95598614c8e750e95531ee67e2c94e07cf0175851b59d29fa3647a8c1af78ae5
MD5 201b061587c97628d26aedd046b2b9cb
BLAKE2b-256 22e17bb01025a50b1668b3faa014d69bfa293d41b587b5d4ab8e537b53ccbb29

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e9f02c45945c83814198016220dec5a5885290ee61c9c384ba8e8695583c27b3
MD5 42ebff41446f92e1723fada306c481a5
BLAKE2b-256 7f00469d62dd110428b79466056e5207e41e51837197ef194f49f0a35479847a

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: amplpy-0.16.0b0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for amplpy-0.16.0b0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9f7393ae03b48783b09af9581e1d1cd054980a090a81cf86b827f9f4cf70ab5b
MD5 2c0a0aad08589e509f68851ec244b65c
BLAKE2b-256 d2970bcc3ef6cbb258af70a58bbbc2b1024cde36847bc09c1ca3e1c9d1f3be3c

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f276efc2c0557582c37d4e9cfeb44b88717b93c03ee478549e364d2594ca758
MD5 fe008729b4e210569b8892c1af729539
BLAKE2b-256 7f3bf6bc455efbe37e2ffe693d07f12e21d15cb4d27a6d70d3ce862356312389

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3106fef2d9398524da7b08ed683cd0083db202893a5521c8d2ace2b92375ff97
MD5 f3b1ee40f73ff8bf91d6d16d4273a1ae
BLAKE2b-256 9394976061dadb73f370af41371ef0c8803b98b96c224efc54abb974a1dcf430

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ff576360ef9adb78dba798018e8944505d45f84c0c5a96fc72b3f31ea828e514
MD5 3bad944c6234486a7a9d72b24d6af782
BLAKE2b-256 df334a3f56af8702288d83f8070bebcd37f7c812f968d8d79d32707842dc3cb4

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 2bfa6c6f92907484d3e6b6170848c9ae7c18718762919b319d45845746de47fc
MD5 e17867a21aecd47d32a033abdb07c952
BLAKE2b-256 20ae7f577eadec5f249c9c95e2feb16993848f559623667355e00cecaaca7b2d

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: amplpy-0.16.0b0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for amplpy-0.16.0b0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fd2ad9d7ae252137a6bc87ad41d49242efa286aee84181e193fbed4e6ae8a148
MD5 f259c2d47e9534b5195c7e5b9bfda27a
BLAKE2b-256 53789ab91f205fd882726b5370fb956beb40adf0c92656afaf633abd4d979ae6

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6bdccc9a9f1b0d87dbfa9abb97ca8ed601cff4bd307c01b50a86c43b39a06848
MD5 b85cd8b2c34ac16e3c9453bd92bf607a
BLAKE2b-256 7cd2a9fb5777aee87cf9f501c2178d9330d046a39c226e0fedeabdda3206ce3a

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d32385cab22f8352a794ff267386125d50d2906b1638b8bbf32f4520d7dc5937
MD5 015b9494443708d365ee825efff95c80
BLAKE2b-256 9aa856ebf33e8be8f425c88f73ed660e3b2c595050943612e9b9a061b12077cf

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e325016cfbaabf9916898203f388e2d9348a027bf967b167b1ff25bb0cb05f21
MD5 adacf0c9a001e75cca288a0f0b8d5f30
BLAKE2b-256 c61dc44cb964ac077cbe66021fb67146b39f54880c3c20f52b40b658afabefea

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b94886c6631bf2a8ca3462005a7b02a35df55bca19b34fde82e559b960953886
MD5 0e57fe84d55094733b54e0a60629f7ae
BLAKE2b-256 8e4e3ee0def752797934d70d54fabd703e5f66a1587305944fed3d63d30d8527

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: amplpy-0.16.0b0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for amplpy-0.16.0b0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 afc01824b45ef0989c6b27e8ab0b7b347b1a6be4fbdd3e1904e5b475d7e92df0
MD5 fbaec314166332494a850dc1649cf8aa
BLAKE2b-256 0d4986e558af9916cb037885367e720da54abea2cadf33e6677242a287417b65

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21b3c8149ef616b9bcd10efa42d71dc920fde6237187f393b00f753c97fedad2
MD5 064d3b69c0368d22a043e38d42609625
BLAKE2b-256 162cd4b5238f42585f97711ee0abd6ef9b79b99ceeb50b02df94b35a6e681f02

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7fe7919a2bb3e093a248a9abac90fe20d8c367433a32e6a630dbbc383628f531
MD5 416df52a7085c212346446f215a20211
BLAKE2b-256 71a40c34081e1c9845f1d74e7793cb2931a1a05cab0a6e70d29b0df01c0fe876

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b6a99b646dfbeb7ddbbc595abb3b93af2561a6d3b70ec721380b5b3421b081a3
MD5 ef3d7113625fd3179d37d14c0dccb950
BLAKE2b-256 28a413d062323fafa31cc2d809f3e4a1796e2bf60e6fe99a7a778dca29ca391d

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 388d1a618a7278da8b97cb5af6b71e7887052c4e2f62a39b6057cba2a0803871
MD5 b056687fb1b92a4b1b04ebec4f9ee3f0
BLAKE2b-256 448e91a0d49361e1818487a81f5ce30427ef217f1614afafc350733cabe34bbe

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: amplpy-0.16.0b0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for amplpy-0.16.0b0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3d24f88b94f86300f1d85d1b31f4f540865063d52daa48e65777faa91dcf8ee3
MD5 966ed4e05523cca8fd0338b95f4ae2c4
BLAKE2b-256 e246accb283bfa915c56ec8770901a6cadf1a7db09799bf3d4745059a2a6aecc

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e10f9732bd1b0eea4e6dbd2a72601449c912e4512f4ac2daf0c1bd97525f03cc
MD5 d0436dfba45748fd52fa15946f962225
BLAKE2b-256 41ef1c9df27e709daae7915991e000e2447e32e6339eda74cad2ce3707f73203

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 44a77d3dbf09ce4ef5711f2a286dfb8ad021b72d67ee38e5f8656b840f55565a
MD5 ce2aa8e09908a28e255fbab21070e263
BLAKE2b-256 33b993dd3d71fda126a6be367c47898b3b6c93626cc44d54ea4e163282a957ef

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 efb6a306839afade9fabc1701472128149375521616ba37f3454812b6abe93a9
MD5 19fc078ada35a25eaf7991a6f52ea72d
BLAKE2b-256 75b68561babdeb1c1b6b58030fa5c7b5020979c30681f01fda94673f770a8e45

See more details on using hashes here.

File details

Details for the file amplpy-0.16.0b0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for amplpy-0.16.0b0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4cc03c7cc9c5bd28a9c2ffea95353f6967e5dd90e58220ae63ab0636d3b71594
MD5 ecb97783ddffd1a8c9bc902a111ae050
BLAKE2b-256 73f7508b64e2ac1a3be898dd1701f12b6a8357c4e36c4e749703bf3279468aac

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