Following up on this to note that I've started adding some documentation
for plugin developers here:
https://dev-docs.kicad.org/en/apis-and-binding/ipc-api/for-addon-developers/index.html

On Sat, Dec 21, 2024 at 10:24 AM Jon Evans <[email protected]> wrote:

> Hi folks,
>
> With the release of 9.0.0-rc1 coming this weekend, I've also released the
> first version of the Python supporting library
> <https://pypi.org/project/kicad-python/> for it.
>
> There is currently no documentation for this, but if you're the kind of
> person who is happy to work with just the code as documentation, consider
> this an invitation to start playing around with it (especially if you have
> developed plugins for the SWIG bindings in the past and want to try porting
> them over).
>
> There will be more formal public announcements of this along with some
> documentation when 9.0 stable is released, but for now here are some quick
> answers to FAQ:
>
> - The SWIG bindings are not being removed in 9.0.  They will be removed
> once we are confident that all existing use cases are covered by new
> functionality.  The earliest this would happen is 10.0, but it's tied to
> that confidence, not a specific release version.
>
> - The IPC API requires that KiCad be running to communicate with it.  It
> only supports "plug-in to the KiCad UI" use cases at the moment.  It does
> not support some current use-cases of the SWIG bindings at the moment, such
> as opening/manipulating/exporting KiCad board files without KiCad actually
> being running.  We have plans to support this kind of use in the future,
> but not initially in 9.0.
>
> - The IPC API does not support any plotting/exporting functionality at the
> moment.  We recommend using kicad-cli for this functionality.
>
> - The IPC API in 9.0 has focused on replicating the functionality
> currently available to SWIG action plugins.  It does not add very many new
> features yet, and it does not yet support the schematic editor or library
> editors.
>
> - Python plugins using the IPC API can run with any Python interpreter on
> the user's system (currently supporting between version 3.9 and 3.12; 3.13
> doesn't work yet due to a dependency issue).  KiCad has an experimental
> feature to automatically manage virtual environments and dependencies for
> Python-based plugins.  This works if binary wheels for all required
> dependencies are available for the user's platform.  There is not yet any
> good user-facing error reporting for handling cases when dependencies can't
> be installed automatically.
>
> - There is an experimental Rust binding, but I haven't had the time to
> maintain it recently.  I still plan to get back to it, but don't expect
> feature parity with the Python bindings anytime soon.
>
> -Jon
>

-- 
You received this message because you are subscribed to the Google Groups 
"KiCad Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/CA%2BqGbCCrT%2Bpuh%3D3OG8%3DfQLGX1xMHPj4M9hx%2BHyO7e5bCgjHogw%40mail.gmail.com.

Reply via email to