Skip to content

Docs / Getting Started

Stability & Versioning

0.3.0 is the first stable release of the 0.3 series. The public cliver-core API stays backward compatible: 0.3.x releases contain bug fixes and backward-compatible additions. Breaking changes require a new minor release. The cliver CLI application remains experimental and is not published to PyPI.

  • Names exported from cliver_core.__init__ — AgentCore, ModelBinding, ModelBindings, presets, and the other documented exports.
  • Documented methods, parameters, return types, and event payloads on those objects.
  • The wire and lifecycle contracts under Core Concepts.

Modules, classes, and functions under cliver_core.* that are not exported or documented are internal. They may change without notice.

  • SemVer before 1.0. 0.3.0 is a stable minor release; breaking changes require a new minor release (0.4.0).
  • Patch releases (0.3.1) contain bug fixes and backward-compatible additions.
  • Deprecations are announced in the changelog for at least one minor release before removal.
  • Pre-releases (a, b, rc) are not selected by default. Pin the exact pre-release or pass --pre.
  • --pre also allows pre-releases of transitive dependencies. Prefer the exact pin.

CI tests Python 3.10, 3.11, 3.12, and 3.13. The package declares requires-python >=3.10.

  • Loop-safe, not thread-safe. Create and use one agent, set of bindings, and MCP client per event loop. Do not share them across threads or loops.
  • Stateless by default. AgentCore does not carry conversation state; pass conversation= on every call and persist what you need in the application.
  • Lifecycle. AgentCore.open(...) as an async context manager, or a direct await agent.aclose(), drains media jobs the agent started and closes providers its bindings built. It never owns the MCP client or a provider you supplied. await bindings.preflight() validates endpoints and credentials at startup; cliver_core.integrations.lifespan wires both into an ASGI app without a framework dependency.

See Concurrency & Lifecycle for the full contract.

  • The cliver CLI application (not on PyPI yet).
  • Local model backends depend on their upstream libraries (sentence-transformers, FlagEmbedding, and laya).
  • Provider brands are curated convenience, not coverage. A wire-compatible vendor needs no brand entry — pass base_url and the protocol explicitly.