Skip to main content

AIPATT: AI Powered Assistant Tool for Terminals

Project description

AIPATT PyPI

AIPATT

A versatile terminal-based AI Powered Assistant Tool.

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact

About The Project


AIPATT is an AI-powered Assistance Tool for Terminals designed to streamline your workflow by providing tools to generate code, execute shell commands, retrieve and summarize information from Google, and engage in interactive chats.

Here's why:

  • Boost productivity: AIPATT helps automate repetitive tasks like coding, information retrieval, and system commands right from the terminal.
  • Easy integration: Integrates seamlessly with your command-line environment, making it a powerful addition to your development toolkit.
  • Versatile: Whether you're coding, querying data, or managing system tasks, AIPATT adapts to your needs.

AIPATT is built with an emphasis on simplicity, power, and flexibility, enabling developers and power users to get things done faster and smarter.

Built With

These are the major frameworks and libraries used to build AIPATT:

  • Python
  • Ollama
  • LLaMa3
  • Langchain
  • Langgraph

Getting Started

To get a local copy of AIPATT up and running, follow these steps.

Prerequisites

Before installing and using AIPATT, ensure you have the following installed:

  • Python 3.10+ - Ensure Python is installed on your system. You can download it from here.
  • Ollama - To run the language models, you need to install Ollama. You can get Ollama from their official site.
    • Once installed, you can run a model like llama3.2 using:

      ollama run llama3.2
      
    • You can explore other models available on Ollama's model library that supports tools calling.

Installation

Once the prerequisites are installed, follow these steps to install AIPATT:

  1. Install AIPATT via pip:

    pip install aipatt
    
  2. After the installation, you can start using AIPATT directly in your terminal by running:

    aipatt
    

Configuration

The first time you run AIPATT, you will need to configure a few settings. You can either use the default settings or customize them as per your needs. Below are the configuration options you'll need to provide:

  1. DATABASE_PATH: Default value is available, but you can specify your own database path.
  2. DEFAULT_MODEL: Default model is set, but you can change it to any available model in Ollama.
  3. OPENWEATHERMAP_API_KEY: You need to get your API key from OpenWeatherMap.
  4. GOOGLE_SEARCH_URL: The default Google search URL is set, but you can override it.
  5. GOOGLE_CSE_ID: Get your Custom Search Engine ID from Google CSE.
  6. GOOGLE_API_KEY: Get your Google API Key from Google Cloud Console.
  7. SMTP_SERVER: Default is set for Gmail, but you can configure your own SMTP server.
  8. PORT: Default is set for Gmail. If using a different SMTP server, you need to provide the correct port.
  9. USERNAME: Your email address or username for the SMTP server.
  10. PASSWORD: Your email password or an app-specific password if using Gmail.

Note: When you first run AIPATT, it will ask you to enter these configuration values. You can also manually edit the .aipatt.env file that is created in the home directory to modify these settings.

Usage

Here are some useful examples of how you can use AIPATT to perform different tasks. Each command can be run directly in your terminal. For more details on the available commands, use the -h or --help option.

To see all available options, use:

aipatt -h

Available Commands

Generate Code: Use this to generate code based on your input query.

aipatt -c "Write a Python script for Fibonacci series"

Chat: Engage in a continuous conversation with the AI.

aipatt -ch

YouTube Search: Search and play YouTube videos directly from the terminal.

aipatt -y "Top Python tutorials"

Shell Command Generation: Generate and execute shell commands based on a query.

aipatt -s "How to update my system?"

Mail Composer: Compose and send an email using AI.

aipatt -m "Send email to example@gmail.com, Meeting at 10 AM"

Google Search and Summarize: Search on Google and get a summarized answer.

aipatt -gs "What is the capital of France?"

Update Configuration: Use this command to update your configuration settings.

aipatt -u

Clear Memory: Clear the entire chat memory.

aipatt -cm

Version Info: Get the version of AIPATT installed.

aipatt -v

Help: Display the help message with all available options.

aipatt -h

Example Commands

Ask a Question: Query the AI to answer questions directly:

aipatt "What is internet?"

Search Latest News About AI: Use AIPATT to stay updated with the latest AI news:

aipatt "Latest news about AI"

Search and Play YouTube Videos: Search for specific videos on YouTube and play them:

aipatt -y "Top Python tutorials"

Generate Shell Command: Run a query and generate a shell command, or execute a script:

aipatt -s "How to update my system?"

Summarize Google Search Results: Use AIPATT to search Google and get a summary of the results:

aipatt -gs "What is the capital of France?"

Current Weather Conditions: Get the weather report of a city:

aipatt "Current Weather Condition of New York"

Generate Code: Generate code for a common task like a Fibonacci series:

aipatt -c "Write a Python script for Fibonacci series"

Send an Email: Compose and send an email using AI:

aipatt -m "Send email to example@gmail.com, Meeting at 10 AM"

Explain Shell Script: You can even pipe a shell script into AIPATT and get an explanation of the code:

cat install.sh | aipatt "Explain the code"

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

Don't forget to give the project a star! Thanks again!

Steps to Contribute

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See CONTRIBUTING.md for more information.

License

Distributed under the GNU AGPLv3 License. See LICENSE for more information.

Contact

Author: Somesh Sharma

AIPATT PyPI Link
LinkedIn Somesh Sharma
Instagram Somesh Sharma
Email someshs.ce@gmail.com

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

aipatt-1.0.4.tar.gz (97.7 kB view details)

Uploaded Source

Built Distribution

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

aipatt-1.0.4-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file aipatt-1.0.4.tar.gz.

File metadata

  • Download URL: aipatt-1.0.4.tar.gz
  • Upload date:
  • Size: 97.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for aipatt-1.0.4.tar.gz
Algorithm Hash digest
SHA256 f0532db99ebab3a2322bac5bd0e8549c22d6f7839f51a50b988d88f1946399e3
MD5 50115cbb6c2c7721c0b270f7ffc6036c
BLAKE2b-256 58d405a791b953a1fa44d6600eb6f43164fcff5a69bed447ae317188592a73ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for aipatt-1.0.4.tar.gz:

Publisher: publish-aipatt-python-package.yml on someshsce/aipatt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aipatt-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: aipatt-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for aipatt-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 65b5f68e04b8473a08c88a6ca572a830f2c2a5cb04bffcf93c5388fefe1045f4
MD5 0a3e01ab43ff525c39d1916146a2daf0
BLAKE2b-256 616feccb59e94ba33c79f7c3d71d99095b9af0831042f3a319c8d7f886046f7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aipatt-1.0.4-py3-none-any.whl:

Publisher: publish-aipatt-python-package.yml on someshsce/aipatt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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