Skip to content

Community apps

Community apps are pre-built decision models which you can use directly via subscription apps or as a starting point to develop your own custom app. They provide all the necessary files required to publish the app to the Nextmv platform.

Community apps are hosted and maintained in the community-apps GitHub repository. They showcase different languages, solver integrations, and problems, so you can take your pick for the closest use case that you are looking for. Here are some examples of the variations covered by existing community apps.

  • languages: Python, Go, Java, Rust, C++.
  • solver integrations: FICO© Xpress, Gurobi, HiGHS, Hexaly.
  • modeling integrations: Pyomo, OR-Tools.
  • problems: knapsack, vehicle routing, shift scheduling, demand forecasting, order fulfillment, region allocation.

You have two options when working with community apps:

  1. Use a published version of the app in the Nextmv Marketplace.
  2. Get the files of a community app and start customizing.
    1. Use the Nextmv CLI to clone an app locally.
    2. Work with the public GitHub repository.

Here is an example of how to use the CLI to get the files for a community app. After the CLI has been set up correctly, use the nextmv community list command to list all the available community apps:

nextmv community list
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 Name                                     Type    Latest       Description                                                  ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
 cpp-hello-world                          binary  v20251210.0  Get started with C++ and Nextmv.                              cs-sardinecan-packing                    binary  v20260129.0  Use C# and SardineCan - packing.                              go-hello-world                           go      v20251006.0  Get started with Go and Nextmv.                               go-highs-knapsack                        go      v20251006.0  Use Go and HiGHS - knapsack.                                  go-highs-orderfulfillment                go      v20251126.0  Use Go and HiGHS - order fulfillment.                         go-highs-shiftscheduling                 go      v20251006.0  Use Go and HiGHS - shift scheduling.                          go-nextroute                             go      v20260413.0  Use Go and Nextroute - VRP.                                   java-gurobi-knapsack                     java    v20251006.0  Use Java and Gurobi - knapsack.                               java-gurobi-multiknapsack-multiexcel     java    v20260609.0  Use Java and Gurobi - multi knapsack via Excel.               java-hello-world                         java    v20251006.0  Get started with Java and Nextmv.                             java-hexaly-knapsack                     java    v20251006.0  Use Java and Hexaly - knapsack.                               java-ortools-knapsack                    java    v20251006.0  Use Java and OR-Tools - knapsack.                             java-ortools-routing                     java    v20251006.0  Use Java and OR-Tools - VRP.                                  python-ampl-facilitylocation             python  v20260701.0  Use Python and AMPL - facility location.                      python-ampl-knapsack                     python  v20260701.0  Use Python and AMPL - knapsack.                              ... Output truncated for brevity
 python-xpress-knapsack                   python  v20260413.0  Use Python and Xpress - knapsack.                             python-xpress-park-location              python  v20260413.1  Use Python and Xpress - park location.                        rust-goodlp-knapsack                     binary  v20251210.0  Use Rust and GoodLP - knapsack.                               rust-hello-world                         binary  v20251210.0  Get started with Rust and Nextmv.                            └─────────────────────────────────────────┴────────┴─────────────┴──────────────────────────────────────────────────────────────┘

You may clone a community app locally using the nextmv community clone command, specifying the desired app with the --app option.

nextmv community clone --app python hello world
 Successfully cloned the python-hello-world community app, using version latest in path: python-hello-world.
 Registered the cloned community app python-hello-world as a local app with ID local-app-phxr2hx8.

For this particular example, you would get a list of files similar to this one:

python-hello-world
├── app.yaml
├── input.json
├── LICENSE
├── main.py
├── pyproject.toml
├── README.md
├── requirements.txt
└── uv.lock

Once the community app has been cloned, you can customize the code, and at any point, deploy and run the application.