Skip to main content

Vehicle routing open-source optimization machine (VROOM)

Project description

Python Vehicle Routing Open-source Optimization Machine

gh_action codecov pypi

Good solution, fast… in Python.

Pyvroom is an Python wrapper to the excellent VROOM optimization engine for solving vehicle routing problems.

The library aims to solve several well-known types of vehicle routing problems, including:

  • Travelling salesman.

  • Capacitated vehicle routing.

  • Routing with time windows.

  • Multi-depot heterogeneous vehicle.

  • Pickup-and-delivery.

VROOM can also solve any mix of the above problem types.

Basic usage

>>> import vroom

>>> problem_instance = vroom.Input()

>>> problem_instance.set_durations_matrix(
...     profile="car",
...     matrix_input=[[0, 2104, 197, 1299],
...                   [2103, 0, 2255, 3152],
...                   [197, 2256, 0, 1102],
...                   [1299, 3153, 1102, 0]],
... )

>>> problem_instance.add_vehicle([vroom.Vehicle(47, start=0, end=0),
...                               vroom.Vehicle(48, start=2, end=2)])

>>> problem_instance.add_job([vroom.Job(1414, location=0),
...                           vroom.Job(1515, location=1),
...                           vroom.Job(1616, location=2),
...                           vroom.Job(1717, location=3)])

>>> solution = problem_instance.solve(exploration_level=5, nb_threads=4)

>>> solution.summary.cost
6411

>>> solution.routes.columns
Index(['vehicle_id', 'type', 'arrival', 'duration', 'setup', 'service',
       'waiting_time', 'location_index', 'id', 'description'],
      dtype='object')

>>> solution.routes[["vehicle_id", "type", "arrival", "location_index", "id"]]
   vehicle_id   type  arrival  location_index    id
0          47  start        0               0  <NA>
1          47    job     2104               1  1515
2          47    job     4207               0  1414
3          47    end     4207               0  <NA>
4          48  start        0               2  <NA>
5          48    job     1102               3  1717
6          48    job     2204               2  1616
7          48    end     2204               2  <NA>

Usage with a routing engine

>>> import vroom

>>> problem_instance = vroom.Input(
...     servers={"auto": "valhalla1.openstreetmap.de:443"},
...     router=vroom._vroom.ROUTER.VALHALLA
... )

>>> problem_instance.add_vehicle(vroom.Vehicle(1, start=(2.44, 48.81), profile="auto"))

>>> problem_instance.add_job([
...     vroom.Job(1, location=(2.44, 48.81)),
...     vroom.Job(2, location=(2.46, 48.7)),
...     vroom.Job(3, location=(2.42, 48.6)),
... ])

>>> sol = problem_instance.solve(exploration_level=5, nb_threads=4)
>>> 3800 < sol.summary.duration < 4200
True

Installation

Pyvroom currently makes binaries for on macOS and Linux. There is also a Windows build that can be used, but it is somewhat experimental.

Installation of the pre-compiled releases should be as simple as:

pip install pyvroom

The current minimal requirements are as follows:

  • Python at least version 3.10.

  • Intel MacOS (or Rosetta2) at least version 15.0.

  • Apple Silicon MacOS at least version 15.0.

  • Windows on AMD64.

  • Linux on x86_64 and Aarch64 given glibc at least version 2.34.

Outside this it might be possible to build your own binaries.

Building from source

Building the source distributions requires:

  • Download the Pyvroom repository on you local machine:

    git clone --recurse-submodules https://github.com/VROOM-Project/pyvroom
  • Install the Python dependencies:

    pip install -r pyvroom/build-requirements.txt
  • Install asio headers, and openssl and crypto libraries and headers. For mac, this would be:

    brew install openssl@1.1
    brew install asio

    For RHEL:

    yum module enable mariadb-devel:10.3
    yum install -y openssl-devel asio

    For Musllinux:

    apk add asio-dev
    apk add openssl-dev
  • The installation can then be done with:

    pip install pyvroom/

Alternatively it is also possible to install the package from source using Conan. This is also likely the only option if installing on Windows.

To install using Conan, do the following:

cd pyvroom/
conan install --build=openssl --install-folder conan_build .

Documentation

The code is currently only documented with Pydoc. This means that the best way to learn Pyvroom for now is to either look at the source code or use dir() and help() to navigate the interface.

It is also useful to take a look at the VROOM API documentation. The interface there is mostly the same.

Project details


Download files

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

Source Distribution

pyvroom-1.15.0.dev20.tar.gz (25.0 kB view details)

Uploaded Source

Built Distributions

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

pyvroom-1.15.0.dev20-cp314-cp314-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.14Windows x86-64

pyvroom-1.15.0.dev20-cp314-cp314-manylinux_2_34_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

pyvroom-1.15.0.dev20-cp314-cp314-manylinux_2_34_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

pyvroom-1.15.0.dev20-cp314-cp314-macosx_15_0_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

pyvroom-1.15.0.dev20-cp314-cp314-macosx_15_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

