Metadata-Version: 2.5
Name: e80
Version: 0.1.0a14
Summary: CLI for interacting with 8080.io
Requires-Python: >=3.13
Requires-Dist: click>=8.2.1
Requires-Dist: e80-sdk
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2.11.7
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: requirements-parser>=0.13.0
Requires-Dist: rich-click>=1.9.0
Requires-Dist: tomlkit>=0.14.0
Requires-Dist: types-pyyaml>=6.0.12.20250516
Requires-Dist: websockets>=15.0
Requires-Dist: wheel>=0.45.1
Description-Content-Type: text/markdown

# 8080 CLI

> [!NOTE]
> If you're just trying to use the 8080 API, see here. (TODO)

Use the 8080 CLI to build, deploy, and run hosted code on the 8080 platform.

Requirements:
  - [uv](https://astral.sh/uv)
  - Python 3.13 or higher
  - Docker version 29.1.5, build 0e6fee6 (or later)

## Quickstart

```bash
# Install the tool (installs the "8080" command)
uv tool install e80

# Create an account at https://app.8080.io, then log in
8080 login

# Scaffold a project and enter it
8080 init hello-world
cd hello-world

# Run it locally
8080 dev

# Ship it
8080 deploy
```

## Commands

| Command | Description |
| --- | --- |
| `8080 login` | Log into 8080 and fetch an access token. |
| `8080 init [DIRECTORY]` | Initialize an 8080 cloud project. |
| `8080 dev` | Run the local dev server. |
| `8080 archive` | Build the project artifact without deploying. |
| `8080 deploy` | Build and deploy the project. |
| `8080 info` | Show current auth and project information. |
| `8080 sandbox connect SANDBOX_ID` | Open a terminal session in a sandbox. |
| `8080 apikey set\|show` | Manage the API key for the current project. |
| `8080 v1 ...` | Call an API endpoint. See the [docs](https://docs.8080.io) |

Get help for any command with `--help`:

```bash
8080 --help
8080 init --help
8080 sandbox connect --help
```

## Troubleshooting

### OAuth issues

- **Browser doesn't open**: the CLI uses your system's default browser. Make sure one is
  installed and set as the default, then open the printed URL manually.
- **Authorization code not received**: the callback is served on `localhost` at a random
  free port; check that a firewall or proxy isn't blocking local redirects.
- Run with `8080 --verbose <command>` for more detail about what the CLI is doing.
  (`--verbose` is a top-level flag, so it goes before the subcommand.)

### Installation issues

- **Permission errors**: make sure you have write permissions to the installation directory.
- **Python version**: ensure you're using Python 3.13 or higher.
- **Dependencies**: try reinstalling with `uv sync --reinstall`.
- **`uv`/Docker not found**: `archive` and `deploy` require both on your `PATH`.


## More info

See the [e80_sdk](https://pypi.org/project/e80_sdk) package to interface with the 8080 API.
