Skip to main content

A CLI tool from Valory to interact with the Genie service to generate Olas autonomous services from natural language

Project description

Genie CLI

Genie CLI is a command-line tool designed to generate AEA (Autonomous Economic Agent) agents using human-level language. This tool leverages various libraries to provide a seamless experience for developers.

Table of Contents

Installation

To install the Genie CLI, you need to have Python 3.8 or higher. You can install the dependencies using the following command:

The project uses rye as package manager, process to install rye: Rye Installation

rye sync

Usage

To use the Genie CLI, you can run the following command:

genie

This will start the CLI and you can follow the prompts to generate AEA agents.

Project Structure

The project is organized as follows:

genie-cli/
├── src/
│   ├── genie_cli/
│   │   ├── prompts/
│   │   │   └── behaviour_prompts.py
│   │   ├── widgets/
│   │   │   ├── prompt_input.py
│   │   │   └── chatbox.py
│   │   └── __main__.py
├── pyproject.toml
├── README.md
└── .gitignore

Key Files

  • pyproject.toml: Contains project metadata and dependencies.
  • src/genie_cli/prompts/behaviour_prompts.py: Contains prompt templates for generating behavior plans.
  • src/genie_cli/widgets/prompt_input.py: Defines the PromptInput widget for user input.
  • src/genie_cli/widgets/chatbox.py: Defines the Chatbox widget for displaying messages.

Dependencies

The project relies on several key dependencies:

  • textual>=0.67.1
  • litellm>=1.40.9
  • rich>=13.7.1
  • click-default-group>=1.2.4
  • click>=8.1.7
  • humanize>=4.9.0
  • xdg-base-dirs>=6.0.1
  • pyperclip>=1.9.0
  • python-dotenv>=1.0.1
  • requests>=2.32.3
  • types-requests>=2.32.0.20240907

For development, the project also uses:

  • mypy>=1.11.2

Development

To set up the development environment, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yourusername/genie-cli.git
    cd genie-cli
    
  2. Install the dependencies:

    pip install -r requirements.txt
    
  3. Run the CLI:

    genie
    

Contributing

We welcome contributions! Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add new feature').
  5. Push to the branch (git push origin feature-branch).
  6. Create a new Pull Request.

License

This project is licensed under the Valory License. See the LICENSE file for details.

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

genie_cli-0.1.0a0.tar.gz (41.1 kB view details)

Uploaded Source

Built Distribution

genie_cli-0.1.0a0-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file genie_cli-0.1.0a0.tar.gz.

File metadata

  • Download URL: genie_cli-0.1.0a0.tar.gz
  • Upload date:
  • Size: 41.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for genie_cli-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 8a9895fd7bcc4a568034cef4e6b7507650913b09f2e26291894842929f32f7ae
MD5 404f9f12e2c70aab8a358e589cb8e5f3
BLAKE2b-256 84cbbc60b9eefca57ec1a46df27413a0eac3b2753e27ef85e53e36dad0cc49d9

See more details on using hashes here.

File details

Details for the file genie_cli-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: genie_cli-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for genie_cli-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 eef7b31df5e4a3ed8b6097f7a3b86191f09a805f67ed2a9c27f319c609763479
MD5 5741c86e2032fef6f71951948aaca642
BLAKE2b-256 08ec7eef2e793cf7c21f7f8cfe92fa7e21d494940387b82c1dfe7e9f82bf1c4e

See more details on using hashes here.

Supported by

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