Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Nextroute

Nextmv

Nextmv: The home for all your optimization work

Go Test Lint Python Test Python Lint Nextroute Package version Supported Python versions

Welcome to Nextmv's Nextroute, a feature-rich Vehicle Routing Problem (VRP) solver written in pure Go and supported in Python. Designed with a focus on maintainability, feature-richness, and extensibility, Nextroute is built to handle real-world applications across all platforms that Go (cross)compiles to.

Our goal is not to compete on specific VRP type benchmarks, but to provide a robust and versatile tool that can adapt to a variety of routing use-cases. Whether you're optimizing the routes for a small fleet of delivery vans in a city or managing complex logistics for a global supply chain, Nextroute is equipped to help you find efficient solutions.

📖 To learn more about Nextroute, visit the docs.

Installation

Go

Install the Go package with the following command:

go get github.com/nextmv-io/nextroute

Python

The package is hosted on PyPI. Requires Python >=3.10. Install using the Python package manager of your choice:

  • uv

    uv add nextroute
    
  • pip

    pip install nextroute
    
  • pipx

    pipx install nextroute
    

Features

Feature Description
Alternate stops Specify a set of alternate stops per vehicle for which only one should be serviced.
Compatibility attributes Specify which stops are compatible with which vehicles.
Capacity Set capacities for vehicles and quantities (demanded or offered) at stops.
Cluster constraint Enforce the creation of clustered routes.
Cluster objective Incentivize the creation of clustered routes.
Custom constraints Implement custom constraints with Nextmv SDK.
Custom data Add custom data that is preserved in the output.
Custom matrices Use custom matrices to achieve more precise drive time.
Custom objectives Implement custom objectives with Nextmv SDK.
Custom operators Implement custom operators with Nextmv SDK.
Custom output Create a custom output for your app.
Distance matrix Specify a distance matrix in the input that provides the distance of going from location A to B.
Duration matrix Specify a duration matrix in the input that provides the duration of going from location A to B.
Duration groups Specify a duration that is added every time a stop in the group is approached from a stop outside of the group.
Early arrival time penalty Specify a penalty that is added to the objective when arriving before a stop's target arrival time.
Late arrival time penalty Specify a penalty that is added to the objective when arriving after a stop's target arrival time.
Map data in cloud Calculates duration and distance matrices using a hosted OSRM map service when running on Nextmv Cloud. Note that map data is a paid feature.
Maximum route distance Specify the maximum distance that a vehicle can travel.
Maximum route duration Specify the maximum duration that a vehicle can travel for.
Maximum route stops Specify the maximum stops that a vehicle can visit.
Maximum wait time Specify the maximum time a vehicle can wait when arriving before the start time window opens at a stop.
Minimum route stops Specify the minimum stops that a vehicle should visit (applying a penalty).
Nextcheck Check which stops can be planned or why stops have been unplanned.
Precedence Add pickups and deliveries or specify multiple pickups before deliveries and vice versa.
Stop duration Specify the time it takes to service a stop.
Stop duration multiplier Specify a multiplier on time it takes a vehicle to service a stop.
Stop groups Specify stops that must be assigned together on the same route, with no further requirements.
Stop mixing Specify properties of stops which can not be on the vehicle at the same time.
Time windows Specify the time window in which a stop must start service.
Unplanned penalty Specify a penalty that is added to the objective to leave a stop unplanned when all constraints cannot be fulfilled.
Vehicle activation penalty Specify a penalty that is added to the objective for activating (using) a vehicle.
Vehicle initial stops Specify initial stops planned on a vehicle.
Vehicle start/end location Specify optional starting and ending locations for vehicles.
Vehicle start/end time Specify optional starting and ending time for a vehicle.

Local benchmarking

To run the go benchmarks locally, you can use the following command:

go test -benchmem -timeout 20m -run=^$ -count 10 -bench "^Benchmark" ./...

In order to compare changes from a PR with the latest develop version, you can use benchstat.

# on the develop branch (or any other branch)
go test -benchmem -timeout 20m -run=^$ -count 10 -bench "^Benchmark" ./...\
 | tee develop.txt
