Skip to main content

A minimalist AI coding agent

Project description

                             
  ██████   █████  ███▄    █  █████  
  ██   ██ ██   ██ ████▄  ██ ██   ██ 
  ██████  ███████ ██ ▀█▄ ██ ███████ 
  ██      ██   ██ ██  ▀████ ██   ██ 
  ██      ██   ██ ██   ▀███ ██   ██ 
                             

A minimalist AI coding agent built on pydantic-ai, featuring a custom terminal UI backported from the pi.dev coding agent.

Features

  • pydantic-ai — Uses pydantic-ai as the LLM abstraction layer for streaming and tool use
  • Custom TUI — Terminal UI backported from the PI coding agent, rendering 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
/new Start a new chat session
/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
PANA_LOG_LEVEL INFO Python logging level
PANA_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.2.2.tar.gz (290.1 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.2.2-py3-none-any.whl (102.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pana-0.2.2.tar.gz
Algorithm Hash digest
SHA256 e79095170118e02401c27ca8abc18b199b9685994fe714798671594810ed857c
MD5 465a12ebf176e664fe44d6b5bac93647
BLAKE2b-256 0d30fc666ea172dfdb45d54db433125efacc1497e924d24153f75c139a95d992

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pana-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 102.5 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eacdd7de9e560325082049d71f9488adf5712d8eaadb2ecb882f760ae0df631e
MD5 3f5cf5a772d86c5b3c1c8688fb407ef3
BLAKE2b-256 e91940c69a79a20146658d1005d77dd7fa39a858fb42756665eb10039bd192b4

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