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 thePromptInput
widget for user input.src/genie_cli/widgets/chatbox.py
: Defines theChatbox
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:
-
Clone the repository:
git clone https://github.com/yourusername/genie-cli.git cd genie-cli
-
Install the dependencies:
pip install -r requirements.txt
-
Run the CLI:
genie
Contributing
We welcome contributions! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
License
This project is licensed under the Valory License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a9895fd7bcc4a568034cef4e6b7507650913b09f2e26291894842929f32f7ae |
|
MD5 | 404f9f12e2c70aab8a358e589cb8e5f3 |
|
BLAKE2b-256 | 84cbbc60b9eefca57ec1a46df27413a0eac3b2753e27ef85e53e36dad0cc49d9 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | eef7b31df5e4a3ed8b6097f7a3b86191f09a805f67ed2a9c27f319c609763479 |
|
MD5 | 5741c86e2032fef6f71951948aaca642 |
|
BLAKE2b-256 | 08ec7eef2e793cf7c21f7f8cfe92fa7e21d494940387b82c1dfe7e9f82bf1c4e |