← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Python FP wizard helper: docstrings and rounded/chamfered rects

 

Hi

As Nick already mentioned, I did one of the last attempts of a
high-level abstraction. The goal would be to have this as proposal for
an official API in the KiCad 6 release (and I will likely carry on with
the work on July).

My goal would be to have a "pythonic" and natural to use API, which
means to not represent the internal data structures in a 1:1 fashion.
This therefore requires me to combine/split kicad objects into python
object of different structure, but I think I already did some good
examples how that could work out.

I am happy to get any input for the current solution and ideas for
further improvements.

Regards, Thomas

Am 2018-06-12 um 15:47 schrieb Nick Østergaard:
> I am not sure if this will slightly derail this patch's topic. Sorry if
> that is the case and tell me to back off.
> 
> There have been multiple attempts on getting the python API in better
> shape. Originally it was Ajo and some others with
> https://github.com/kicad/kicad-python
> 
> But the most recent work is on
> https://github.com/pointhi/kicad-python
> 
> Which is different from the initial work. I don't really know the state
> of that work.
> 
> I would like to see a supported API, but I guess this could be blocked
> slightly because of the wxpython phoenix story.
> 
> 
> 
> 2018-06-12 15:34 GMT+02:00 John Beard <john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>>:
> 
>     Hi Nick and Wayne,
> 
>     The patches as they are don't hook into the existing Python API
>     doxygen stuff as it's not exactly the same as the Python API, it's a
>     helper layer on top of that, and I was't sure if that would be OK.
> 
>     I will take a look at adding it to the existing Python doc
>     generation if that's an acceptable way to present it.
> 
>     Cheers,
> 
>     John
> 
>     On Tue, Jun 12, 2018 at 2:11 PM, Nick Østergaard <oe.nick@xxxxxxxxx
>     <mailto:oe.nick@xxxxxxxxx>> wrote:
> 
>         We already have doxygen generation for the python API, although
>         people say that it is easier to read the C++ one. It is
>         generated with the doxygen-python make target.
>         See http://docs.kicad-pcb.org/doxygen-python/
>         <http://docs.kicad-pcb.org/doxygen-python/>
> 
>         Does the additions in 0002 add to the normal python docs?
> 
>         2018-06-12 15:07 GMT+02:00 Wayne Stambaugh <stambaughw@xxxxxxxxx
>         <mailto:stambaughw@xxxxxxxxx>>:
> 
>             Hey John,
> 
>             I like the idea of using doxygen to document the python
>             plugins.  The
>             current Doxyfile does not include .py files so that would
>             need to
>             change.  Before we do that, I would like to see a new
>             section (maybe
>             "Python Plugins") added to the documentation to separate the
>             python
>             plugin code from the c++ source documentation.  I can commit
>             your patch
>             as is and you can make the doxygen changes in a later patch
>             or I can
>             wait for you to create a new patch with all of the changes. 
>             I'm fine
>             either way.
> 
>             Cheers,
> 
>             Wayne
> 
>             On 6/4/2018 7:33 AM, John Beard wrote:
>             > Hi,
>             >
>             > Here is a simple patch sequence for the Python Footprint
>             Wizard helpers:
>             >
>             > 1) Minor spelling and formatting tidy-up
>             > 2) Add docstrings for the wizard base. As this is intended
>             to be used
>             > by writers of new plugins, having the functions documented
>             is probably
>             > a Good Idea (TM)
>             > 3) Add rounded rectangle and chamfered rectangle helpers.
>             Useful for
>             > some footprints or even board outlines.
>             >
>             > I used Doxygen-style docstrings, but I haven't actually
>             done anything
>             > about building actual output docs with it. Any thoughts of
>             if that
>             > should be done, and if so, where to put it?
>             >
>             > There shouldn't be anything here that will break existing
>             plugins, the
>             > only API changes are additions.
>             >
>             > Cheers,
>             >
>             > John
>             >
>             >
>             >
>             > _______________________________________________
>             > Mailing list: https://launchpad.net/~kicad-developers
>             <https://launchpad.net/~kicad-developers>
>             > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>             <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>             > Unsubscribe : https://launchpad.net/~kicad-developers
>             <https://launchpad.net/~kicad-developers>
>             > More help   : https://help.launchpad.net/ListHelp
>             <https://help.launchpad.net/ListHelp>
>             >
> 
>             _______________________________________________
>             Mailing list: https://launchpad.net/~kicad-developers
>             <https://launchpad.net/~kicad-developers>
>             Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>             <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>             Unsubscribe : https://launchpad.net/~kicad-developers
>             <https://launchpad.net/~kicad-developers>
>             More help   : https://help.launchpad.net/ListHelp
>             <https://help.launchpad.net/ListHelp>
> 
> 
> 
>         _______________________________________________
>         Mailing list: https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>
>         Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>         <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>         Unsubscribe : https://launchpad.net/~kicad-developers
>         <https://launchpad.net/~kicad-developers>
>         More help   : https://help.launchpad.net/ListHelp
>         <https://help.launchpad.net/ListHelp>
> 
> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References