← Back to team overview

kicad-developers team mailing list archive

Re: Python scripting documentation

 

Thoughts on this:

    * The pythonland libraries need a serious refactor, at this moment all
functions and
classes are brought together by swig into pcbnew.py: helper functions
(LoadBoard, SaveBoard...)
unit conversion macros, scripting plugin definitions...

    From the documentation perspective, it's a mess...

    I think of refactoring into submodules:

    *pcbnew*                   (with all the pcbnew objects)
    *pcbnew.units  *       (with the unit helpers)

http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing/view/head:/pcbnew/scripting/units.i
   * pcbnew.helpers  *

http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing/view/head:/pcbnew/scripting/module.i#L58

http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing/view/head:/pcbnew/scripting/pcbnew_scripting_helpers.cpp#L59
(backport this to python.)

    *pcbnew.plugins*     (pcb footprint wizard plugins, etc..)


   * There are many swig artifacts that get documented: _object,
SwigPyIterator. We must find a way to get rid of the
classes that get accidentally documented.




Miguel Angel Ajo Pelayo
http://www.nbee.es
+34 636 52 25 69
skype: ajoajoajo


2013/9/20 Miguel Angel <miguelangel@xxxxxx>

> Yet it's not as perfect as it can be, but it's a good start point,
>
> http://dev.kicad-pcb.org/doxygen-python/annotated.html
>
> http://dev.kicad-pcb.org/kicad-pcbnew-python-refman.pdf
>
>
>
>
> http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing/revision/4327
>
> To build the documentation, you only need doxygen, python, and swig,
>
> mkdir build-doc
> cd build-doc
> cmake ../kicad.bzr  -DKICAD_SCRIPTING=ON
> cd pcbnew
> make doxygen-python
>
>
> I must learn about how to create a mainpage from python into doxygen...
>
> Miguel Angel Ajo Pelayo
> http://www.nbee.es
> +34 636 52 25 69
> skype: ajoajoajo
>
>
> 2013/9/8 Miguel Angel <miguelangel@xxxxxx>
>
>> I'm also thinking about giving a try to sphinx, which is the software
>> used to build the python documentation at the python site.
>>
>> I will drop a link here later if it looks good.
>>
>> Miguel Angel Ajo Pelayo
>> http://www.nbee.es
>> +34 636 52 25 69
>> skype: ajoajoajo
>>
>>
>> 2013/9/8 Miguel Angel <miguelangel@xxxxxx>
>>
>>> I forgot about the most important part of my previous message, the link
>>> :)
>>>
>>> http://dev.kicad-pcb.org/doxygen-python-test/classpcbnew_1_1BOARD.html
>>>
>>>
>>>
>>> Miguel Angel Ajo Pelayo
>>> http://www.nbee.es
>>> +34 636 52 25 69
>>> skype: ajoajoajo
>>>
>>>
>>> 2013/9/8 Miguel Angel <miguelangel@xxxxxx>
>>>
>>>>
>>>> It's a first try, only "BOARD" class extended descriptions are
>>>> imported from the C++ doxygen.
>>>>
>>>> It's not perfect, but can be automated and much better than nothing.
>>>>
>>>> We do:
>>>>
>>>>      C++ ->doxygen-> XML  -> python_script-> .i
>>>>
>>>> then
>>>>
>>>>      *.i's ->swig-> pcbnew.py
>>>>
>>>> and finally
>>>>
>>>>     pcbnew.py -> doxygen -> html
>>>>
>>>>
>>>> The link came out from a test on command line, now I must spend some
>>>> more days to get this workflow into cmake
>>>>
>>>>
>>>> Miguel Angel Ajo Pelayo
>>>> http://www.nbee.es
>>>> +34 636 52 25 69
>>>> skype: ajoajoajo
>>>>
>>>
>>>
>>
>

Follow ups

References