pyvroom-1.15.0.dev20-cp313-cp313-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.13Windows x86-64

pyvroom-1.15.0.dev20-cp313-cp313-manylinux_2_34_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

pyvroom-1.15.0.dev20-cp313-cp313-manylinux_2_34_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

pyvroom-1.15.0.dev20-cp313-cp313-macosx_15_0_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

pyvroom-1.15.0.dev20-cp313-cp313-macosx_15_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

pyvroom-1.15.0.dev20-cp312-cp312-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86-64

pyvroom-1.15.0.dev20-cp312-cp312-manylinux_2_34_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pyvroom-1.15.0.dev20-cp312-cp312-manylinux_2_34_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

pyvroom-1.15.0.dev20-cp312-cp312-macosx_15_0_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

pyvroom-1.15.0.dev20-cp312-cp312-macosx_15_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

pyvroom-1.15.0.dev20-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

pyvroom-1.15.0.dev20-cp311-cp311-manylinux_2_34_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pyvroom-1.15.0.dev20-cp311-cp311-manylinux_2_34_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

pyvroom-1.15.0.dev20-cp311-cp311-macosx_15_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

pyvroom-1.15.0.dev20-cp311-cp311-macosx_15_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

pyvroom-1.15.0.dev20-cp310-cp310-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.10Windows x86-64

pyvroom-1.15.0.dev20-cp310-cp310-manylinux_2_34_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

pyvroom-1.15.0.dev20-cp310-cp310-manylinux_2_34_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

pyvroom-1.15.0.dev20-cp310-cp310-macosx_15_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

pyvroom-1.15.0.dev20-cp310-cp310-macosx_15_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file pyvroom-1.15.0.dev20.tar.gz.

File metadata

  • Download URL: pyvroom-1.15.0.dev20.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvroom-1.15.0.dev20.tar.gz
