Skip to main content

Tools for low-vision coders

Project description

Tools for low-vision coders

Shell Chat

A wrapper for your shell that lets you talk to ChatGPT about the recent interactions.

  1. Wraps bash or another shell you pass in, so that it behaves exactly like what you'd expect.
  2. Except that when you run the chat command, it switches into a separate mode where you're talking to ChatGPT about the past 3k (configurable) characters of interaction.
  3. You have a back and forth conversation, and all of ChatGPT's responses are read aloud.
  4. You can Ctrl-C to interrupt and go back to the chat prompt.
  5. You type exit to go back to your shell.

Installation

From the Python environment that will be activated when your chosen shell starts, run

pip install lowvision

Then set your OpenAI API key

export OPENAI_API_KEY='whatever'

NOTE: The reason for installing in the Python environment active when your shell starts is because a chat command is installed by lowvision that activates chat mode, and it must be available inside your wrapped shell. if you've installed in a virtualenv instead, you'll need to activate that virtualenv after running the shell wrapper, or chat won't properly activate chat mode.

Usage

See the help with

python -m lowvision.shell -h

Without arguments, it will

  • launch Bash
  • with a 3000 character scrollback buffer
  • use espeak for text-to-speech
  • and gpt-3.5-turbo as the ChatGPT model

Here's an example that changes those defaults:

python -m lowvision.shell --shell /bin/sh \
                          --scrollback 5000 \
                          --tts 'say -v Daniel --rate 220' \
                          --model gpt-4
                          
sh-3.2$ ping -c 3 google.com
PING google.com (142.251.163.100): 56 data bytes
64 bytes from 142.251.163.100: icmp_seq=0 ttl=106 time=18.316 ms
^C
--- google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 18.316/18.316/18.316/0.000 ms
sh-3.2$ chat     
?> what happened?
The user performed a ping test to google.com by sending 3 packets, and received a reply from one packet. The response shows the IP address of google.com and the round-trip time for the packet. The test was interrupted with ^C after receiving one response.
?> exit
sh-3.2$

Installing as the default shell

If you want to use this as your default shell, you could create a script like this (replacing the path to the Python environment where you installed lowvision) and then set your default shell to that script.

#!/bin/sh

export OPENAI_API_KEY="whatever"
/opt/homebrew/Caskroom/mambaforge/base/bin/python3 -m lowvision.shell

Then make it executable, and set it as your default shell with chsh -s /path/to/your/script.sh.

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

lowvision-0.3.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

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

lowvision-0.3.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file lowvision-0.3.0.tar.gz.

File metadata

  • Download URL: lowvision-0.3.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for lowvision-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ef331a2a1b0ee602dd683b1789942ff0d22a452ddbb304d60d9de22da6f9c663
MD5 dd388bee36055b524d2394b9aeeea13a
BLAKE2b-256 91f3fd5ae1555c46da12342b233a9048857413770c37c94648e3d807335c5478

See more details on using hashes here.

File details

Details for the file lowvision-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: lowvision-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for lowvision-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 225cdeb10947ce3f252c8914fccdd49870b31abef1a54f006f82aee85bb7adcc
MD5 7e4468d726b234ea2db755cf691ed674
BLAKE2b-256 0d01017cce66d285775b3b6b2c16c3ef011a3e0209faf5e198358059354b2862

See more details on using hashes here.

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