Skip to main content

banana-cli

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 boilerplate
  • banana install to install packages from the requirements.txt
  • banana --version to show the current version
  • banana deploy to easily deploy the local folder to Banana.dev without using GitHub

Here's a demo video

Installing the CLI locally

python3 -m venv .venv
source .venv/bin/activate
pip3 install -e ./
banana --version

This is a v0 release using SemVer; it is not stable and the interface can break at any time.

To use it

  1. Create a new project directory with
banana init my-app
cd my-app
  1. Start the dev server
python3 app.py
  1. 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()

Play with it:

  1. Try changing the handler, see what happens!
  2. Try changing the init, see what happens!

Future Development:

  • Lock in a stable interface
  • Add the following commands
    • banana stage -> run a temporary deployment to Banana's cluster for on-GPU testing
    • banana test -> unit test against local test cases

Metadata

Release files for banana-cli 0.1.2

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

Source distribution (sdist)

Source distribution for banana-cli 0.1.2
File Size Uploaded Provenance
banana_cli-0.1.2.tar.gz 17.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for banana-cli 0.1.2
File Interpreter ABI Platform
banana_cli-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 35.9 kB

Release files / banana_cli-0.1.2.tar.gz

Download URL banana_cli-0.1.2.tar.gz
Size 17.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2e3c5a1290e5a8ba99af59096d69dfe7122dfec6c52501d1fae440e963c702a5
BLAKE2b-256 checksum
How to use checksums
57f313060bf4d380046b3938211f92011881f12121a146add4c63f00a7f5cda8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / banana_cli-0.1.2-py3-none-any.whl

Download URL banana_cli-0.1.2-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd496663fe4af0105a52a5d1535a159636c267b0fb63ede5a9340ddf7a7f088d
BLAKE2b-256 checksum
How to use checksums
4489825532c8a03c7f619bd3fbfe1432eb75ec8118bfd36f1a6d9abd79452469
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Security for banana-cli 0.1.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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