This looks awesome! I am very excited about this. 

Currently the dependencies are broken in the released version on pypi 
(0.1.0). Two ways to fix this afaik: 

   - There is a commit right after the 0.1.0 tag that fixes this issue. I 
   was able compile the package myself and everything works like a charm. 
   - An easier way  - without having to compile anything -  is to upgrade 
   protobuf with "pip install --upgrade protobuf". 



On Saturday, December 21, 2024 at 10:24:19 AM UTC-5 [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/2e110886-f227-40ff-b954-8fad4110fd91n%40kicad.org.

Reply via email to