Skip to main content

ChatGPT HTTP API Client and CLI

Project description

💻 ChatGPT API

Unofficial API client and CLI for ChatGPT.

PyPI License Coverage


Short Demo GIF


This project is based on httpx (uses only HTTP) and uses Typer (with Rich) for CLI, so responses are looking good (markdown is supported). Also, It has 100% code coverage unlike other ChatGPT packages.

Long Demo GIF

Status

ChatGPT API often changes. I'm trying to make updates as soon as possible. So, if something is not working properly and you recently didn't upgrade chatgpt-api, try to do this first:

pip install --upgrade chatgpt-api

If that doesn't help, please open an issue.

Installation

pip install chatgpt-api

Usage

As a Command Line Interface

Setup

Required to authenticate. In this step you have to provide session key.

chatgpt setup

Start chatting

chatgpt start

As an API

ChatGPT class inherits from httpx.Client

Recommended usage:

from chatgpt.api import ChatGPT

with ChatGPT(session_token="your-session-token") as chat:
    response = chat.send_message("Hello!")
    print(response.content)

Without context manager you have to explicitly authenticate:

from chatgpt.api import ChatGPT

chat = ChatGPT(session_token="your-session-token")
chat.authenticate()
response = chat.send_message("Hello!")
print(response.content)
chat.close()

How to acquire session key?

After you log in to ChatGPT in your browser, get value of __Secure-next-auth.session-token cookie. In this project, this is named as a "session key".

Chrome instruction

  1. Open ChromeDevTools (F12).
  2. Click on "Application" tab.
  3. Click on "Cookies", on the left bar.
  4. Copy the value of __Secure-next-auth.session-token:

Cookie value example

Now, you can use it in CLI or directly from Python code.

License

Distributed under the MIT License. See LICENSE for more information.

Disclaimer

This is a personal project, not affiliated in any way with OpenAI. If you have any objections, please contact me.

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

chatgpt-api-0.2.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

chatgpt_api-0.2.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file chatgpt-api-0.2.1.tar.gz.

File metadata

  • Download URL: chatgpt-api-0.2.1.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for chatgpt-api-0.2.1.tar.gz
Algorithm Hash digest
SHA256 7daba92d039c43e3fd8fc1d8b62a0b3834b83d307c139162d1f03b4cfaa25681
MD5 5b5d0e30339774e18d4358bd6db86ff8
BLAKE2b-256 d6e1ffc48601f7ec9f821ace4c6640925da703f19958544af6214799385d3086

See more details on using hashes here.

File details

Details for the file chatgpt_api-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: chatgpt_api-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for chatgpt_api-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f55d3ee8652d52ac8baee9ad30d1646764cae651f4e5cfdb12ac386b15d3c318
MD5 95b76bad113b1bdff6cb8a8d456707ca
BLAKE2b-256 7f29f49d1e21dc2d0544d7b35b58a2097624b49b78e9fc182898a1482c326405

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page