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 dev
to run a dev server with hot-reload (beta)
- Install the CLI with pip
pip3 install banana-cli
- 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/
You may try the interractive dev server, in beta, with
banana dev
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!
banana dev --auto-compat=True
to make your GPU code compatible with a CPU machine, by ignoring to("cuda") calls
- Lock in a stable interface
- Add the following commands
banana build
-> verify production buildbanana test
-> unit test against local test casesbanana deploy
-> manually deploy from CLIbanana deploy --canary --ttl=10
-> run a temporary deployment to Banana's cluster for on-GPU testin
- Port to Rust. Why Rust?