Skip to main content

AskOra

AskOra is a unified Python CLI for interacting with multiple AI providers like OpenAI, Ollama, DeepSeek and Anthropic(Claude). Send prompts, get responses, and switch between providers seamlessly, all from the command line.


Features

  • Single CLI to interact with multiple AI providers
  • Supports OpenAI, Ollama, Anthropic(Claude), DeepSeek and more in the future
  • Returns structured responses with tokens used and execution time
  • Supports sync and async execution
  • Clean error handling for missing models, invalid API keys, etc.
  • Available on PyPI as askora

Installation

Clone the repo and install dependencies:

git clone https://github.com/jetroni/askora.git
cd askora
python -m venv .venv
source .venv/bin/activate   # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

Or install directly from PyPI:

pip install askora

(Optional) Make the CLI globally executable:

pip install --editable .

Usage

Basic usage:

askora --type openai --prompt "Hello AI"

Run with async mode:

askora --type openai --prompt "Hello AI" --async-mode

Ollama example (with base URL):

askora --type ollama --base-url http://localhost:11434 --model codellama --prompt "Hello"

CLI Options

Option Description
--type AI provider type (openai, ollama)
--prompt Text prompt to send to the AI
--key API key for providers that require authentication
--model Model name to use (defaults vary per provider)
--base-url Base URL for self-hosted providers like Ollama
--async-mode Run asynchronously (flag, no value needed)

Response Structure

All responses are returned as a structured JSON object:

{
  "provider": "openai",
  "model": "gpt-4o-mini",
  "output": "Hello! How can I assist you today?",
  "raw": {...},
  "tokens_used": 17,
  "duration_ms": 543
}

Contributing

We welcome contributions!

  • Add support for new AI providers
  • Improve error handling
  • Enhance async execution and CLI experience

Please fork the repo and submit a pull request.


License

MIT License. Free to use and modify.


PyPI

AskOra is published on PyPI. Install via:

pip install askora

Stay up to date with the latest releases and check the package page: https://pypi.org/project/askora/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

askora-0.0.2.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

askora-0.0.2-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file askora-0.0.2.tar.gz.

File metadata

  • Download URL: askora-0.0.2.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for askora-0.0.2.tar.gz
Algorithm Hash digest
SHA256 aa34501fd415b5a92a7d2efd99f1103061d7e98bb468bb76cb65eaf59d06d156
MD5 e2bde8fabbfd961bc35da0e7ce2997e2
BLAKE2b-256 13f188e198eb419fa1f7ef9e02b0bd743e2c6412aa6343eccc3119a172eea412

See more details on using hashes here.

File details

Details for the file askora-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: askora-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for askora-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6a56c3fc5f5a6c5afbb6a44eaa63be82188abe747115766a6c97620006c86a59
MD5 cc0f83c13b0e7648cee3e6c983d9a5c3
BLAKE2b-256 27fab06e2bd45e7ffb1fb6164c2409a1140f83aee0b58f7d548e688df23e3442

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 files

0.0.1

2 files

Supported by

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