46 Replies Latest reply on Feb 22, 2017 3:32 PM by CadSoft Guest

    Cadsoft Eagle with Python Scripting

    rmawatson

      Hi,

       

      I've only started using Eagle a few weeks ago, and as much as I like it, I have found what I consider some pretty fundamental features just missing. As the built in scripting language is extremely restrictive (when compared to a 'real' language like python, lua or ruby), I made an attempt to get python running with Eagle.

       

      http://www.youtube.com/watch?v=_w7CECR7Dv8

       

      The above is a video of a project I have been working on for the pas 3-4 days, which basically involves exposing the Cadsoft ULP and SCR to python (albeit in not the fastest way). But it does allow me to now use 90% of the ULP and all of the SCR directly from python, including the Object Heirarchies, board.grid... schematic... which have all be exposed in a pythonic way.

       

      as an example, to get all the Instances in the schematic..

       

      instances = Eaglepy.ULSchematic().instances()

       

      or loop,

       

      for instance in Eaglepy.ULSchematic().instances():

           print instance.name()

       

      etc..

       

      The tools in the video were very quick to knock out.. the slowest bit was figuring out the papers for approximating cubic/quadratic bezier curves with arcs, for the DXF Importer. These should be the first of many tools to come, next on the list is a group manager so I can save my selectsion.

       

      Hopefully when I have had time to test this a bit more I will release the code to the community, along with any tools I have built. for others who might want this funtionality. (something that should be out of the box with proper bindings to a proper language imo...)

       

      Cheers

       

      Rob.

        • Re: Cadsoft Eagle with Python Scripting
          rmawatson

          Just wanted to post a little update to show how quick and easy it is to knock out some pretty functional tools in an evening with python... and enjoy the benefits of hundreds of throusands of hours of other peoples time coding various modules. All with simple "import x"...

           

          The first pass of the 'Outliner' tool in the video allows saving selections as groups.. effectively acting as a simple explorer of the scene, which I want to add lots more too.

           

          The alignment tools, although they could be done directly in ULP, it would probably take longer and not look half as pretty as directly using Qt myself (rather then the minimal set of wrapped qt bits exposed through the various dlgFunctions() ) - I plan to add an explorer as part of this dialog, so you can switch between any saved groups or selections all within the Alignment tools!

           

          http://www.youtube.com/watch?v=CFVXop7sGHc&feature=youtu.be

           

          Cheers

           

          Rob.

          • Re: Cadsoft Eagle with Python Scripting
            AnalogNotes

            Is this EAGLE 6 only or will it work with EAGLE 5?

              • Re: Cadsoft Eagle with Python Scripting
                AnalogNotes

                Rob, you still around at all or did you just throw in this tease and leave forever?

                 

                I've been trying to hack some python together myself.  I'm using PyQt, and I can make up nice graphical menus, but I can't figure out how you created your alignment tool and kept it displayed while having it work.  The only thing I know is to create a script file with python and then run the script when I exit.  Of course, exit means I'm closing the GUI...

                 

                Anybody have any ideas how this works?

                  • Re: Cadsoft Eagle with Python Scripting
                    rmawatson

                    Hi Doug.

                     

                    I've emailed you all the code. I've not looked at this since I posted those videos, and haven't touched eagle in a while, but I'll stick it on a git repository somewhere when I have a change to orgainise it and write a quick readme.

                     

                    Cheers

                     

                    Rob.

                     

                     

                    Mehul Tikekar:

                     

                    I dont think it would work. Purely because this whole system relies on Eagle polling what is essentially an HTTP server to send/receive commands to execute, and this ties eagle up while the script is running. You could have an interpreter that you 'connect' and 'disconnect' for sure, but the idea starts to loose its shine. This effort really is a poor mans integration, but for my purposes it does the job. The group manager has definatly been the handiest thing.

                • Re: Cadsoft Eagle with Python Scripting
                  jesse-millwood

                  Robin or Doug,

                   

                  Would either of you mind sending me the code as well or pointing me to a repo where it may be?

                   

                  Thank you

                  Jesse

                  • Re: Cadsoft Eagle with Python Scripting
                    foxx00

                    Excellent work!

                     

                    I've been trying to import eagle schematics into Python now that they in XML format.

                     

                    So far I have a script that can import and return iterable objects for layers and parts.

                    segments can be itstill need some work

                    libraries are broken.

                     

                    If this is at all helpful, you can find it here:

                    https://github.com/uid89626/Eagle

                      • Re: Cadsoft Eagle with Python Scripting
                        CadSoft Guest

                        That's great foxx00!

                         

                        Here are a couple quick tools I wrote to explore EAGLE files.  The first is

                        a short Python script that just displays the top few node levels.  Save it

                        to an executable file (add a shebang if you need it) and put the EAGLE file

                        name on the command line:

                         

                        import sys

                        import xml.etree.ElementTree as ET

                         

                        if len(sys.argv)  - read EAGLE XML file" % sys.argv[0]

                          sys.exit()

                         

                        input_file = sys.argv[1]

                        try:

                          input_string = open(input_file).read()

                        except:

                          print "Couldn't read %s..." % input_file

                          sys.exit()

                         

                        try:

                          tree = ET.fromstring(input_string)

                        except:

                          print "Couldn't parse file, is this an EAGLE 6 document?"

                          sys.exit()

                         

                        print "%s consists of:" % input_file

                        for child in tree:

                          print child.tag

                          for grandchild in child:

                            print "  ", grandchild.tag

                            if grandchild.tag == "schematic" or grandchild.tag == "board":

                              for greatgrandchild in grandchild:

                                print "    ",  greatgrandchild.tag

                         

                        I've been playing around with functional programming lately, so the second

                        is a quick Scala (Scala is rapidly becoming my favorite language!) script

                        that gives you node sequences for each of the main file sections, along

                        with a couple examples of iterating through them (the filename is

                        hard-coded in this one at the moment, sorry):

                         

                        import xml.XML

                         

                        val fileName  = "test.brd"

                        val eagleFile = XML.loadFile(fileName)

                         

                        // search for drawing node, then for each child node

                        // length is zero if not found (e.g. you won't find a

                        // schematic in a board file...).  Comment out as

                        // desired to speed things up.

                        val settings  = eagleFile \ "drawing" \ "settings"

                        val grid      = eagleFile \ "drawing" \ "grid"

                        val layers    = eagleFile \ "drawing" \ "layers"

                        val board     = eagleFile \ "drawing" \ "board"

                        val schematic = eagleFile \ "drawing" \ "schematic"

                         

                        print("\n\nUsing xpath to search for layers:\n\n")

                        for (l <- layers \ "layer" ) println(l)

                        println

                         

                        val allLayers = (layers
                        "layer")

                        print("\n\nNow iterating through layers in a loop:\n\n")

                        allLayers.foreach{ l =>

                          val layerNumber = (l \ "@number").text

                          val name = (l \ "@name").text

                          val visible = (l \ "@visible").text

                          println(s"Layer $layerNumber, $name, is visible: $visible")

                        }

                         

                        I've been using XML Copy Editor and Firstobject XML Editor to display and

                        edit the files...

                         

                        Regards,

                        Doug

                        --

                        Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

                         

                      • Re: Cadsoft Eagle with P ython Scripting
                        CadSoft Guest

                        I'm curious if anyone else has been using Python (or any other language for

                        that matter) to either make a server/client tool like this one or to

                        directly manipulate the XML files?

                        --

                        EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                         

                        • Re: Cadsoft Eagle with P ython Scripting
                          rick_b

                          Does anyone know if this works with eagle 7.7?

                           

                          Rick

                          --

                          EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                           

                          • Re: Cadsoft Eagle with P ython Scripting
                            rick_b

                            Does anyone know if this works with eagle 7.7?

                             

                            Rick

                            --

                            EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                             

                            • Re: Cadsoft Eagle with P ython Scripting
                              rick_b

                              Does anyone know if this works with eagle 7.7?

                               

                              Rick

                              --

                              EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                               

                                • Re: Cadsoft Eagle with P ython Scripting
                                  CadSoft Guest

                                  rickb wrote on Fri, 17 February 2017 14:43

                                  Does anyone know if this works with eagle 7.7?

                                   

                                  Do you mean the Python scripting?  I've mainly used it with version 5 and

                                  6.  I'll try to test it with version 7 this weekend...

                                  --

                                  EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                   

                                  • Re: Cadsoft Eagle with P ython Scripting
                                    CadSoft Guest

                                    rickb wrote on Fri, 17 February 2017 14:43

                                    Does anyone know if this works with eagle 7.7?

                                     

                                    Do you mean the Python scripting?  I've mainly used it with version 5 and

                                    6.  I'll try to test it with version 7 this weekend...

                                    --

                                    EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                     

                                      • Re: Cadsoft Eagle with P ython Scripting
                                        rick_b

                                        Quote:

                                        Do you mean the Python scripting?

                                         

                                         

                                        Yes, thanks.

                                         

                                        Rick

                                        --

                                        EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                         

                                          • Re: Cadsoft Eagle with P ython Scripting
                                            CadSoft Guest

                                            rickb wrote on Mon, 20 February 2017 15:47

                                            Quote:

                                            Do you mean the Python scripting?

                                             

                                            Yes, thanks.

                                             

                                            Sorry mate, I didn't get to try it out.  We had a (late) Chinese New Year

                                            celebration at the Bagua school Saturday and the little lady and I spent

                                            most of Sunday out of town with family.

                                             

                                            I'm now on the fence about how much more effort to put into the Python

                                            thing.  I had started a book on advanced EAGLE use and I was including

                                            writing scripts and ULPs and how to manipulate the XML files externally.

                                            With the changes in the EAGLE world lately, part of me is angry enough to

                                            motivate me to finish up the external program that lets you directly

                                            manipulate the XML files, but the other part of me is disgusted enough to

                                            want to drop it all and just walk away.  End of an era.  Sigh...

                                            --

                                            EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                             

                                              • Re: Cadsoft Eagle with P ython Scripting
                                                rick_b

                                                I understand your frustration. I bought 7.7 before the official

                                                announcement and feel the same way. I will continue to use it until it no

                                                longer meets my needs or until Kicad meets my expectations, which ever

                                                happens first. I would like to see what you have written, however rough it

                                                may be for educational purposes.

                                                 

                                                Rick

                                                --

                                                EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                 

                                                  • Re: Cadsoft Eagle with P ython Scripting
                                                    CadSoft Guest

                                                    rickb wrote on Mon, 20 February 2017 19:48

                                                    I understand your frustration. I bought 7.7 before the official

                                                    announcement and feel the same way. I will continue to use it until it no

                                                    longer meets my needs or until Kicad meets my expectations, which ever

                                                    happens first.

                                                     

                                                    I see that there is a python scripting API for KiCad.  I'm going to work

                                                    with that a bit.  Also, while I'm not a huge scheme fan, gEDA does have

                                                    guile scripting.  In particular, this page about hierarchical blocks in

                                                    gEDA looks very interesting to me:

                                                    http://www.bourbonstreetsoftware.com/GEDABlocks.html.  He even uses "make"

                                                    which for me as a Unix guy is very appealing!

                                                     

                                                    Quote:

                                                    I would like to see what you have written, however rough it may be for

                                                    educational purposes.

                                                     

                                                    The general outline of the book is to talk about command line use and

                                                    scripting, then how to make menu changes and key assignments, followed by a

                                                    couple chapters on writing ULPs to create scripts.  Then I used Python to

                                                    take a look at the XML files directly.  For my example code, I

                                                    reimplemented my arrange and distribute ULPs in a Python script you run

                                                    from the command line.

                                                     

                                                    In the next chapter, I started building a graphical interface to view the

                                                    files.  This turned into mostly a library and BOM manipulation tool, sort

                                                    of an external http://www.bobstarr.net/pages/downloads.html if you will.  I

                                                    considered using PyQt for the GUI, but the licensing didn't work for me, so

                                                    at that point, I switched to using Java.  I've got quite a few of the basic

                                                    functions implemented, so you can open an EAGLE file, change attributes,

                                                    move items, lock and unlock, save, etc.  Next, I was going to render the

                                                    board file and display it in 3D space so that you could fly by and see the

                                                    back side.  I've done this kind of thing before with POV-RAY, Sketchup,

                                                    Blender, TurboCAD, and Lightwave, but it would be nice to simplify that

                                                    process.

                                                     

                                                    I think the last thing I'm going to do is implement some export function so

                                                    that I can convert all of my current designs to KiCad or gEDA.  And I have

                                                    to say, the http://www.altium.com/eagle-switch/circuitstudio/ deal is

                                                    sounding mighty nice - for less than the cost of a year of EAGLE Premium

                                                    subscription, you can get a perpetual license.  At the end of the year,

                                                    I'll have saved $5 and have a usable copy of Circuit Studio...

                                                    --

                                                    EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                     

                                                      • Re: Cadsoft Eagle with Python Scripting
                                                        CadSoft Guest

                                                        On 21.02.2017 19:17, Doug Wellington wrote:

                                                        I considered using PyQt for the GUI, but the licensing didn't work for me, so

                                                        at that point, I switched to using Java.

                                                        For a more liberal license, you should have considered wxPython instead.

                                                        Python seems a much more natural choice for these tasks than Java.

                                                        Also, it would allow for easier integration if you really want to

                                                        migrate to KiCad. The PCB part of KiCad has a Python console already.

                                                        I would expect the Schematic part to follow sooner or later.

                                                         

                                                        Regards,

                                                         

                                                        Dietmar

                                                         

                                                        • Re: Cadsoft Eagle with Python Scripting
                                                          CadSoft Guest

                                                          On 21.02.2017 19:17, Doug Wellington wrote:

                                                          I considered using PyQt for the GUI, but the licensing didn't work for me, so

                                                          at that point, I switched to using Java.

                                                          For a more liberal license, you should have considered wxPython instead.

                                                          Python seems a much more natural choice for these tasks than Java.

                                                          Also, it would allow for easier integration if you really want to

                                                          migrate to KiCad. The PCB part of KiCad has a Python console already.

                                                          I would expect the Schematic part to follow sooner or later.

                                                           

                                                          Regards,

                                                           

                                                          Dietmar

                                                           

                                                            • Re: Cadsoft Eagle with P ython Scripting
                                                              CadSoft Guest

                                                              Dietmar Schwertberger wrote on Wed, 22 February 2017 12:32

                                                              For a more liberal license, you should have considered wxPython

                                                              instead.

                                                               

                                                              Thanks, part of my issue is that I was also writing in C++ and I didn't

                                                              want to have to release that source code.  It's my code, I wrote it and I

                                                              want to keep it private.  Over the years I have grown weary of people

                                                              contacting me demanding my source code, my schematic and board files, and

                                                              my gerbers.  It's hard to make your investment back when someone can grab

                                                              your work and match or beat your time to market and undermine your pricing.

                                                              Anything with GPL licensing is out for me because of that

                                                               

                                                              Quote:

                                                              Python seems a much more natural choice for these tasks than Java.

                                                               

                                                              For scripting, rapid prototyping and as a language to use for teaching,

                                                              Python is fantastic.  Because of it being interpreted though, there is no

                                                              way to effectively control your IP.

                                                               

                                                              --

                                                              EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                               

                                                              • Re: Cadsoft Eagle with P ython Scripting
                                                                CadSoft Guest

                                                                Dietmar Schwertberger wrote on Wed, 22 February 2017 12:32

                                                                For a more liberal license, you should have considered wxPython

                                                                instead.

                                                                 

                                                                Thanks, part of my issue is that I was also writing in C++ and I didn't

                                                                want to have to release that source code.  It's my code, I wrote it and I

                                                                want to keep it private.  Over the years I have grown weary of people

                                                                contacting me demanding my source code, my schematic and board files, and

                                                                my gerbers.  It's hard to make your investment back when someone can grab

                                                                your work and match or beat your time to market and undermine your pricing.

                                                                Anything with GPL licensing is out for me because of that

                                                                 

                                                                Quote:

                                                                Python seems a much more natural choice for these tasks than Java.

                                                                 

                                                                For scripting, rapid prototyping and as a language to use for teaching,

                                                                Python is fantastic.  Because of it being interpreted though, there is no

                                                                way to effectively control your IP.

                                                                 

                                                                --

                                                                EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                                 

                                                                  • Re: Cadsoft Eagle with Python Scripting
                                                                    CadSoft Guest

                                                                    On 22.02.2017 20:55, Doug Wellington wrote:

                                                                    Dietmar Schwertberger wrote on Wed, 22 February 2017 12:32

                                                                    Thanks, part of my issue is that I was also writing in C++ and I didn' > want to have to release that source code.  It's my code, I wrote it

                                                                    and I> want to keep it private.  Over the years I have grown weary of people

                                                                    Put your core C++ code into a .pyd (i.e. actually a DLL).

                                                                    Still you can control your code from Python, offering a scripting

                                                                    interface without much effort.

                                                                     

                                                                     

                                                                    contacting me demanding my source code, my schematic and board files, and

                                                                    my gerbers.  It's hard to make your investment back when someone can grab

                                                                    your work and match or beat your time to market and undermine your pricing.

                                                                    Anything with GPL licensing is out for me because of that

                                                                    The wx license is not GPL. It is LGPL, but even allows to distribute

                                                                    binaries on your own terms. So basically, it's not much different from

                                                                    MIT, BSD or similar licenses for any practical application.

                                                                     

                                                                     

                                                                    For scripting, rapid prototyping and as a language to use for teaching,

                                                                    Python is fantastic.

                                                                    It's also a great language to implement large applications, either GUI

                                                                    or web based. Implementing GUIs in C++ seems to be a huge waste of

                                                                    resources. The learning curve for GUIs is a bit steep, just as for C++.

                                                                    For this reason I started improving the wxGlade GUI builder last year.

                                                                    If you go for wx, you should have a look at the current wxGlade version

                                                                    from the repository.

                                                                    (Documentation update is work in progress and not yet online.)

                                                                     

                                                                     

                                                                    Because of it being interpreted though, there is no

                                                                    way to effectively control your IP.

                                                                    Well, there are ways, but these are a bit complicated. I have one

                                                                    application where I'm using a dongle for Python code and .pyd extensions.

                                                                    But protection of the Python code requires a custom Python runtime.

                                                                    For extension of other people's code, that's probably not an option.

                                                                    On the other hand, don't forget that Python bytecode might be easier

                                                                    to decompile, but it's also possible for C++ code. I think there are

                                                                    quite powerful reverse engineering tools for compiled binaries.

                                                                     

                                                                     

                                                                    Regards,

                                                                     

                                                                    Dietmar

                                                                     

                                                                      • Re: Cadsoft Eagle with P ython Scripting
                                                                        CadSoft Guest

                                                                        Dietmar Schwertberger wrote on Wed, 22 February 2017 13:16

                                                                        Put your core C++ code into a .pyd (i.e. actually a DLL).  Still you

                                                                        can control your code from Python, offering a scripting interface without

                                                                        much effort.

                                                                         

                                                                        Yes, I use Python for the GUI and scripting, and the C++ is for the

                                                                        rendering and math functions (using a GPU).

                                                                         

                                                                        Quote:

                                                                        The wx license is not GPL. It is LGPL, but even allows to distribute

                                                                        binaries on your own terms. So basically, it's not much different from

                                                                        MIT, BSD or similar licenses for any practical application.

                                                                         

                                                                        That is very nice.

                                                                         

                                                                        Quote:

                                                                        (Python is) also a great language to implement large applications,

                                                                        either GUI or web based.

                                                                         

                                                                        Yes, I agree.  At my "real" job during the day, I use Python and QT for

                                                                        large applications every day.

                                                                         

                                                                         

                                                                        Quote:

                                                                        If you go for wx, you should have a look at the current wxGlade version

                                                                        from the repository.

                                                                         

                                                                        I will definitely look at that.  Thank you...

                                                                         

                                                                        Quote:

                                                                        I think there are quite powerful reverse engineering tools for compiled

                                                                        binaries.

                                                                         

                                                                        I have no illusions that a determined person would not be able to reverse

                                                                        engineer my work.  If they wish to go through that effort, that is up to

                                                                        them, but since I either give my tools away for free or charge a very small

                                                                        amount of money, I hope it is not worth their trouble.

                                                                         

                                                                        --

                                                                        EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                                         

                                                                    • Re: Cadsoft Eagle with P ython Scripting
                                                                      CadSoft Guest

                                                                      Also, switching to the Java world lets me use Groovy, Scala, Clojure, and

                                                                      even Jython or JRuby all together...

                                                                       

                                                                      FWIW, the Java ecosystem is fantastic.  The build, test, code analysis,

                                                                      continuous integration, etc., tools are great!

                                                                      --

                                                                      EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                                       

                                                                        • Re: Cadsoft Eagle with Python Scripting
                                                                          CadSoft Guest

                                                                          On 22.02.2017 21:08, Doug Wellington wrote:

                                                                          FWIW, the Java ecosystem is fantastic.  The build, test, code analysis,

                                                                          continuous integration, etc., tools are great!

                                                                          For things like graphics, hardware interfacing, file formats,

                                                                          networking, GUIs etc. I found that development at the interpreter

                                                                          console provides the biggest boost in productivity.

                                                                          The only comparable language that I know, is Forth. But that one is

                                                                          a bit too special for most people...

                                                                           

                                                                          Regards,

                                                                           

                                                                          Dietmar

                                                                           

                                                                            • Re: Cadsoft Eagle with P ython Scripting
                                                                              CadSoft Guest

                                                                              Dietmar Schwertberger wrote on Wed, 22 February 2017 13:36

                                                                              For things like graphics, hardware interfacing, file formats,

                                                                              networking, GUIs etc. I found that development at the interpreter console

                                                                              provides the biggest boost in productivity.

                                                                               

                                                                              Yes!  It's quite fun to use pyqt from the ipython prompt to interactively

                                                                              show and hide or manipulate various parts of my GUI.

                                                                               

                                                                              You can do similar things with various JVM languages that have REPLs.  For

                                                                              example, here's some Scala typed into the Ammonite REPL to create a popup

                                                                              window with a single button:

                                                                               

                                                                               

                                                                              @ {

                                                                                import javax.swing._, java.awt.event._

                                                                                val frame = new JFrame("Hello World Window")

                                                                               

                                                                                val button = new JButton("Click Me")

                                                                                button.addActionListener(new ActionListener{

                                                                                  def actionPerformed(e: ActionEvent) = button.setText("You clicked the

                                                                              button!")

                                                                                })

                                                                                button.setPreferredSize(new java.awt.Dimension(200, 100))

                                                                                frame.getContentPane.add(button)

                                                                                frame.pack()

                                                                                frame.setVisible(true)

                                                                               

                                                                                }

                                                                               

                                                                               

                                                                              --

                                                                              EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                                               

                                                                            • Re: Cadsoft Eagle with Python Scripting
                                                                              CadSoft Guest

                                                                              On 22.02.2017 21:08, Doug Wellington wrote:

                                                                              FWIW, the Java ecosystem is fantastic.  The build, test, code analysis,

                                                                              continuous integration, etc., tools are great!

                                                                              For things like graphics, hardware interfacing, file formats,

                                                                              networking, GUIs etc. I found that development at the interpreter

                                                                              console provides the biggest boost in productivity.

                                                                              The only comparable language that I know, is Forth. But that one is

                                                                              a bit too special for most people...

                                                                               

                                                                              Regards,

                                                                               

                                                                              Dietmar

                                                                               

                                                                            • Re: Cadsoft Eagle with P ython Scripting
                                                                              CadSoft Guest

                                                                              Also, switching to the Java world lets me use Groovy, Scala, Clojure, and

                                                                              even Jython or JRuby all together...

                                                                               

                                                                              FWIW, the Java ecosystem is fantastic.  The build, test, code analysis,

                                                                              continuous integration, etc., tools are great!

                                                                              --

                                                                              EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.

                                                                               

                                                                      • Re: Cadsoft Eagle with P ython Scripting
                                                                        CadSoft Guest

                                                                        rickb wrote on Mon, 20 February 2017 15:47

                                                                        Quote:

                                                                        Do you mean the Python scripting?

                                                                         

                                                                        Yes, thanks.

                                                                         

                                                                        Sorry mate, I didn't get to try it out.  We had a (late) Chinese New Year

                                                                        celebration at the Bagua school Saturday and the little lady and I spent

                                                                        most of Sunday out of town with family.

                                                                         

                                                                        I'm now on the fence about how much more effort to put into the Python

                                                                        thing.  I had started a book on advanced EAGLE use and I was including

                                                                        writing scripts and ULPs and how to manipulate the XML files externally.

                                                                        With the changes in the EAGLE world lately, part of me is angry enough to

                                                                        motivate me to finish up the external program that lets you directly

                                                                        manipulate the XML files, but the other part of me is disgusted enough to

                                                                        want to drop it all and just walk away.  End of an era.  Sigh...

                                                                        --

                                                                        EAGLE support forums at http://www.eaglecentral.ca :: Where the EAGLE community meets.