With custom apps, you can customize all parts of the model and therefore completely adapt the service to your unique business needs. You can begin working with custom apps in either of the following two ways:
- Write your model using one of our language templates which are available for Python, Java and Go.
- Start with one of our many community apps available (e.g. vehicle routing, scheduling).
App rules and conventions
To create and run your own model on the Nextmv plaform you have to adhere to some rules and conventions.
Custom apps are supported for these languages:
- Go
- Python
- Java
The code of the app can come from a Nextmv template, or it can be your own custom code. If custom, you will need to ensure the following conditions are met:
- Must read from either
Stdin
or a file. - Must write results either to
Stdout
or a file. - Must conform to the Nextmv statistics convention in order to leverage experiments and tests.
- Must contain an
app.yaml
manifest in the root of your custom app project. Here are some exampleapp.yaml
files for different languages. Please read the section on execution environment for more details.
For a custom app you need to:
- Create the app
- Deploy (push code to the app)
Write your custom model
You can choose to write your app completely on your own, it only needs to comply with the rules and conventions mentioned before. If you want to start with a domain specific app, please read more about our community apps. Or create you model based on one of our language specific templates for Python, Java or Go.
Create the app
To create a custom app, define the desired app ID and name. After, you can use one of the following interfaces:
Console. Go to Console,
Apps
section. Add a new app fromAll
orCustom
tabs. Fill in the fields.Nextmv CLI. Anywhere on your machine, run the following command:
Deploy
Deploying an app means pushing code to it. You must use the Nextmv CLI. Standing in the root of your project run the following command:
This command is used again whenever new code is deployed to the app.
If the app.yaml
manifest specifies a pre-push
command, it will be executed with bash
before the app is pushed to the Nextmv Cloud. This command can be used to compile a binary or run tests.
๐๐๐ The app is ready to be used.
- Run the app remotely: learn how to run your custom app in Nextmv Cloud.
- Experiment and test: learn how to experiment and test your custom app.
- Run the app locally: learn how to run your custom app in your machine, to test it locally.
Delete a custom app
Delete a custom app using the following interfaces:
- Nextmv CLI. Anywhere on your machine, run the following command:
Cloud API. Make sure your
NEXTMV_API_KEY
is exported as an environment variable. The API uses Bearer Authentication.DELETEhttps://api.cloud.nextmv.io/v1/applications/{application_id}Delete application.
Delete application, specified by application ID.