The goal of the Banana CLI is to bring an npm-like experience to ML development loops.
This version includes:
banana init
to create a project with boilerplatebanana install
to install packages from the requirements.txtbanana --version
to show the current versionbanana deploy
to easily deploy the local folder to Banana.dev without using GitHub
python3 -m venv .venv
source .venv/bin/activate
pip3 install -e ./
banana --version
- Create a new project directory with
banana init my-app
cd my-app
- Start the dev server
python3 app.py
- Call your API (from a separate terminal)
curl -X POST -H "Content-Type: application/json" -d '{"prompt": "Hello I am a [MASK] model."}' http://localhost:8000/
The interactive dev server works like a react, next, or nodemon server: it selectively hot reloads components when you save changes to different parts of your app.py
file.
The init() function is ran on startup and for every change to init().
The handler() function is ran on every change to handler(), without needing to wait for a long init()
- Try changing the handler, see what happens!
- Try changing the init, see what happens!
- Lock in a stable interface
- Add the following commands
banana stage
-> run a temporary deployment to Banana's cluster for on-GPU testingbanana test
-> unit test against local test cases