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/

Metadata

Release files for askora 0.0.2

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

Source distribution (sdist)

Source distribution for askora 0.0.2
File Size Uploaded
askora-0.0.2.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for askora 0.0.2
File Interpreter ABI Platform
askora-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 13.9 kB

Release files / askora-0.0.2.tar.gz

Download URL askora-0.0.2.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
aa34501fd415b5a92a7d2efd99f1103061d7e98bb468bb76cb65eaf59d06d156
BLAKE2b-256 checksum
How to use checksums
13f188e198eb419fa1f7ef9e02b0bd743e2c6412aa6343eccc3119a172eea412
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Release files / askora-0.0.2-py3-none-any.whl

Download URL askora-0.0.2-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6a56c3fc5f5a6c5afbb6a44eaa63be82188abe747115766a6c97620006c86a59
BLAKE2b-256 checksum
How to use checksums
27fab06e2bd45e7ffb1fb6164c2409a1140f83aee0b58f7d548e688df23e3442
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

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