On Mon, Jan 13, 2020 at 9:06 AM Christian Mauderer
<christian.maude...@embedded-brains.de> wrote:
>
> Hello Jose,
>
> On 10/01/2020 17:33, Jose Valdez wrote:
> > Hello,
> >
> > Regarding this topic and to start to define the python tools that are more 
> > appropriate for the RTEMS community python developments, I would like to 
> > propose the following tools (to be placed in RTEMS Software Engineering 
> > manual):
> >
> > Python language version: 3.6 (minimum version for Doorstop 2.0.post2)
> > Python coding style/standard - Google (as suggested by Gedare)
> > Python documentation style - Google docstrings (to be in accordance with 
> > coding style. Note it is supported by sphinx)
> > Python test approach - unittest (seems to be the standard used by python)
> > Python static analysis - pylint (recommended by Google style, see 
> > http://google.github.io/styleguide/pyguide.html) and mypy (catch additional 
> > errors) Python code coverage - Coverage.py (seems to be the standard used 
> > by python)
> > Python third party packages - For now we are using: paramiko, pyserial, 
> > pexpect, gitpython, but the list is expected to be changed. I think here 
> > any third package is allowed, as long as the license of the package 
> > complies with RTEMS project license.
>
> To be future-proof: python3 compatibility would be nearly a must-have
> for any new library.
>
> I don't think that there are heavy license problems. The python packages
> are most likely only used in tools. So as long as they are open enough
> to use them on all host platforms for all development situations that
> shouldn't be a problem. Exception: If the package is used to generate
> code with a specific license. That generated code would have to be
> compatible with the RTEMS license.
>
Yes, I would like something similar to Christian's wording instead of
specifing a list of 3rd party packages.

I think we can start with the proposed set of tools/requirements. If
problems in the coding style arise, we can evolve. The Google Python
Style Guide is given as a single markdown file in
https://github.com/google/styleguide/pyguide.md. It is licensed CC-By
3.0. We should mirror it on our infrastructure and track the
version/changes.

> >
> > Please tell me your opinions for each python tool and then we can start to 
> > agree on what to use. Note that once this is defined, our Qualification 
> > software will comply with the RTEMS community chosen tools.
>
> If no one objects I would suggest to start documenting them in the RTEMS
> Software Engineering manual. A small example project in the rtems-tools
> repository that uses the suggested code checkers (meaning: calls them
> during a waf build or a special 'waf check' target) would be great too.
> That could be used for all future python based tools that are added to
> rtems-tools (which includes the whole qualification tools).
>
> Best regards
>
> Christian
>
> >
> > Best regards
> >
> > José
> >
> > -----Original Message-----
> > From: devel [mailto:devel-boun...@rtems.org] On Behalf Of Chris Johns
> > Sent: quinta-feira, 9 de janeiro de 2020 20:57
> > To: Gedare Bloom; sebastian huber
> > Cc: devel@rtems.org
> > Subject: Re: Requirement Document generator tool
> >
> > On 10/1/20 4:45 am, Gedare Bloom wrote:
> >> On Wed, Jan 8, 2020 at 11:51 PM Sebastian Huber
> >> <sebastian.hu...@embedded-brains.de> wrote:
> >>>
> >>> On 08/01/2020 19:31, Gedare Bloom wrote:
> >>>>>
> >>>>> I agree completely on the proposed approach with Python tools.
> >>>>>
> >>>> Yes. Reading it I'm actually reminded about Google's approach toward
> >>>> Python which includes many of the elements mentioned. Although their
> >>>> guide is probably more comprehensive and verbose that what we need, it
> >>>> might be a useful reference for developing a set of guidelines
> >>>> suitable for Python code in RTEMS (mainly, rtems-tools).  Here is a
> >>>> link:
> >>>> http://google.github.io/styleguide/pyguide.html
> >>>>
> >>>> I think most of the existing style has been determined and driving by
> >>>> Chris Johns. So I would also give him some credit to develop/approve
> >>>> how we plan to use Python at a project level. (**Hands Chris an "RTEMS
> >>>> Python Maintainer" hat**);)
> >>>
> >>> I think the Google guide would be a good start. We can always add
> >>> project-specific exceptions/clarifications if necessary. My aim is to
> >>> use it for new code, e.g. code produced for the pre-qualification
> >>> activity. For the code format I strongly want to use a tool for this. I
> >>> don't want to spend review time on code formatting issues.
> >>>
> >>> Using standard guidelines makes the RTEMS Project more attractive for
> >>> new contributors and GSoC students. I think it increases your job
> >>> opportunities if you can refer to a successful GSoC project and it shows
> >>> that you used standard engineering practices in the project. This is
> >>> usually not something a university education includes.
> >>>
> >> OK, both points make sense. I'd be happy with the Google guide, I hope
> >> Chris will comment when he can.
> >
> > Sorry about the erratic access. I have been knee deep in painting and 
> > flooring
> > this summer as I avoid any smoke from the fires we are having.
> >
> > I am fine with using a standard guide however we need to review it and to 
> > make
> > sure it fits. As an example the C++ guide from Google had some good points 
> > as
> > well as some parts I did not think offered any value but did create a 
> > certain
> > level of pain. We should also consider capturing the guide as a public one
> > belonging to someone else can and will change and that effects us. I am not 
> > sure
> > how we could do this.
> >
> > Chris
> > _______________________________________________
> > devel mailing list
> > devel@rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
> > _______________________________________________
> > devel mailing list
> > devel@rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
> >
>
> --
> --------------------------------------------
> embedded brains GmbH
> Herr Christian Mauderer
> Dornierstr. 4
> D-82178 Puchheim
> Germany
> email: christian.maude...@embedded-brains.de
> Phone: +49-89-18 94 741 - 18
> Fax:   +49-89-18 94 741 - 08
> PGP: Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to