# on the new branch (or any other branch)
go test -benchmem -timeout 20m -run=^$ -count 10 -bench "^Benchmark" ./...\
 | tee new.txt
# compare the two
benchstat develop.txt new.txt

Versioning

We try our best to version our software thoughtfully and only break APIs and behaviors when we have a good reason to.

  • Minor (v1.^.0) tags: new features, might be breaking.
  • Patch (v1.0.^) tags: bug fixes.

Metadata

Release files for nextroute 1.13.0.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nextroute 1.13.0.dev0
File Size Uploaded
nextroute-1.13.0.dev0.tar.gz 26.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for nextroute 1.13.0.dev0
File
nextroute-1.13.0.dev0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
nextroute-1.13.0.dev0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
nextroute-1.13.0.dev0-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
nextroute-1.13.0.dev0-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details
nextroute-1.13.0.dev0-py3-none-macosx_13_0_x86_64.whl Python 3 none macOS 13.0+ x86-64 Details

Total release size: 39.1 MB

Release files / nextroute-1.13.0.dev0.tar.gz

Download URL nextroute-1.13.0.dev0.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4ec711ca43276b63c7f885045cb7c86716ebc90241d7b9dfdf0989ba48798cbe
BLAKE2b-256 checksum
How to use checksums
723893673e45b4ec44d1d0df9af5b97fc24692e4e181619b695c16e8c27e2dba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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

Transparency log

Release files / nextroute-1.13.0.dev0-py3-none-win_amd64.whl

Download URL nextroute-1.13.0.dev0-py3-none-win_amd64.whl
Size 7.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
1f3071ec84a3277255208dd208d38ac35bea1277cbf58499dba94b5d2e267ec0
BLAKE2b-256 checksum
How to use checksums
7cebe9a53e0834748f271c8aeccbbb32ca1f63417c5351cdb14e0c5b6ebdd5f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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

Transparency log

Release files / nextroute-1.13.0.dev0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL nextroute-1.13.0.dev0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 7.5 MB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
18b78cb2e7b526ca9ff991d689e62795d904d9b6f55598dc9672dbff624d07ab
BLAKE2b-256 checksum
How to use checksums
32e0708e09f6407a543915659f2f34744a9e5ec7279554165fe51094c4e62616
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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

Transparency log

Release files / nextroute-1.13.0.dev0-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL nextroute-1.13.0.dev0-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 8.2 MB
Tags Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 Python 3
SHA-256 checksum
How to use checksums
930511ed1c89642b5827933b1d1396f085d54e17fea07868e898429ee25efe83
BLAKE2b-256 checksum
How to use checksums
bb6cab7513389a99ca7c79efc38ad54ab2bc7d7471d22f4072b85ea4ce536e74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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

Transparency log

Release files / nextroute-1.13.0.dev0-py3-none-macosx_14_0_arm64.whl

Download URL nextroute-1.13.0.dev0-py3-none-macosx_14_0_arm64.whl
Size 7.5 MB
Tags Python 3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
46d72a8112e5b025339516bf02c92e6c29ccb2f9a7f2d79ebb5214c0d31d97a5
BLAKE2b-256 checksum
How to use checksums
a151ce55c280bbb96450c61a56a00c3e954a045ffeec607d6517a0d70ea1d56b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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

Transparency log

Release files / nextroute-1.13.0.dev0-py3-none-macosx_13_0_x86_64.whl

Download URL nextroute-1.13.0.dev0-py3-none-macosx_13_0_x86_64.whl
Size 8.1 MB
Tags Python 3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
e7237e85696a220b0e076a0fd01e79129d8d1579b43900b148d9f52daaa287e1
BLAKE2b-256 checksum
How to use checksums
3be90714d1036f130c55944bd2def6029a3f128296768168f0f053ef807270a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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

Transparency log

Release history Release notifications | RSS feed

This release

1.13.0.dev0 This release

6 release files

1.9.0

26 release files

1.8.1

26 release files

1.8.0

25 release files

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