PyPI: v0.3.0 published
pip install langchain-openttt installs the published v0.3.0 package, which
ships both
TTTPSTimestampCallbackHandler (internal PoT server) and
TTTPSTimestampCallbackHandlerKPPLive (this public self-serve API) —
verified importable from the live PyPI wheel in an isolated venv. It is also registered in
LangChain's own docs repo rather than mentioned by a third party:
langchain-ai/docs #5257
adds it to the integrations YAML and is
merged into the LangChain External
Integrations Registry.
pip install langchain-openttt # v0.3.0
import os
os.environ["KPP_API_KEY"] = "kpp_prov_..." # mint free: POST https://kpp.kenosian.com/v1/keys
from langchain_openttt import TTTPSTimestampCallbackHandlerKPPLive
resp = llm.invoke("hi", config={"callbacks": [TTTPSTimestampCallbackHandlerKPPLive()]})
# resp.generation_info["tttps_receipt"]
# -> {"status": "ok", "receipt_id": "...", "receipt": "...", "time": "...", ...}
PyPI: v0.1.0 published
Docs recipe (inline
CustomLogger) shipped upstream via
BerriAI/litellm-docs #760
(
docs/observability/tttps_provenance.md, open).
pip install litellm-openttt # v0.1.0
import litellm
from litellm_openttt import TTTPSTimestampLoggerKPPLive
litellm.callbacks = [TTTPSTimestampLoggerKPPLive()]
resp = litellm.completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "hi"}],
)
print(resp.tttps_receipt)
# {"status": "ok", "receipt_id": "...", "receipt": "...", "time": "...", ...}
PyPI: v0.1.0 published
No upstream PR here yet. run-llama/llama_index's own CONTRIBUTING.md states
new integration packages aren't accepted into the monorepo and must already be published
to PyPI independently first. That precondition is now met, so a docs PR is the next step
rather than a blocked one.
pip install llamaindex-openttt # v0.1.0
from llama_index.core import Settings
from llama_index.core.callbacks import CallbackManager
from llamaindex_openttt import TTTPSTimestampCallbackHandlerKPPLive
Settings.callback_manager = CallbackManager([TTTPSTimestampCallbackHandlerKPPLive()])
resp = llm.complete("hi")
print(resp.additional_kwargs["tttps_receipt"])
# {"status": "ok", "receipt_id": "...", "receipt": "...", "time": "...", ...}
PyPI: v0.1.0 published
pip install smolagents-openttt # v0.1.0
from smolagents import CodeAgent
from smolagents_openttt import ttts_pot_step_callback_kpp_live
agent = CodeAgent(
tools=[],
model=your_model,
step_callbacks=[ttts_pot_step_callback_kpp_live],
)
result = agent.run("your task")
for step in agent.memory.steps:
print(getattr(step, "tttps_receipt", None))
# {"status": "ok", "receipt_id": "...", "receipt": "...", "time": "...", ...}
PyPI: v0.1.0 published
Registers via vLLM's official
--middleware flag (confirmed live against
vLLM's own
build_app() with a real server and a completed
/v1/completions round trip). The example shipped upstream via
vllm-project/vllm #50998
(
examples/observability/tttps/, open) calls the public
kpp.kenosian.com API, so external readers can reproduce it.
pip install vllm-openttt # v0.1.0
export KPP_API_KEY=kpp_prov_... # mint free: POST https://kpp.kenosian.com/v1/keys
vllm serve facebook/opt-125m \
--middleware vllm_openttt.TTTPSMiddleware
# curl http://localhost:8000/v1/completions ...
# -> response header: X-TTTPS-Receipt: {"status": "ok", "receipt_id": "...", "receipt": "...", ...}
PyPI: v0.1.0 published
Ollama has no plugin/middleware extension point (confirmed by reading
server/routes.go), so this is a small reverse proxy in front of it. It
already targets the public kpp.kenosian.com API. Both non-streaming and
streaming (NDJSON) responses are supported — streaming gets a receipt attached to
its final done:true line only, with zero added per-token latency. Ollama's
README does have a real “Community Integrations” list open to PRs, but this
proxy isn't in its own public repo yet, so there's nothing citable to link there yet
— tracked, not forgotten.
KPP_API_KEY=kpp_prov_... python ollama_proxy.py --port 11435
# point your Ollama client at localhost:11435 instead of 11434
curl localhost:11435/api/generate -d '{"model":"qwen2.5:0.5b","prompt":"hi","stream":false}'
# -> ollama's normal JSON, plus a "tttps_receipt" field and
# X-TTTPS-Receipt / X-TTTPS-Status response headers