banana-cli


Namebanana-cli JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://www.banana.dev
SummaryThe Banana CLI helps you build Potassium apps
upload_time2023-12-15 20:50:28
maintainer
docs_urlNone
authorErik Dunteman
requires_python>=3.7
licenseApache License 2.0
keywords banana server http server banana framework
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://www.loom.com/share/86d4e7b0801549b9ab2f7a1acce772aa)


## 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 
```bash
banana init my-app
cd my-app
```
2. Start the dev server
```bash
python3 app.py
```

3. Call your API (from a separate terminal)
```bash
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:

4. Try changing the handler, see what happens!
5. 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

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.banana.dev",
    "name": "banana-cli",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Banana server,HTTP server,Banana,Framework",
    "author": "Erik Dunteman",
    "author_email": "erik@banana.dev",
    "download_url": "https://files.pythonhosted.org/packages/a0/c1/bd16b8ebd64d5f7e00656bd73a28a5cf2dc711f1c76f2df5dd7da1a99df7/banana_cli-0.1.1.tar.gz",
    "platform": null,
    "description": "# banana-cli\n\nThe goal of the Banana CLI is to bring an npm-like experience to ML development loops. \n\nThis version includes:\n- `banana init` to create a project with boilerplate\n- `banana install` to install packages from the requirements.txt\n- `banana --version` to show the current version\n- `banana deploy` to easily deploy the local folder to Banana.dev without using GitHub\n\n[Here's a demo video](https://www.loom.com/share/86d4e7b0801549b9ab2f7a1acce772aa)\n\n\n## Installing the CLI locally\n\n```\npython3 -m venv .venv\nsource .venv/bin/activate\npip3 install -e ./\nbanana --version\n```\n\n---\nThis is a v0 release using SemVer; it is not stable and the interface can break at any time.\n---\n\n## To use it\n\n1. Create a new project directory with \n```bash\nbanana init my-app\ncd my-app\n```\n2. Start the dev server\n```bash\npython3 app.py\n```\n\n3. Call your API (from a separate terminal)\n```bash\ncurl -X POST -H \"Content-Type: application/json\" -d '{\"prompt\": \"Hello I am a [MASK] model.\"}' http://localhost:8000/\n``` \n\nThe 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.\n\nThe init() function is ran on startup and for every change to init().\n\nThe handler() function is ran on every change to handler(), without needing to wait for a long init()\n\n## Play with it:\n\n4. Try changing the handler, see what happens!\n5. Try changing the init, see what happens!\n\n## Future Development:\n- Lock in a stable interface\n- Add the following commands\n  - `banana stage` -> run a temporary deployment to Banana's cluster for on-GPU testing\n  - `banana test` -> unit test against local test cases\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "The Banana CLI helps you build Potassium apps",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://www.banana.dev"
    },
    "split_keywords": [
        "banana server",
        "http server",
        "banana",
        "framework"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38885542ba68b4bd4bda7a47886864974a817d21d0852d15f16a8e8bb4f26f78",
                "md5": "f715763deda75e5c068096d8359860ed",
                "sha256": "5421161c398cffffa5f2c740c92b4657b761d7c5dda19305328de45e9246393e"
            },
            "downloads": -1,
            "filename": "banana_cli-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f715763deda75e5c068096d8359860ed",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 18365,
            "upload_time": "2023-12-15T20:50:26",
            "upload_time_iso_8601": "2023-12-15T20:50:26.894643Z",
            "url": "https://files.pythonhosted.org/packages/38/88/5542ba68b4bd4bda7a47886864974a817d21d0852d15f16a8e8bb4f26f78/banana_cli-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0c1bd16b8ebd64d5f7e00656bd73a28a5cf2dc711f1c76f2df5dd7da1a99df7",
                "md5": "d999b5e8b25ddd0c47ba015bb74cd67c",
                "sha256": "4a8443add5d8e9d3992e4975c3fa49a9a655fc5f1fed48c72e6fc3384db586ef"
            },
            "downloads": -1,
            "filename": "banana_cli-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d999b5e8b25ddd0c47ba015bb74cd67c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 17535,
            "upload_time": "2023-12-15T20:50:28",
            "upload_time_iso_8601": "2023-12-15T20:50:28.985480Z",
            "url": "https://files.pythonhosted.org/packages/a0/c1/bd16b8ebd64d5f7e00656bd73a28a5cf2dc711f1c76f2df5dd7da1a99df7/banana_cli-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-15 20:50:28",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "banana-cli"
}
        
Elapsed time: 0.14993s