gptui


Namegptui JSON
Version 0.5.4 PyPI version JSON
download
home_page
SummaryA GPT conversational TUI tool that runs within the terminal.
upload_time2024-01-09 10:51:55
maintainer
docs_urlNone
author
requires_python>=3.10
licenseMIT License Copyright (c) 2023 Xueao Chao Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords tui terminal gpt cli textual user interface
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GPTUI
![GitHub](https://img.shields.io/github/license/happyapplehorse/gptui)
![PyPI - Version](https://img.shields.io/pypi/v/gptui)
[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/happyapplehorse/gptui/static.yml?label=docs)](https://happyapplehorse.github.io/gptui/)
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/happyapplehorse/gptui/python-publish.yml?label=build)
[![Static Badge](https://img.shields.io/badge/bilibili-twototoo222-pink)](https://space.bilibili.com/80170263)

[English readme](README.md) • [简体中文 readme](README.zh.md)

<img src="https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_logo.png" alt="gptui_logo" align="left" width="70px" height="70px"/>
GPTUI is a GPT conversational TUI (Textual User Interface) tool that runs within the terminal.
Using the Textual framework for its TUI interface and equipping the plugin framework provided by Semantic Kernel.
GPTUI offers a lightweight <a href="#gptui_kernel">Kernel</a> to power AI applications.
The top-level TUI application is decoupled from the underlying Kernel, allowing you to easily replace the TUI interface or expand its functionalities.
At present, only the GPT model of OpenAI is supported, and other LLM interfaces will be added later.

&nbsp;
![gptui_demo](https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_demo.gif)

## TUI Features
- Create and manage conversations with GPT.
- Display context tokens in real-time.
- View and adjust GPT conversation parameters at any time, such as temperature, top_p, presence_penalty, etc.
- A dedicated channel to display internal process calls.
- Offers a file channel through which you can upload to or download from GPT.
- Voice functionality.
- Group talk functionality[^recommend_better_model][^token_cost].
- AI-Care. Your AI can propactively care for you[^ai_care].
- Optional built-in plugins (continuously evolving):
  - Internet search[^google_key].
  - Open interpreter[^open_interpreter][^token_cost][^recommend_better_model]. (Temporarily removed, waiting to be added back after it supports openai v1.x.)
  - Reminders[^recommend_better_model].
  - Recollecting memories from vectorized conversation history.
- Support custom plugins.

![gptui_img](https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_img.jpg)

[^open_interpreter]: This plugin utilizes [open-interpreter](https://github.com/KillianLucas/open-interpreter), you need to
first follow the instructions provided by open-interpreter to properly set up the environment and API.
The open-interpreter has the permission to execute code, please ensure that you are already aware of the associated risk before
enabling this feature.
[^recommend_better_model]: It is recommended to use this under the GPT-4 model or a better one.
[^token_cost]: Note: This feature may incur a significant token cost.
[^ai_care]: Powered by [AI-Care](https://github.com/happyapplehorse/ai-care).
[^google_key]: `GOOGLE_KEY` and `GOOGLE_CX` are required. Obtained free from [here](https://developers.google.com/custom-search/v1/introduction).

## 🎬 Demo Videos
- [AI-Care](https://www.youtube.com/watch?v=gPQ7XV-Q1r8)

# Compatibility
GPTUI runs in a command line environment and is compatible with Linux, macOS, Windows and Android[^compatibility].
Using the functionality provided by textual-web, you can also run GPTUI in the browser and share it with remote friends👍.

[^compatibility]: I haven't tested it on the Windows platform yet, and some functionalities like code copying,
voice features, etc., still need drivers to be written. I will complete these features later.
When running on Android, please use the [Termux](https://github.com/termux/termux-app) terminal tool.
For additional features like code copying and voice functionalities,
you need to install [Termux-API](https://github.com/termux/termux-api) and grant the necessary permissions.

<a name="gptui_kernel"> </a>
## ⚙️ GPTUI Kernel

GPTUI offers a lightweight Kernel for building AI applications, allowing you to easily expand GPTUI's capabilities or construct your own AI application.

<p align="center"><img src="https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_framework.png" alt="gptui-framework" width="700"/></p >

The **kernel** relies on **jobs** and **handlers** to perform specific functions.
To achieve new functionalities, all you need to do is write or combine your own **jobs** and **handlers**.
The **manager** and **kernel** of GPTUI are entirely independent of the **client** application, enabling you to effortlessly relocate the **manager** or **kernel** for use elsewhere.
The application layer of GPTUI (**client**) employs the CVM architecture, where the model layer provides foundational, reusable modules for interaction with LLM, independent of specific views and controllers implementations.
If you wish to build your own AI application, you can start here, fully utilizing the **kernel**, **manager**, and models.
To alter or expand UI functionalities, typically, only modifications to the controllers and views are needed.

See Development Documentation for details. [Documentation](#documentation).

If you need to use certain functions or components of gptui, you can import and use gptui as a library.

# Installation

Normal use requires ensuring stable network connection to OpenAI.
If you encounter any issues, please refer to [troubleshooting](docs/troubleshooting.md).

## Install with pip

```
pip install gptui
```

[Config your API keys](#config-api-keys) before running.

To run:
```
gptui
```
Specify config file:
```
gptui --config <your_config_file_path>
```
This program loads files through the following steps:
1. Read the configuration file from --config. If not specified, proceed to the next step.
2. Search for ~/.gptui/.config.yml in the user directory. If not found, move to the next step.
3. Copy the default configuration file gptui/config.yml to ~/.gitui/.config.yml and use it.

## Install from source

```
git clone https://github.com/happyapplehorse/gptui.git
cd gptui
pip install .
```
API configuration is required before running.

To run:

```bash
gptui
# Or you can also use
# python -m gptui
```

You can also directly run the startup script (this allows you to modify the source code and run it immediately):
First, install the dependencies:

```
pip install -r requirements.txt
```
Then, run the startup script:
```
python main.py
```

When running the program with `python main.py` or `python -m gptui`, use `gptui/config.yml` as the configuration file.

On Linux or macOS systems, if you want to use voice functionalities, you'll need to install pyaudio separately.

# Configuration

## Config API keys
Configure the corresponding API Keys in `~/.gptui/.env_gptui`.
Refer to the [.env_gptui.example](https://github.com/happyapplehorse/gptui/blob/main/.env_gptui.example) file.
When using the "WebServe" plugin, `GOOGLE_KEY` and `GOOGLE_CX` need to be provided, which can be [obtained](https://developers.google.com/custom-search/v1/introduction) free of charge from Google.

## Config File
See `./config.yml` for a config file example that lists all configurable options.
Depending on the platform you are using, it is best to configure the following options:

- os: system platform

Otherwise, some features may not work properly, such as code copy and voice related functions.

## Configuration Guide
For detailed configuration instructions, please refer to [here](./docs/configuration.md).

# Quick Start

## Interface Layout

![gptui-layout](https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_layout.jpg)

- **chat area**: Display area for chat content.
- **status area**: Program status display area, displaying response animations and notifications.
- **input area**: Chat content input area.
- **auxiliary area**: Auxiliary information area, displaying "internal communication" between the program and the LLM, including function call information, etc.
- **control area**: The program's control area, where you can view and set the state of the program, such as change OpenAI chat parameters.
- **chat tabs**: Conversation Tab Bar.
- **conversation control**: Conversation control buttons. From top to bottom they are:
  - `+`: **_New conversation_**
  - `>`: **_Save conversation_**
  - `<`: **_Load conversation_**
  - `-`: **_Delete conversation_**
  - `x`: **_Delete conversation file_**
  - `n`: **_Disposable conversation_**
  - `↥`: **_Upload file_**
- **panel selector**: Panel selection area. From top to bottom they are:
  - `C`: **_Conversation file records_**
  - `D`: **_System file tree_**
  - `A`: **_Auxiliary information panel_**
  - `T`: **_File pipeline panel_**
  - `P`: **_Plugin selection panel_**
- **switches**:Direct control switches. From left to right they are:
  - `R`: **_Program state auto save and restore switch_**
  - `V`: **_Voice switch_**
  - `S`: **_Read reply by voice_**
  - `F`: **_Fold files in chat_**
  - `|Exit|`: **_Exit program_**
- **dashboard**:Context window size for chat.
- **others**:
  - `<`: **_Previous chat_**
  - `>`: **_Next chat_**
  - `1`: **_Number of chats_**
  - `☌`: **_[Running status](#Running status)_**
  - `↣`: **_Fold right non-chat area_**
  - `?`: **_Help documentation_**

## Running status

<span style="color:green">☌</span>: Ready.  
<span style="color:red">☍</span>: Task running.

## Dynamic Commands

Switch to `S` in the control area, enter the command and press enter. Currently supports the following commands:
- Set chat parameters
Command: **set_chat_parameters()**  
Parameters: OpenAI chat parameters in dictionary form, refer to [OpenAI Chat](https://platform.openai.com/docs/api-reference/chat/create).  
Example: `set_chat_parameters({"model": "gpt-4", "stream": True})`
- Set max sending tokens ratio
Command: **set_max_sending_tokens_ratio()**  
Parameters: The ratio of the number of sent tokens to the total token window, in float form. The remaining token count is used as the limit for the number of tokens GPT returns.  
Example: `set_max_sending_tokens_ratio(0.5)`

## Hotkeys

GPTUI provides hotkeys for commonly used features, see [Help](https://github.com/happyapplehorse/gptui/blob/main/docs/help.md).
In addition, you can also press `ESC`, `ctrl+[`, or `ctrl+/` to bring up the hotkey menu (this mode offers more comprehensive hotkey functionalities, but they are not exactly the same as the direct hotkeys.).

# Documentation

For detailed usage and development instructions, see [here](https://happyapplehorse.github.io/gptui/), for in-program help documentation see [here](src/gptui/help.md).

# Contribution

Some of GPTUI's plugin features rely on prompt, you can continue to help me improve these prompt.
And I'd like to have appropriate animation cues during certain state changes.
If you have any creative ideas, I'd appreciate your help in implementing them.
P.S.: Each contributor can leave a quote in the program.

# Note
This project utilizes OpenAI's Text-to-Speech (TTS) services for generating voice outputs.
Please be aware that the voices you hear are not produced by human speakers, but are synthesized by AI technology.

# License

GPTUI is built upon a multitude of outstanding open-source components and adheres to the [MIT License](https://github.com/happyapplehorse/gptui/blob/main/LICENSE) open-source agreement.
You are free to use it.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "gptui",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "TUI,terminal,GPT,CLI,textual user interface",
    "author": "",
    "author_email": "Xueao Chao <chaoxueao@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b3/1d/e595835367bae3d93e91662b52773a898f80440efba4d501f79f1c25e130/gptui-0.5.4.tar.gz",
    "platform": null,
    "description": "# GPTUI\n![GitHub](https://img.shields.io/github/license/happyapplehorse/gptui)\n![PyPI - Version](https://img.shields.io/pypi/v/gptui)\n[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/happyapplehorse/gptui/static.yml?label=docs)](https://happyapplehorse.github.io/gptui/)\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/happyapplehorse/gptui/python-publish.yml?label=build)\n[![Static Badge](https://img.shields.io/badge/bilibili-twototoo222-pink)](https://space.bilibili.com/80170263)\n\n[English readme](README.md) \u2022 [\u7b80\u4f53\u4e2d\u6587 readme](README.zh.md)\n\n<img src=\"https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_logo.png\" alt=\"gptui_logo\" align=\"left\" width=\"70px\" height=\"70px\"/>\nGPTUI is a GPT conversational TUI (Textual User Interface) tool that runs within the terminal.\nUsing the Textual framework for its TUI interface and equipping the plugin framework provided by Semantic Kernel.\nGPTUI offers a lightweight <a href=\"#gptui_kernel\">Kernel</a> to power AI applications.\nThe top-level TUI application is decoupled from the underlying Kernel, allowing you to easily replace the TUI interface or expand its functionalities.\nAt present, only the GPT model of OpenAI is supported, and other LLM interfaces will be added later.\n\n&nbsp;\n![gptui_demo](https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_demo.gif)\n\n## TUI Features\n- Create and manage conversations with GPT.\n- Display context tokens in real-time.\n- View and adjust GPT conversation parameters at any time, such as temperature, top_p, presence_penalty, etc.\n- A dedicated channel to display internal process calls.\n- Offers a file channel through which you can upload to or download from GPT.\n- Voice functionality.\n- Group talk functionality[^recommend_better_model][^token_cost].\n- AI-Care. Your AI can propactively care for you[^ai_care].\n- Optional built-in plugins (continuously evolving):\n  - Internet search[^google_key].\n  - Open interpreter[^open_interpreter][^token_cost][^recommend_better_model]. (Temporarily removed, waiting to be added back after it supports openai v1.x.)\n  - Reminders[^recommend_better_model].\n  - Recollecting memories from vectorized conversation history.\n- Support custom plugins.\n\n![gptui_img](https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_img.jpg)\n\n[^open_interpreter]: This plugin utilizes [open-interpreter](https://github.com/KillianLucas/open-interpreter), you need to\nfirst follow the instructions provided by open-interpreter to properly set up the environment and API.\nThe open-interpreter has the permission to execute code, please ensure that you are already aware of the associated risk before\nenabling this feature.\n[^recommend_better_model]: It is recommended to use this under the GPT-4 model or a better one.\n[^token_cost]: Note: This feature may incur a significant token cost.\n[^ai_care]: Powered by [AI-Care](https://github.com/happyapplehorse/ai-care).\n[^google_key]: `GOOGLE_KEY` and `GOOGLE_CX` are required. Obtained free from [here](https://developers.google.com/custom-search/v1/introduction).\n\n## \ud83c\udfac Demo Videos\n- [AI-Care](https://www.youtube.com/watch?v=gPQ7XV-Q1r8)\n\n# Compatibility\nGPTUI runs in a command line environment and is compatible with Linux, macOS, Windows and Android[^compatibility].\nUsing the functionality provided by textual-web, you can also run GPTUI in the browser and share it with remote friends\ud83d\udc4d.\n\n[^compatibility]: I haven't tested it on the Windows platform yet, and some functionalities like code copying,\nvoice features, etc., still need drivers to be written. I will complete these features later.\nWhen running on Android, please use the [Termux](https://github.com/termux/termux-app) terminal tool.\nFor additional features like code copying and voice functionalities,\nyou need to install [Termux-API](https://github.com/termux/termux-api) and grant the necessary permissions.\n\n<a name=\"gptui_kernel\"> </a>\n## \u2699\ufe0f GPTUI Kernel\n\nGPTUI offers a lightweight Kernel for building AI applications, allowing you to easily expand GPTUI's capabilities or construct your own AI application.\n\n<p align=\"center\"><img src=\"https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_framework.png\" alt=\"gptui-framework\" width=\"700\"/></p >\n\nThe **kernel** relies on **jobs** and **handlers** to perform specific functions.\nTo achieve new functionalities, all you need to do is write or combine your own **jobs** and **handlers**.\nThe **manager** and **kernel** of GPTUI are entirely independent of the **client** application, enabling you to effortlessly relocate the **manager** or **kernel** for use elsewhere.\nThe application layer of GPTUI (**client**) employs the CVM architecture, where the model layer provides foundational, reusable modules for interaction with LLM, independent of specific views and controllers implementations.\nIf you wish to build your own AI application, you can start here, fully utilizing the **kernel**, **manager**, and models.\nTo alter or expand UI functionalities, typically, only modifications to the controllers and views are needed.\n\nSee Development Documentation for details. [Documentation](#documentation).\n\nIf you need to use certain functions or components of gptui, you can import and use gptui as a library.\n\n# Installation\n\nNormal use requires ensuring stable network connection to OpenAI.\nIf you encounter any issues, please refer to [troubleshooting](docs/troubleshooting.md).\n\n## Install with pip\n\n```\npip install gptui\n```\n\n[Config your API keys](#config-api-keys) before running.\n\nTo run\uff1a\n```\ngptui\n```\nSpecify config file\uff1a\n```\ngptui --config <your_config_file_path>\n```\nThis program loads files through the following steps:\n1. Read the configuration file from --config. If not specified, proceed to the next step.\n2. Search for ~/.gptui/.config.yml in the user directory. If not found, move to the next step.\n3. Copy the default configuration file gptui/config.yml to ~/.gitui/.config.yml and use it.\n\n## Install from source\n\n```\ngit clone https://github.com/happyapplehorse/gptui.git\ncd gptui\npip install .\n```\nAPI configuration is required before running.\n\nTo run:\n\n```bash\ngptui\n# Or you can also use\n# python -m gptui\n```\n\nYou can also directly run the startup script (this allows you to modify the source code and run it immediately):\nFirst, install the dependencies:\n\n```\npip install -r requirements.txt\n```\nThen, run the startup script:\n```\npython main.py\n```\n\nWhen running the program with `python main.py` or `python -m gptui`, use `gptui/config.yml` as the configuration file.\n\nOn Linux or macOS systems, if you want to use voice functionalities, you'll need to install pyaudio separately.\n\n# Configuration\n\n## Config API keys\nConfigure the corresponding API Keys in `~/.gptui/.env_gptui`.\nRefer to the [.env_gptui.example](https://github.com/happyapplehorse/gptui/blob/main/.env_gptui.example) file.\nWhen using the \"WebServe\" plugin, `GOOGLE_KEY` and `GOOGLE_CX` need to be provided, which can be [obtained](https://developers.google.com/custom-search/v1/introduction) free of charge from Google.\n\n## Config File\nSee `./config.yml` for a config file example that lists all configurable options.\nDepending on the platform you are using, it is best to configure the following options:\n\n- os: system platform\n\nOtherwise, some features may not work properly, such as code copy and voice related functions.\n\n## Configuration Guide\nFor detailed configuration instructions, please refer to [here](./docs/configuration.md).\n\n# Quick Start\n\n## Interface Layout\n\n![gptui-layout](https://github.com/happyapplehorse/happyapplehorse-assets/blob/main/imgs/gptui_layout.jpg)\n\n- **chat area**: Display area for chat content.\n- **status area**\uff1a Program status display area, displaying response animations and notifications.\n- **input area**: Chat content input area.\n- **auxiliary area**: Auxiliary information area, displaying \"internal communication\" between the program and the LLM, including function call information, etc.\n- **control area**: The program's control area, where you can view and set the state of the program, such as change OpenAI chat parameters.\n- **chat tabs**: Conversation Tab Bar.\n- **conversation control**: Conversation control buttons. From top to bottom they are:\n  - `+`: **_New conversation_**\n  - `>`: **_Save conversation_**\n  - `<`: **_Load conversation_**\n  - `-`: **_Delete conversation_**\n  - `x`: **_Delete conversation file_**\n  - `n`: **_Disposable conversation_**\n  - `\u21a5`: **_Upload file_**\n- **panel selector**: Panel selection area. From top to bottom they are\uff1a\n  - `C`: **_Conversation file records_**\n  - `D`: **_System file tree_**\n  - `A`: **_Auxiliary information panel_**\n  - `T`: **_File pipeline panel_**\n  - `P`: **_Plugin selection panel_**\n- **switches**\uff1aDirect control switches. From left to right they are\uff1a\n  - `R`: **_Program state auto save and restore switch_**\n  - `V`: **_Voice switch_**\n  - `S`: **_Read reply by voice_**\n  - `F`: **_Fold files in chat_**\n  - `|Exit|`: **_Exit program_**\n- **dashboard**\uff1aContext window size for chat.\n- **others**:\n  - `<`: **_Previous chat_**\n  - `>`: **_Next chat_**\n  - `1`: **_Number of chats_**\n  - `\u260c`: **_[Running status](#Running status)_**\n  - `\u21a3`: **_Fold right non-chat area_**\n  - `?`: **_Help documentation_**\n\n## Running status\n\n<span style=\"color:green\">\u260c</span>: Ready.  \n<span style=\"color:red\">\u260d</span>: Task running.\n\n## Dynamic Commands\n\nSwitch to `S` in the control area, enter the command and press enter. Currently supports the following commands:\n- Set chat parameters\nCommand: **set_chat_parameters()**  \nParameters: OpenAI chat parameters in dictionary form, refer to [OpenAI Chat](https://platform.openai.com/docs/api-reference/chat/create).  \nExample: `set_chat_parameters({\"model\": \"gpt-4\", \"stream\": True})`\n- Set max sending tokens ratio\nCommand: **set_max_sending_tokens_ratio()**  \nParameters: The ratio of the number of sent tokens to the total token window, in float form. The remaining token count is used as the limit for the number of tokens GPT returns.  \nExample: `set_max_sending_tokens_ratio(0.5)`\n\n## Hotkeys\n\nGPTUI provides hotkeys for commonly used features, see [Help](https://github.com/happyapplehorse/gptui/blob/main/docs/help.md).\nIn addition, you can also press `ESC`, `ctrl+[`, or `ctrl+/` to bring up the hotkey menu (this mode offers more comprehensive hotkey functionalities, but they are not exactly the same as the direct hotkeys.).\n\n# Documentation\n\nFor detailed usage and development instructions, see [here](https://happyapplehorse.github.io/gptui/), for in-program help documentation see [here](src/gptui/help.md).\n\n# Contribution\n\nSome of GPTUI's plugin features rely on prompt, you can continue to help me improve these prompt.\nAnd I'd like to have appropriate animation cues during certain state changes.\nIf you have any creative ideas, I'd appreciate your help in implementing them.\nP.S.: Each contributor can leave a quote in the program.\n\n# Note\nThis project utilizes OpenAI's Text-to-Speech (TTS) services for generating voice outputs.\nPlease be aware that the voices you hear are not produced by human speakers, but are synthesized by AI technology.\n\n# License\n\nGPTUI is built upon a multitude of outstanding open-source components and adheres to the [MIT License](https://github.com/happyapplehorse/gptui/blob/main/LICENSE) open-source agreement.\nYou are free to use it.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023 Xueao Chao  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "A GPT conversational TUI tool that runs within the terminal.",
    "version": "0.5.4",
    "project_urls": {
        "Bug Tracker": "https://github.com/happyapplehorse/gptui/issues",
        "Homepage": "https://github.com/happyapplehorse/gptui"
    },
    "split_keywords": [
        "tui",
        "terminal",
        "gpt",
        "cli",
        "textual user interface"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b0b86c421b4c7a389daf33092ba214e4c3988fce828a758f3a591676cc20ea35",
                "md5": "84a5135bdf5107e7ea6365e0d712445c",
                "sha256": "de931612d426975f0f1d7a779bff436aad213a7874f91b8e789a99c12eab3b61"
            },
            "downloads": -1,
            "filename": "gptui-0.5.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "84a5135bdf5107e7ea6365e0d712445c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 161958,
            "upload_time": "2024-01-09T10:51:54",
            "upload_time_iso_8601": "2024-01-09T10:51:54.022709Z",
            "url": "https://files.pythonhosted.org/packages/b0/b8/6c421b4c7a389daf33092ba214e4c3988fce828a758f3a591676cc20ea35/gptui-0.5.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b31de595835367bae3d93e91662b52773a898f80440efba4d501f79f1c25e130",
                "md5": "433c57b38a360da50c36db78c3882044",
                "sha256": "8f529533fbf6ae3caaeaebb489b46bdd7c0cddf0ac4e8d74e6a99d16d4ed148c"
            },
            "downloads": -1,
            "filename": "gptui-0.5.4.tar.gz",
            "has_sig": false,
            "md5_digest": "433c57b38a360da50c36db78c3882044",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 136137,
            "upload_time": "2024-01-09T10:51:55",
            "upload_time_iso_8601": "2024-01-09T10:51:55.829717Z",
            "url": "https://files.pythonhosted.org/packages/b3/1d/e595835367bae3d93e91662b52773a898f80440efba4d501f79f1c25e130/gptui-0.5.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-09 10:51:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "happyapplehorse",
    "github_project": "gptui",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "gptui"
}
        
Elapsed time: 0.16229s