Skip to main content

A minimalist AI coding agent

Project description

Pana

A minimalist AI coding agent with a custom terminal UI.

Features

  • Custom TUI — No Textual/Rich dependency. Renders directly with ANSI escape codes and truecolor.
  • GitHub Copilot integration via OAuth device flow
  • Streaming responses with Markdown rendering and syntax highlighting
  • Emacs-style keybindings with kill ring, undo/redo
  • Slash commands/login, /model, /clear, /help, /quit

Installation

pip install pana

Usage

pana

Or run as a module:

python -m pana

Commands

Command Description
/login Authenticate with a provider
/model Select a model
/clear Clear chat history
/help Show available commands
/quit Exit (also /exit, /q)

Editor Keybindings

  • Navigation: Arrow keys, Ctrl+A/E (line start/end), Alt+B/F (word left/right)
  • Deletion: Ctrl+W (word back), Alt+D (word forward), Ctrl+U/K (to line start/end)
  • Kill ring: Ctrl+Y (yank), Alt+Y (yank pop)
  • Undo: Ctrl+-
  • Submit: EnterNew line: Shift+Enter
  • Autocomplete: Tab

Environment Variables

Variable Default Description
AGENT_LOG_LEVEL INFO Python logging level
AGENT_LOG_FILE (none) Log to file instead of null handler

Development

# Install with dev dependencies
uv sync --extra dev

# Run tests
uv run pytest

# Lint
uv run ruff check .

License

MIT

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

pana-0.1.1.tar.gz (282.6 kB view details)

Uploaded Source

Built Distribution

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

pana-0.1.1-py3-none-any.whl (92.3 kB view details)

Uploaded Python 3

File details

Details for the file pana-0.1.1.tar.gz.

File metadata

  • Download URL: pana-0.1.1.tar.gz
  • Upload date:
  • Size: 282.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for pana-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e174e035ba8c914057ce4656d930a8adfba7b7f249907a05afef05cef65a1fed
MD5 9be99b982c72f542c0ed8cecb4922c97
BLAKE2b-256 7e92ed1d9d926e91618ca3a1ea0773ca3e6fc56e3f63a7d435129270e491a571

See more details on using hashes here.

File details

Details for the file pana-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pana-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 92.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for pana-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fd8273c59715f120abb66266277de8bb02208873fcb50719d2123b20dc3d47b9
MD5 6d64927adfdf1850e26ce3cb64b5d45c
BLAKE2b-256 65cee330a8cc2066ea4e00f8c7f4f6acef1807dcfc522d9bddeef6192544e1ba

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