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.1

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.1
File Size Uploaded
lupaxa_basic_cli_chatbot-0.1.1.tar.gz 14.8 kB Details

Built distribution (wheel)

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

Total release size: 36.4 kB

Release files / lupaxa_basic_cli_chatbot-0.1.1.tar.gz

Download URL lupaxa_basic_cli_chatbot-0.1.1.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
65ee2704e20c8a2002d1a3b40eb5a6224837095be125e601871cf80257f0a926
BLAKE2b-256 checksum
How to use checksums
b6671bd2893807221b85b72fc1e7ab9be470e04535c85ebb4bbc096d80061d97
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 7, 2026.

Transparency log

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

Download URL lupaxa_basic_cli_chatbot-0.1.1-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6ebb67458bce1df63f7b0e6e04f33bafac71402c13c5454ea016d5d54e8df24
BLAKE2b-256 checksum
How to use checksums
34543d8ee65911a2c28e6d0c44601f5c1bf3e2bbfe630ee9079b7f03e03f58c0
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 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

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