Skip to content

Slimmed down implementation of prompt_toolkit for CircuitPython

License

Notifications You must be signed in to change notification settings

adafruit/Adafruit_CircuitPython_Prompt_Toolkit

Repository files navigation

Introduction

Documentation Status Discord Build Status Code Style: Black

Slimmed down implementation of prompt_toolkit for CircuitPython

Dependencies

This driver depends on:

Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle or individual libraries can be installed using circup.

Installing from PyPI

This library is available in PyPI for CircuitPython tools that need it. If you actually want to use it on CPython (not CircuitPython), then we recommend the full prompt_toolkit library that is also on PyPI.

Installing to a Connected CircuitPython Device with Circup

Make sure that you have circup installed in your Python environment. Install it with the following command if necessary:

pip3 install circup

With circup installed and your CircuitPython device connected use the following command to install:

circup install adafruit_prompt_toolkit

Or the following command to update an existing version:

circup update

Usage Example

# This example works over the second CDC and supports history.

import usb_cdc

# Rename import to make the rest of the code compatible with CPython's prompt_toolkit library.
import adafruit_prompt_toolkit as prompt_toolkit

# If the second CDC is available, then use it instead.
serial = usb_cdc.console
if usb_cdc.data:
    serial = usb_cdc.data

session = prompt_toolkit.PromptSession(input=serial, output=serial)

while True:
    response = session.prompt("$ ")
    print("->", response, file=serial)

Documentation

API documentation for this library can be found on Read the Docs.

For information on building library documentation, please check out this guide.

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.