Skip to main content

A command line tool for quick concept lookups

Project description

LiteLookup 🔎

code coverage badge

LiteLookup is a command-line tool developed in Python that fetches beginner-level information about any concept directly from the command line. This tool is designed for users who want quick, concise, and accessible explanations without leaving their terminal.

Features

  • Command-Line Interface (CLI): Uses argparse to handle user inputs.
  • Error Handling: Validates user input to ensure meaningful queries. Catches special characters and raises appropriate errors.
  • API Integration: Utilizes the Groq LLM API to generate concise explanations of the concepts provided.
  • Caching: Implements Redis for persistent caching of API responses, reducing unnecessary API calls and improving response times.
  • Interactive Shell Session: Launches an intractive shell for faster, continuous lookups after the initial connection establishment. This mode is ideal for making multiple queries in a single session without the overhead of reconnecting for each request.
  • HTTP/2 Support: Uses httpx with connection pooling and HTTP/2 for efficient API communication.
  • Expandable: Designed to be easily extended with new features and enhancements.

Installation

Prerequisites

  • Python 3.10 or higher
  • Redis server installed and running
  • Groq LLM API access — You will need to store a valid Groq API Key as a secret. You can generate one for free here.

Setup

  1. Install LiteLookup via pip or pipx:

    pip install litelookup or pipx install litelookup

    Check if LiteLookup is correctly installed with lookup --version

  2. Configure the environment variables:

    Enter the API Key from Groq in the prompt from the first usage:

    >>Enter API KEY here: your-api_key here

    Replace "your_api_key_here" with the API key to begin interacting with the tool.

  3. Ensure Redis is running:

    redis-cli ping

    You should get PONG which indicates redis is up and running.

Usage

Basic Usage

To fetch information about a concept, use the following command:

lookup "concept"

For example, lookup "git rebase"

Programming Mode

lookup "programming concept" -p

For example, lookup "print() in python" -p

Interactive Shell Mode

Enter the interactive mode for continuous lookups without reconnecting:

  • lookup -i

If you wish to generate verbose responses while in the interactive mode, use

  • lookup -i -p or `lookup -ip The responses you get with this will be more finetuned for programming.

  • lookup -i -d or lookup -id This combines interactive mode with direct mode for quick, concise command-related answers.

To exit the interactive mode, type:

  • quit or q

Direct Mode

Get concise, direct answers for command-related queries:

  • lookup -d "command to ..." or lookup --direct "how to ..."

For example, lookup -d "command to delete a file in Linux" or lookup -d "how to rollback a commit in Git"

This mode provides brief, actionable responses without additional explanations. For best results, start your query with "command to" or "how to".

Flags

  • -p or --programming: Programming-focused responses
  • -i or --interactive: Interactive shell mode
  • -d or --direct: Concise, command-related answers

Contributing

If you'd like to contribute to LiteLookup, please fork the repository and submit a pull request. For any issues or suggestions, feel free to open an issue on the GitHub repository.

Contact

For any questions or support, please contact Abdulmumin at [lanreywaju97@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

litelookup-0.2.5.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

litelookup-0.2.5-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file litelookup-0.2.5.tar.gz.

File metadata

  • Download URL: litelookup-0.2.5.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for litelookup-0.2.5.tar.gz
Algorithm Hash digest
SHA256 7ee686158dcc70d55cceba7ee47b6383799d966d8a4796083382754f34913312
MD5 b74641f93b3c3b1d175d41b16c1f3a3b
BLAKE2b-256 4f15a6673a657c56150fd4f42127db815bc55b86eede7d4a479e8d7d18b49afa

See more details on using hashes here.

File details

Details for the file litelookup-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: litelookup-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for litelookup-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 35e4f7ebbb788a1fe9324123321c32f7ae655a10f249abe78786da3522604c58
MD5 f932398f3f3b9723fc41de974d7dc346
BLAKE2b-256 dc3e23d0d90ce3201561ea6ab88edc7fdabece75b205a8776f6d7417f43dcf57

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