Skip to main content

Standalone EDZA CLI for launching local commands with centrally managed environment access.

Project description

EDZA CLI

This is the standalone EDZA CLI project that you can ship to teammates without bundling the admin/server codebase.

Install From PyPI

python3 -m pip install --user edza-cli

Then use:

edza --version
edza login

What It Does

  • Opens browser-based Google login against the EDZA server
  • Stores the returned session token locally
  • Lists apps and active access
  • Creates access requests
  • Launches commands like Python and Node processes with just-in-time env injection

Install For Development

cd cli
python3 -m pip install --user --break-system-packages -e ".[dev]"

One-Line Installer

Host scripts/bootstrap.sh somewhere public, then users can install with:

curl -fsSL https://downloads.edza.in/install.sh | bash

How it works:

  • tries to download the correct prebuilt zip for Linux or macOS
  • installs the edza binary into ~/.local/bin
  • falls back to pip install --user edza-cli if no binary URL is configured

Useful installer env vars:

  • EDZA_DOWNLOAD_BASE_URL=https://downloads.edza.in/cli
  • EDZA_CLI_VERSION=0.1.0
  • EDZA_INSTALL_MODE=auto
  • EDZA_INSTALL_MODE=binary
  • EDZA_INSTALL_MODE=pip
  • EDZA_PIP_PACKAGE=edza-cli

Example with explicit binary host:

curl -fsSL https://downloads.edza.in/install.sh | EDZA_DOWNLOAD_BASE_URL=https://downloads.edza.in/cli bash

Example forcing pip fallback:

curl -fsSL https://downloads.edza.in/install.sh | EDZA_INSTALL_MODE=pip bash

Build A Shareable Terminal Binary

Build the standalone edza binary:

cd cli
python3 -m pip install --user --break-system-packages -e ".[dev]"
PYTHONPATH=src python3 scripts/build.py

This creates:

  • dist/edza on Linux and macOS, or dist/edza.exe on Windows
  • a zip release archive in dist/release/
  • a matching .sha256 checksum file
  • Windows zips include install.cmd and install.ps1

Install it into your terminal:

macOS/Linux:

cd cli
./scripts/install.sh

Windows PowerShell:

cd cli
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1

Windows Command Prompt:

cd cli
scripts\install.cmd

Both install scripts can also install directly from a release zip:

macOS/Linux:

./scripts/install.sh ./dist/release/edza-0.1.0-linux-x64.zip

Windows PowerShell:

powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1 .\dist\release\edza-0.1.0-windows-x64.zip

Windows Command Prompt:

scripts\install.cmd .\dist\release\edza-0.1.0-windows-x64.zip

For shipped Windows builds, the user flow is:

  1. Download edza-0.1.0-windows-x64.zip
  2. Extract it
  3. Double-click install.cmd
  4. Open a new terminal and run edza

Optional CLI Config

Copy .env.example to .env if you want defaults on your machine.

  • EDZA_SERVER_URL
  • EDZA_CALLBACK_HOST
  • EDZA_CALLBACK_PORT
  • EDZA_CALLBACK_TIMEOUT_SECONDS
  • EDZA_CONFIG_DIR

Usage

Login:

edza login --server https://envault.edza.ai

List apps and current access:

edza apps list
edza access list

Request access:

edza request create api dev --duration 8h --reason "Need local debug access"

Run a Python app:

edza run api dev -- python -m uvicorn app.main:app --port 8000 --reload

Run a Node app:

edza run backend dev -- npm run dev

Logout:

edza logout

Quick Terminal Check

After install, these should work from any terminal:

edza --version
edza --help
edza login

Publish To PyPI

Build the package files:

cd cli
python3 -m pip install --user build twine
python3 -m build
python3 -m twine check dist/*

Upload to TestPyPI first:

python3 -m twine upload --repository testpypi dist/*

Then upload to PyPI:

python3 -m twine upload dist/*

Notes:

  • you need a PyPI account and API token
  • if edza-cli is already taken on PyPI, change name in pyproject.toml before publishing
  • users can then install with python3 -m pip install --user edza-cli

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edza_cli-0.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edza_cli-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file edza_cli-0.1.0.tar.gz.

File metadata

  • Download URL: edza_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for edza_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5cbcb934b1959d2bfc3229b7c5bc1d5f56d4ae14dfaf7f12521916d50d2e4cc0
MD5 7cec225adb961954950702ad67f39e81
BLAKE2b-256 e44f9b0a41cf8ad7ea68dd41d49afbac1474008f7e9abec4ba957a64b24c23ed

See more details on using hashes here.

File details

Details for the file edza_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: edza_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for edza_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57a6abd6d828105504cf00b87f2b30899434349b6f96d1279e51e5ca9c9b5a3e
MD5 ff77d58466ec335b1cdba3d2506ba00c
BLAKE2b-256 1b17cdac7d5683c96db28460a1570e08d8a1bccb03f7dad624e10cb459aec50b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page