Algorithm Hash digest
SHA256 60e258c89496e9213dff0e1a26e919bd5eff46f0acd40f2f883c119b09e62002
MD5 7b97c1586c2e88c7a8385550af30158f
BLAKE2b-256 54d8bc78ecbdd2c7d4ca58d0887be4f29d5c997bf227b505129d038faecc92bb

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 997dc44a23dc7aa8a1ae3115ba6beb92a9bb7dbda92e6fb3ccb2c8713f4f6427
MD5 38b95f325cab14d1830ecd867beec59d
BLAKE2b-256 8234978e08b1eaa2e1776f51d2bd45254c6e6879bdde6183269d565ab48edc22

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 388a095be2a83e1bc6614e9b9490ba5634a9eae14f86673295d1de0706d9dc95
MD5 c0b53094035a5a0118dccb96f4a9b7ad
BLAKE2b-256 a8d8f6146844772041f00261876427157340e089dd1c6888f804f68316f21c62

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 8b734252ba5480e7c927ace94c5e80196bf7c7f17cd0e40aeaddd0bad251c0ab
MD5 4242af38d6ce87d21de30ffa13f64ded
BLAKE2b-256 db225454cd9d0d65a73687592157ab8a7e36579b048fcfcb7201b74bcab84615

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 6a951caecf223ee3ed15763834b34de174236d96359eb3b81cf9bbca1c8e2104
MD5 618cd7324daa89de845af1bbbc8e7dc1
BLAKE2b-256 a040f033c09b3e17478179a09a51d992255d48f85f0dbbc6a8dd28645df21cbb

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0383efb94f84e5a9a1adfa4c5cc0b913b1e10596113a659ecb78c0b8ff3d0e30
MD5 009cf080d8948601f10ba19fdd27b379
BLAKE2b-256 1471e005995988fdfc19dc2d49041130fd77e718f9c930d7a2ccfe1afb4c8201

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 da5e08be71ea6d8c5b2e930dac5c31c687bca03dbf1abdaa48e43e1501752f34
MD5 0783718cd777db0bd428e617309d263b
BLAKE2b-256 f9ac57c09c0fe3e9d154158213ac45b32f2c748b20cd0ab9bbbcfd8b3801b11d

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 71b0d516bb2fe5274971d06576f2c5db56edc6dc4bdd8be523907f895fc0d24e
MD5 8848cd1d19700b2183edcfa360214ce3
BLAKE2b-256 183868352ba73a6b84a346a865f4e8c0fb5febe92fc791e8bb23d2649f74f678

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 495bcf1fba0b1d6aad211625723c62048bdbcce03f351f15b1d9c1b645a2c895
MD5 d86a80680e58973feddc64942921eea3
BLAKE2b-256 0c61adab6e62596e6fb1da33de3b777b13b3ce0083969a3c44901c88af732ebc

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 58426bb21338fffb99a475bdeb959bfcd0b367391bc44a892bae139e4772cebb
MD5 7e7c1c68495b0e0d3c359c55c27ebe53
BLAKE2b-256 d3a63fb2d9ed2ad32f41096760212bcd983e58ccf9b56849d0acf952780c5a85

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 de8e1d6ddb2085348933792ae8d8e113ce6189c571efb078db943876b42b965f
MD5 f121d85050144f6d270d14bbae867604
BLAKE2b-256 25d678de405f54e43fc9620e8beda6efa8b1dbbdb3908d29fc5cd3699514b72f

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3f5b40636751ef783a90801ab309783fe29bbaef16c0d9b19f9a73bc6be46c83
MD5 97aa66ed44d0eee79b2b98ec6c7208e2
BLAKE2b-256 3a3e0bf150f9f91f3a91735c9a344cbc8573b0bb2f455bc7c465865f79aacab1

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c41184cc6206c449b23529616e6f0f57a05c18eb2b31b891656c643d5f5adc3f
MD5 b86795989bd9b19cb48584b2c9e1178b
BLAKE2b-256 6d1113c369e0be2958ec27d841e8b6b95895804cd85482870d4e59513902e7cf

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 2fe0fef7dd68a350b48393c79476998d2c8e9dbf031b26f428de9bc844e37fdf
MD5 e80a9b9c95f25e82e92459ab1b23c12f
BLAKE2b-256 4858d506e466e5085b4d840d42181a8afa439ab32144be0848c5129f1e23bf6c

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 546dcf340c8cb6e0343d8435a949e132fac9fd47e39b88444bb579660a061f2f
MD5 010f89c71fbccedeff5e9291d69f4e5a
BLAKE2b-256 4f677f5be3c5ebc3b412d7569e08d2b8811fbcf00fcc0a048075345b0d09431e

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 fde050bd54734f184867ea371eb93dc52ac6e682a6d14e0a04ccce69fdd44fba
MD5 39c34423a2219338eaa7228c6b215a3f
BLAKE2b-256 6f6dbf955df4ff0f2f597d3c633537dd7677eb4b0718cc087e9862014e7e043e

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 db5b516ede7b4ac63ac2e2580091bc3f833baa71438bff3f652e256b8caeb3bf
MD5 dbbd64d0b8f4a223ce43c0bd034d13e8
BLAKE2b-256 11b9f45c72395f4722a6409a3265fb3b58574815dd320d4b3235519821f5c6b9

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 764a5e1d2eee60bc881fbec255c4d0d5c84b0f100bbb426faefefd1b8a6f4ff1
MD5 e8c052b7defb61eff167f46418212a62
BLAKE2b-256 312765d0a8ff7bed033d342dcfe77b9975a2b1033b220584c4d392f7375555bc

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 30315d26f582750b65b88957d10fd91103a88d976c52be043aa9d33ef86417d9
MD5 9d1d1d0a2f088bcf9ddb7d068e049c0e
BLAKE2b-256 64b6802496b3715fc397d8b97d76c0f4cb92bf9f6ea504747662f3735f1ba930

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 64f5269e57cde5f70dae81b3e425ce2bd462f801e00bbe8baedfa474982c4d98
MD5 a5916844cfd919a896146a9e54376918
BLAKE2b-256 bad18288e4344253ceb9eae1f491260c42f9ff396933f6a2545ea6c0f15aeb10

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8e16c6c2d70bedf23881b31f3df3a2cf18a3f704c444dfe0b27727124c551412
MD5 78f885e38f9c146888ff000b23480d0c
BLAKE2b-256 11dd85482068a7596023de9641244a7b07eb07688b055fba56f61ce653ec6d70

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 45eb027a7cf6342391d12e47abf36960c66242ea123513cf786c949c1fb0c353
MD5 fb64a4ce9384b64f0a89cbe7546d2d20
BLAKE2b-256 b1a5a5e20feeb5ccbbb95324d05f6b5f388cb76bd9d39aa99ac95dd44e457385

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 485be01e9d155afd5af47d758563c83300f4753c1ff93e9cd1093b62a18f1d80
MD5 b73b33a38b075a7c99c513c1b83b23cd
BLAKE2b-256 c40f856a31b905368cb9e8639bde0650e0b403471aed67675f6a7bcfcf81d0ac

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 ea435faf90355196fc479337d5d6f6cf6f7599ced4ca01496d1476e11b9132eb
MD5 086ba747b791ce8fe2a19047aad0d500
BLAKE2b-256 28ccd87eec1c95ed73d197500f50f957f8b9f94be0d70b37d7f062065586b5c2

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 0c1815f3d5f221c9734bba61c70ad4afa758811b8e5dd2e69634f25a45959ac8
MD5 bbe19e82675e5cf2103d719a97775a8e
BLAKE2b-256 4e47814fc88a5f197c8fd6a2b2f78c32699dbd12e75693fbefdfc88970e46dc3

See more details on using hashes here.

File details

Details for the file pyvroom-1.15.0.dev20-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvroom-1.15.0.dev20-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 a93b2edc74bf1271c6d5651c0e1fbacb170d254a7aa3188020f38b8990165233
MD5 fea14b77e7746b062d23bb8914d6f219
BLAKE2b-256 a471bcd0eae1ec97e75a63c4c590ee2b4dcc7ef540d7b3c15702914c0f686118

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