Skip to main content

A terminal command library that provides a Natural Language Interface for running shell commands.

Project description

Unlock the Power of Your Terminal with ERAS 🚀

Welcome to ERAS: the Easily Runnable AI Shell that revolutionizes your command-line experience.

Say goodbye to the hassle of searching for the right command syntax—ERAS transforms your natural language instructions into precise terminal commands instantly.

Why ERAS?

  • Seamless Integration : Compatible with Windows, Mac, and Linux, ERAS fits right into your workflow, regardless of your operating system. 🖥️
  • Effortless Execution : No more jumping between your terminal and browser. Just type what you need, and ERAS will do the rest. ⚡
  • AI-Powered Precision : Harness the power of OpenAI or any OpenAI-spec-compliant model like Llama.cpp server to ensure your commands are executed accurately and efficiently. 🤖

Experience the future of terminal commands with ERAS and elevate your productivity today. 🌟

img_1.png

Demo

Eras Demo

Video Thumbnail

Install

Mac & Linux

pip install eras

If you get an error about externally-managed-environment it's because you have python installed via homebrew, and need to use pipx instead:

pipx

brew install pipx
pipx ensurepath
pipx install eras

With pipx you may need to open a new terminal window or source .zshrc a couple of times.

Windows

pip install eras

You will be prompted for various configuration settings. Once set, close your terminal window and open up a new one.

Use

The first use of Eras will prompt you to enter various configs. See the Config Examples section below.

The first use will also prompt you to allow accessibility features for Terminal.app, which is required to allow Eras to populate the terminal with the shell command.

img.png

When you ask Eras a question, it will use AI to create a shell command, then populate your next terminal line with the command, so all you have to do is review and press enter.

Usage Examples

% eras list all files in the current directory

ERAS will then populate the next terminal line with the command:
% ls

All you have to do is confirm and hit enter!

...
% eras create a new file named jason.txt with contents "hello world"
% echo "hello world" > jason.txt
...

Chat Examples

% eras /chat What is the capital of France 
% Paris is the capital of France

Note: if you want to use ? or other special terminal chars you should surround your question in quotes
% eras /chat "What is the capital of France?"
% Paris is the capital of France

Config Examples

On the first run of eras, you will be prompted to enter config values, which are saved as env vars.

To run the config again, you can run eras /config

An API key must be provided when using OpenAI or Llama.cpp (can be anything unless you explicitly set one in Llama.cpp)

OpenAI

For OpenAI you must provide:

  • API Key - Grab an OpenAI key from here
  • Model name - (defaults to gpt-4) Find any valid one here

Alternative OpenAI Server (e.g. Llama.cpp server)

You will be prompted to enter the alternative base url. e.g. http://127.0.0.1:8080

Llama.cpp Setup Instructions

Find the server setup instructions at: https://github.com/ggerganov/llama.cpp

NVIDIA GPU Instructions

If you are running a NVIDIA GPU, you will want to build the llama server with CUDA enabled, as outlined here

I followed these instructions:

Run these commands in Developer Command Prompt (search Windows and it'll come up)

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
mkdir build
cd build
cmake .. -DLLAMA_CUDA=ON
cmake --build . --config Release

Start the Llama server:

.\bin\Release\server.exe -m C:\shared-drive\llm_models\Llama-3-8B-Instruct-32k-v0.1.Q4_K_M.gguf -ngl 9999 --host 0.0.0.0 --ctx-size 32000

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

eras-0.5.2.tar.gz (61.1 kB view details)

Uploaded Source

Built Distribution

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

eras-0.5.2-py3-none-any.whl (95.6 kB view details)

Uploaded Python 3

File details

Details for the file eras-0.5.2.tar.gz.

File metadata

  • Download URL: eras-0.5.2.tar.gz
  • Upload date:
  • Size: 61.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for eras-0.5.2.tar.gz
Algorithm Hash digest
SHA256 2845bcbc87ddab915d41965f2b2280ce040f95f27af1f9a09e7d9a4a7329ae87
MD5 f2a7a7f57776b07ef2bfb1da30a643d7
BLAKE2b-256 bf6b004aa21bb1034e0d0ae09e89de8e9ff62ca0587e8922bf293994bd7df731

See more details on using hashes here.

File details

Details for the file eras-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: eras-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 95.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for eras-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a8d67df93e2b950b92fff8634fd900cb4793d3133ef25e45fcb175e1caf6e28f
MD5 5cc843eae07951b580878fcb49246412
BLAKE2b-256 06b7be57036eb4b1f41c379a468fc678e1bd794dc5cfff793cf100e322b3eb96

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