Observed since 21 Oct, 11:03 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Universal AI interaction library with session and tool support.
A modular AI interaction framework with streaming, tool calling, context history, session management, retry/backoff logic, multi-provider support, and optional real-time logging.
Built for testability, extensibility, and CLI or programmatic use.
session.pyTo install directly from GitHub:
pip install git+https://github.com/woodyk/interactor.git#egg=interactor
Or clone locally and install for development:
git clone https://github.com/woodyk/interactor.git
cd interactor
pip install -e .
Defined in requirements.txt:
openaiaiohttptiktokenrichAfter installing:
interactor
Command-line options:
--model: Model in format provider:model (e.g., openai:gpt-4o)--api-key: Optional override (default uses env var)--base-url: Optional custom API base--tools: Enable tool calling--stream: Stream assistant replies--markdown: Render streamed output as markdownUse /exit or /quit to end the session.
from interactor import Interactor, Session
inter = Interactor(
model="openai:gpt-4o",
session_enabled=True,
session_path="~/.interactor_sessions",
log_path="~/interactor.log"
)
def say_hello(name: str) -> str:
return f"Hello, {name}!"
inter.add_function(say_hello)
reply = inter.interact("Please greet Ada.")
print(reply)
Sessions are JSON files stored on disk.
You can:
interactor.summarize()To enable logging:
inter = Interactor(..., log_path="~/my_session.log")
Logs include:
Copyright (c) Wadih Khairallah. All rights reserved.
Licensed for use and modification under the MIT License.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.2.5 | 19 May 2025 | 6 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 11:03 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:4a2213e77900281844d7a45487b1fc8a69efc4104d73f4f0424121d8fad850f0