Skip to main content
Releases of kardinal-ai. For changes to the API itself, see the API changelog.
First public release, targeting API 1.0.1
  • Synchronous client for every endpoint of the Route Optimization API: plans.submit, get, update, delete, list, iter_all, start, stop, get_status, and solutions.get, get_objectives, wait.
  • pydantic models generated from the API specification, with the API’s field names and descriptions.
  • Misspelled keys refused before sending (UnknownFieldError), with the closest real field name; allow_unknown to send a field the SDK doesn’t know yet.
  • solutions.wait, which follows a plan’s optimization and returns its solution once it’s over.
  • Typed exceptions for every API error, with .errors, .details, and .retryable; any 403 raised as KardinalLimitError.
  • Automatic retries of reads, update, delete, start, and stop; submit is never retried.
  • Optional kardinal command-line tool (pip install "kardinal-ai[cli]"), with local plan validation.
  • Python 3.10 or later.