thindilohenley (Gitter): As far I remember (if I remember wrong, please correct me 😉), gnatcoll is based on Python 2.x and currently is on the way to support 3.x Thus, it is better not use it due to potential security problems. Using cython may be a good idea. Other option: if speed isn't crucial, you can create an API and use named pipes or something similar for communication. In that situation you will be able to use any programming language, not just Python 🙂
thindilohenley (Gitter): You are welcome, and thank you for testing gnatcoll and correcting me 🙂 About pipes, here is a nice Ada Gem about it: https://www.adacore.com/gems/gem-54 Tested on myself and this works very nicely.
thindilYou could try also: create a C API to your Ada code and try to execute it from Python or again named pipes just this time from the Python to Ada. Often, when I'm looking for similar problems and I cannot find anything related to Ada, I'm start searching for any C solution and then I adapt it to my needs 😉
thindilohenley (Gitter): Looks like the classic "Dinning Philosophers problem" 🙂 You could give a try one of Python versions of Expect (which was created to manage subprocesses and it is often used by sysadmins) https://en.wikipedia.org/wiki/Expect Just this will be another subprocess to care.
@micahwelf Thx for the confirmation. "Since nearly everybody wants some level or sort of style checking..." I would disagree here, not by default. People who know what they want as 'style constraints' should and are welcome to increment the requirements as they see fit , as they move up the 'seriousness' of a project, not the other way around. Do not get me wrong, I like my code well formatted when I make a formatting session, not forced on me at every turn.
Starting a project with -gnatyY is mind bogglingly unwelcoming and is just IMO, 'baroque friction' stuck into 'container/formalism fetishism' salted with unhealthy control issues . E.g. I wanted to quickly try a 3rd party Ada project, the compiler imposed on me to add 'overriding' everywhere (fine its semantic, not styling) and then it choked to compile complaining the addition of this 'overriding' was making a line more than 80 characters long. Styling has nothing to do with code correctness. Have you ever seen 'The Twelve Tasks of Asterix', the house that sends you mad; same thing. I had to stop the world and launch a Google search campaign to figure out what to feed the compiler or the project manager just to move on ... because some Ada 'I know the manual by heart' decided to set -gnatyY by default under a glichy IDE. I almost dropped everyhting.... because time is time. Its important, I have better things to do than fight meaningless aspects of a programming language my employer is not interested in me putting time anyway.
Someone knows how popular is Ada on stackoverflow or how many blog posts we find around talking about quick and dirty pain points of the GNAT compiler options: practically none. Would I be presumptuous to say that most people are not interested in 'reading the full manual' for a technology many would argue is half dead? Do we have the luxury to annoy new commers and hobbyist with such opiniated road blocks? Who asks himself why people are massively moving to Python and Node? Because of sugar. This, along the annoying fact that obj, bin etc. folders are not created by default when missing is ANTI-sugar.
Now the joke is on me because such peculiar details, '-gnatyN', will be erased form my memory in 2 days and I will run into it again in 2 weeks swearing 'what was it again that monkey trick ..?' Now if ones need a cheatsheet to have happy days using Ada, do not wonder why we do not make the TIOBE index.
Ada is wonderful core technology but a lot of the 'Ivory tower' mentality surrounding it is, in my opinion, what have almost put Ada to its knee and should be confronted vehemently. The critical mass Ada needs is in everyday coders, not just the engineer in suits making avionic unit test with exact < 80 characters per lines from the get go... because by night they by in Rust, C++2059, etc. All of this is pure common sense. Thank you for reading.
@micahwelf I finally found the '-gnatyN' option, add it to the project file
package Compiler is for Default_Switches ("Ada") use ("-gnatyN"); end Compiler;
and it did the trick to stop picking on me for ... styling.
there is also
pragma Style_Check. May be it's easier to remember then the compiler option.