Skip to main content

A small example package

Project description

Meet Chippy

License Version Build Status Dependencies Platform

Chippy serves as your command-line companion, offering quick fixes, error analyses, and cheat sheets directly in your terminal environment. It bridges the gap between encountering an error and finding the solution, saving you the hassle of manual searches or sifting through documentation. To make things easier, Chippy goes by their nickname, chip, in the commmand line. Run pip install chippy-ai to get started.

animated

Features

  • Error Analysis: Understand and fix common programming errors with detailed, context-aware suggestions.
  • Cheat Sheets: Instant access to condensed, essential commands for Shell, Git, Python, JavaScript, and more.
  • Model Testing: Experiment with various language models to find the one that best suits your needs.
  • Customizable Appearance: Choose from default themes or customize the colors to match your style.
  • Environment and Configuration Management: Easily manage your settings and environmental variables to streamline your workflow.
  • Local and Remote Model Support: Whether you prefer cloud-based solutions or local installations, Chippy adapts to your setup.

Quick Start

  1. Installation

    Install Chippy using pip:

    pip install chippy-ai
    
  2. Configuration

    Set up your together.ai key:

    • Save API keys in your environment variables for secure access.
    • Enter keys via command bash chip api "YOUR_KEY_HERE"
    • or via the config.ini file
    • Configure Chippy to your liking through the config.ini file or via command-line options.
  3. Usage

    Error Analysis Encounter an error? Let chippy do the initial diagnosis!

    It is important to note that Chippy captures the error by rerunning the last terminal command. This operation is not reccomended if the operation's compile/runtime is long or costly.

    input

    chip error
    

    output

    ╭───────────────────────────────────────────────────────────────╮
    │ Chippy is executing the last command: list                    │
    ╰───────────────────────────────────────────────────────────────╯
    ╭───────────────────────────────────────────────────────────────╮
    │ Error detected: Yes                                           │
    │ Type: CommandNotFoundError | NoSuch                           │
    ╰───────────────────────────────────────────────────────────────╯
    ╭───────────────────────────────────────────────────────────────╮
    │ △ Chippy Detailed Error Analysis △                            │
    ╰───────────────────────────────────────────────────────────────╯
    ╭───────────────────────────────────────────────────────────────╮
    │ The error message "command not found" typically means that    │
    │ the command you entered cannot be located in your system's    │
    │ PATH. In this case, "list" is not a recognized command in     │
    │ your current shell environment.                               │
    │                                                               │
    │ A more common command that serves a similar purpose is "ls",  │
    │ which is used to list the contents of a directory. It's       │
    │ possible that the user may have accidentally typed "list"     │
    │ instead of "ls".                                              │
    ╰───────────────────────────────────────────────────────────────╯
    

    Q&A Have a quick question? Too lazy to switch windows? Chippy can easily answer any of programming questions straight from the commandline.

    input

    chip -q "how do I convert an integer to a string in python?"
    

    output

    ╭───────────────────────────────────────────────────────────────╮
    │ △ Chippy Q&A △                                                │
    ╰───────────────────────────────────────────────────────────────╯
    ╭───────────────────────────────────────────────────────────────╮
    │ Q: how do I convert an integer to a string in python?         │
    │                                                               │
    │ A:  In Python, you can convert an integer to a string using   │
    │ the `str()` function. Here's an example:                      │
    │ ```python                                                     │
    │ num = 123                                                     │
    │ num_str = str(num)                                            │
    │ print(type(num_str))  # <class 'str'>                         │
    │ ```                                                           │
    │ In this example, the integer `123` is converted to a string   │
    │ `'123'` using the `str()` function. The `type()` function is  │
    │ then used to confirm that the result is indeed a string.      │
    ╰───────────────────────────────────────────────────────────────╯
    

    Cheatsheets Forget a basic command? Chippy has you covered with cheatsheets for shell commands, git, python, and javascript

    input

    chip git
    

    output

     ╭───────────────────────────────────────────────────────────────╮
     │ git init - Initialize a new git repository.                   │
     │ $ git init                                                    │
     │                                                               │
     │ git clone - Clone a repository into a new directory.          │
     │ $ git clone https://github.com/user/repo.git                  │
     │                                                               │
     │ git add - Add file contents to the index.                     │
     │ $ git add .                                                   │
     │                                                               │
     │                           ....                                │
     ╰───────────────────────────────────────────────────────────────╯
    

Roadmap

  • Bash/Windows support - currently optimized for ZSH on mac
  • Modular LLM support - switch between local and other hosted models
  • Opt-in perpetual logging - always-on terminal logging unlocks new debugging potential
  • Adding files/functions into context from error message
  • Internet connectivity

Background and Rationale

Why Chippy? In a world where quick access to information is crucial, Chippy aims to reduce the friction experienced by programmers when switching context between coding and searching for solutions or command syntax.

License

Chippy is open-source software licensed under the MIT license.


"Chippy: the friendly CLI assistant, because even small seconds saved make a big difference."

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

chippy_ai-0.2.4.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

chippy_ai-0.2.4-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file chippy_ai-0.2.4.tar.gz.

File metadata

  • Download URL: chippy_ai-0.2.4.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for chippy_ai-0.2.4.tar.gz
Algorithm Hash digest
SHA256 a50af234c825ecf5cfa38f1a9c4720417f6d2ca0d7fd7f62c0f9e29e393fb28b
MD5 6791eb4f5590ac4827e29b088fe3b543
BLAKE2b-256 e9601cccef75cd2caa836780cb28b567996b1dbe334c8fc0943a1e7e0c6b1e14

See more details on using hashes here.

File details

Details for the file chippy_ai-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: chippy_ai-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for chippy_ai-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 837d36e4424539229e80227a8dcb5559c4d7e1df06fc91efc677aad68f17839b
MD5 f580acf46d82276b6f137a7bb4ab6ff7
BLAKE2b-256 9bfa16d14d547e42baf5d934945ab3391b5bd2b8add6b23ff763bb058b9fff18

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