Skip to main content

A Python client for interacting with Orbit chat servers

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Schmitech Orbit Client

A Python client for interacting with Orbit chat servers. This client provides a command-line interface for chatting with Orbit servers, supporting both standard and MCP protocol formats.

Installation

pip install schmitech-orbit-client

Usage

After installation, you can use the client in two ways:

1. Command-line Interface

The simplest way to use the client is through the command-line interface:

# Basic usage with default settings
orbit-chat --url http://your-server:3000

# Advanced usage with all options
orbit-chat --url http://your-server:3000 \
           --api-key your-api-key \
           --debug \
           --show-timing \
           --mcp

Command-line Options

  • --url: Chat server URL (default: http://localhost:3000)
  • --api-key: API key for authentication
  • --debug: Enable debug mode to see request/response details
  • --show-timing: Show latency timing information
  • --mcp: Use MCP protocol format instead of standard format

Interactive Features

  • Use up/down arrow keys to navigate through chat history
  • Type exit or quit to end the conversation
  • Press Ctrl+C to interrupt the current response
  • Chat history is saved in ~/.orbit_client_history/chat_history

2. Python Module

You can also use the client in your Python code:

from schmitech_orbit_client import stream_chat

# Basic usage
response, timing_info = stream_chat(
    url="http://your-server:3000",
    message="Hello, how are you?"
)

# Advanced usage with all options
response, timing_info = stream_chat(
    url="http://your-server:3000",
    message="Hello, how are you?",
    api_key="your-api-key",  # optional
    debug=True,              # optional
    use_mcp=True            # optional
)

# The response contains:
# - response: The full text response from the server
# - timing_info: Dictionary with timing metrics
#   - total_time: Total request time
#   - time_to_first_token: Time until first response token

Features

  • Interactive CLI: Command-line interface with history navigation
  • Protocol Support: Both standard and MCP protocol formats
  • Real-time Streaming: Responses appear gradually, character by character
  • Colored Output: Better readability with syntax highlighting
  • Debug Mode: Detailed request/response information for troubleshooting
  • Performance Metrics: Latency timing information
  • Authentication: API key support for secure communication
  • Cross-platform: Works on Windows, macOS, and Linux
  • Unicode Support: Full support for non-English characters

Examples

Basic Chat Session

$ orbit-chat --url http://localhost:3000
Welcome to the Orbit Chat Client!
Server URL: http://localhost:3000
Type 'exit' or 'quit' to end the conversation.
You can use arrow keys to navigate, up/down for history.

You: Hello, how are you?
Assistant: I'm doing well, thank you for asking! How can I help you today?

You: exit
Goodbye!

Debug Mode

$ orbit-chat --url http://localhost:3000 --debug
Debug - Request:
{
  "message": "Hello",
  "stream": true
}
Debug - Received:
{
  "text": "Hi there!"
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

schmitech_orbit_client-0.1.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

schmitech_orbit_client-0.1.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file schmitech_orbit_client-0.1.0.tar.gz.

File metadata

  • Download URL: schmitech_orbit_client-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for schmitech_orbit_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 221205fc6c6a9520d5b78cc0761328afc51f306492c9b362708f34acdc73da1a
MD5 a5f5a7a546a2f2dd4c09511a11d02b59
BLAKE2b-256 2cd7ef539018a6e6c55f62ee2f7f53f2e3b274eefb24e003b14e26536d9644c8

See more details on using hashes here.

File details

Details for the file schmitech_orbit_client-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for schmitech_orbit_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2dc7e1ef5645863ba22bd7ec105af13bce3b53f0edd6dd4d537b3845db3d6fd
MD5 23060ac74b7948f0eae9c5d64e75a86f
BLAKE2b-256 c07824aa727b314918dc276c76a7da56d2d89c8db183bec7b08aace40272d3c4

See more details on using hashes here.

Supported by

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