Skip to main content

AI Toolbox

Basic CLI Chatbot

A command-line chatbot that talks to OpenAI, Gemini, Grok, or a local Ollama server. A chat requires a provider and a model.

The PyPI name is lupaxa-basic-cli-chatbot. The console script is basic-cli-chatbot.

Install

Python 3.10 or newer. Set OPENAI_API_KEY for --provider openai, GEMINI_API_KEY for --provider gemini, and XAI_API_KEY for --provider grok. Ollama uses a local server and does not need those keys.

pip install lupaxa-basic-cli-chatbot

Homebrew

brew tap the-lupaxa-project/tap
brew trust the-lupaxa-project/tap
brew install basic-cli-chatbot

Usage

A command with no question opens a prompt. A question after the flags asks once and exits.

basic-cli-chatbot --provider openai --model gpt-5.6-luna
basic-cli-chatbot --provider openai --model gpt-5.6-luna "What is 2+2?"
basic-cli-chatbot --provider ollama --model llama3.2
basic-cli-chatbot --provider grok --model grok-4.6
basic-cli-chatbot --list-models --provider ollama
basic-cli-chatbot --show-config --provider gemini
basic-cli-chatbot --version
basic-cli-chatbot --help

--provider overrides BASIC_CLI_CHATBOT_PROVIDER. --model overrides BASIC_CLI_CHATBOT_MODEL.

Ollama talks to a server at http://localhost:11434. That server has to be running, and the model has to be installed already (ollama pull llama3.2).

A YAML profile file can supply the provider, the model, and the optional chat settings. The default path is $XDG_CONFIG_HOME/basic-cli-chatbot/config.yaml, or ~/.config/basic-cli-chatbot/config.yaml when XDG_CONFIG_HOME is unset. --config points at another file.

default:
  provider: openai
  model: gpt-5.6-luna
code-review:
  provider: ollama
  model: llama3.2
  ollama-host: http://127.0.0.1:11434
  timeout: 120

--profile code-review uses that profile and cannot be combined with --provider or --model. With neither of those flags and no --profile, a default profile is used. --ollama-host, --max-context-messages, --timeout, --stream, and --no-stream replace the profile value when you pass them. --validate checks the file and exits. API keys stay in the environment.

--ollama-host overrides http://localhost:11434.

--max-context-messages defaults to 0, which keeps the whole conversation.

Replies print as they arrive. --no-stream prints the reply in one piece.

The reply wait is 60 seconds for OpenAI, Gemini, and Grok, and 300 seconds for Ollama. --timeout overrides that. BASIC_CLI_CHATBOT_TIMEOUT is used only when --timeout is unset and the profile has no timeout.

exit and quit stop the prompt. clear drops the conversation. /context prints how many messages are kept. /provider and /model print the current names.

--show-config reports a key as configured or not configured and does not print the secret.

Development

make init
make python-install-dev
make python-check
The Lupaxa Project Footer

Metadata

Release files for lupaxa-basic-cli-chatbot 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lupaxa-basic-cli-chatbot 0.1.0
File Size Uploaded
lupaxa_basic_cli_chatbot-0.1.0.tar.gz 14.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lupaxa-basic-cli-chatbot 0.1.0
File Interpreter ABI Platform
lupaxa_basic_cli_chatbot-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.4 kB

Release files / lupaxa_basic_cli_chatbot-0.1.0.tar.gz

Download URL lupaxa_basic_cli_chatbot-0.1.0.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
51ffb153fd5a0d5508412abbd206c5862a754b54b8c906f6bea4ec06b5d2aed4
BLAKE2b-256 checksum
How to use checksums
a31782446b025dd427bd1cd1cdcdee6acfc944e9abb5b190997b32e8c4eb4daa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / lupaxa_basic_cli_chatbot-0.1.0-py3-none-any.whl

Download URL lupaxa_basic_cli_chatbot-0.1.0-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3cb43afc970fc058dc2ab3fd54d41a85ab0329f2c8e3f64c276a2f05d82f6fc
BLAKE2b-256 checksum
How to use checksums
e39096fb11eb416598d54620bf3d15388352382bfaf208604adeb669331b8a38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page