Skip to main content

AI for Linux commands

Project description

Ape

Ape is an AI for Linux commands.

ape "Find all the important PDF files in user/projects. An important PDF file has 'attention' in its name. Write the results to important_files.txt and then move it to Documents."

Output:

find ~/user/projects -type f -name "*attention*.pdf" > important_files.txt && mv important_files.txt ~/Documents/

Ape works with any provider supported by Pydantic AI — OpenAI, Anthropic, Google, Groq, Mistral and more.

To install (uv recommended):

uv tool install ape-linux

Next, set the API key for your provider using its standard environment variable. For example:

export OPENAI_API_KEY=key      # for OpenAI models
export ANTHROPIC_API_KEY=key   # for Anthropic models

To run:

ape Create a symbolic link called win pointing to /mnt/c/Users/jdoe

Output:

ln -s /mnt/c/Users/jdoe win

Another example:

ape Delete all the .venv directories under projects/

Output:

find projects/ -type d -name ".venv" -exec rm -rf {} +

If you try to ask something unrelated to Linux commands:

ape Tell me about monkeys

you should get:

echo "Please try again."

You can change the model with the APE_MODEL environment variable. Models are specified in provider:name form. See here for the supported providers and models. For example:

export APE_MODEL=anthropic:claude-sonnet-4-5

If APE_MODEL is unset, the default openai-chat:gpt-4.1 is used.

System-aware suggestions

Ape automatically detects a few facts about your machine and adds them to the prompt so the suggested command is correct for your environment — for example BSD (macOS) vs GNU (Linux) flags, the right package manager (brew, apt, dnf, pacman, ...), and tools that are actually installed. It looks at:

  • operating system and version (macOS version or Linux distribution),
  • whether the userland is BSD or GNU,
  • CPU architecture (e.g. arm64 vs x86_64),
  • your shell ($SHELL),
  • whether you are root,
  • available package manager(s) and common tools (rg, fd, jq, docker, ...).

This is all gathered locally with the Python standard library and is best-effort: if anything can't be determined it is simply left out. No identifying information is collected or sent — never your username, hostname, working directory, or home path.

To see exactly what Ape detects and sends (without calling the model), run ape-system-info:

ape-system-info

Output (example):

Operating system: Darwin
macOS version: 26.5
Userland: BSD (macOS) — prefer BSD-compatible flags
Architecture: arm64
Shell: /bin/zsh
Privileges: non-root (use sudo for privileged actions)
Package manager(s): brew
Available tools: rg, fd, jq, git, curl, docker, tar, rsync, sed, awk

See also: Gorilla

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

ape_linux-0.4.5.tar.gz (97.4 kB view details)

Uploaded Source

Built Distribution

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

ape_linux-0.4.5-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file ape_linux-0.4.5.tar.gz.

File metadata

  • Download URL: ape_linux-0.4.5.tar.gz
  • Upload date:
  • Size: 97.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ape_linux-0.4.5.tar.gz
Algorithm Hash digest
SHA256 51ba610a2ed73771cc43df37378ab9f015e797c1c7f8064c1d42af3e382bb361
MD5 f193d43873815c60c44cd5322392d25c
BLAKE2b-256 1edbe641538c9c197d2ca2e6a303e89bbc5b4bf47576e0bce1a7fc187ec0f96b

See more details on using hashes here.

File details

Details for the file ape_linux-0.4.5-py3-none-any.whl.

File metadata

  • Download URL: ape_linux-0.4.5-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ape_linux-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 03c46f5af84ceff254fb21b282dbd041889538595e00403f251322040d1c3d5a
MD5 f016a9c8d3809bac5293b8cd00824dd7
BLAKE2b-256 8b61660ceb41a3d2f9b6a0a6ee29c8ce6d465a21dbeca04760567b654cdb31f4

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