Idiomatic API Migration

FrontPanel ships Python and C# language support with two APIs:

  • A Binding API that mirrors the C++ FrontPanel SDK name-for-name (import ok in Python, the okC* classes in C#). Stable, complete, and the reference all examples historically used.
  • An Idiomatic API that presents the same SDK in the natural style of the host language (import frontpanel in Python, OpalKelly.FrontPanel in C#): readable names, language-native resource management, typed exceptions, and a decomposed object model that mirrors the FrontPanel Platform (TypeScript) API.

These guides help you move an existing application from the Binding API to the Idiomatic API. They are not version-upgrade guides — for upgrading a FrontPanel 5.x application to 6.x, see the FP6 Migration Guide instead. The move here is one of style within FrontPanel 6, not of version.

Both APIs are supported side by side

Adopting the Idiomatic API is optional and non-breaking:

  • The Binding API remains available and unchanged. There is no deprecation — existing ok / okC* code keeps working exactly as before.
  • The Idiomatic API is built on top of the Binding API and installs alongside it, so a single application can use both at once. You can migrate one module at a time.

Choose the Idiomatic API for new code that wants the most natural experience in its language; stay on the Binding API where you are following the C++ reference and examples, or where an existing codebase already tracks it.

Guides