Opened on 02/29/20 at 01:30:06
Closed on 01/19/23 at 17:27:54
#3892 closed project (invalid)
RTEMS Python Standardisation -- Pure Python project.
Reported by: | Amar Takhar | Owned by: | Amar Takhar |
---|---|---|---|
Priority: | normal | Milestone: | Indefinite |
Component: | admin | Version: | |
Severity: | normal | Keywords: | python, tools, testing, large |
Cc: | Blocked By: | ||
Blocking: |
Description (last modified by Amar Takhar)
Contents
Mentors
Amar Takhar
Status
GSoC project or looking for funding.
Introduction
A qualified developer for this project does not need to know anything about RTEMS or an RTOS in general. It is also not required to know C, C++ or any other programming language outside of Python.
Project
RTEMS currently has several Python tools that need to be brought under the same ecosystem and several tools that are missing that need to be written.
This task also includes the creation of a beginners tutorial with ASCII screen-capture on using the new tools created for testing code on real hardware.
Goal
- Runs under Python 2.x and 3.x.
- A general RTEMS tool library with a standard API to handle common tasks.
- All utilities callable as a function within the API with the tool itself being a thin layer.
- Testing on all API commands under both Python 2.x and 3.x.
- In-source documentation.
- Tutorial using new Python utility for running code on hardware.
What you will learn
- How to properly test Python software.
- Using code coverage tools.
- Using performance tools.
- Writing technical documentation both in and out of source.,
- Writing a beginner tutorial from a technical perspective.
- Library/API design and consumption.
- Using modern documentation tools.
Prerequisite
- Medium knowledge of Python.
- Knowledge of how to write well-written Python following PEPs,
- Understanding of how libraries and APis work.
- A Beaglebone Black with an FTDI cable.
- Basic knowledge of UNIX commandline and Git.
Good to have
None of these are required but having them will strengthen a candidates chances of being accepted.
- Cross-platform programming experience.
- Knowledge of debugging and profiling Python code
- Experience with writing documents.
Current tools
The following tools are among the programs that current exist that need to be worked on.
New tools
Currently, low-level tools exist that help with running binaries on real hardware. However RTEMS lacks a high level management utility for configuring tftp-proxy
, rtems-test
, rtems-run
and ser2net
.
Further to this there are other tasks that need to be completed such as creating a usable u-boot
image with the correct FDT
files. mkimage
must be used over test binaries to create a flashable image to be sent to the hardware for execution.
Tutorial
RTEMS lacks a general tutorial for new users to the project. Part of writing a new tool for handling running code on real hardware is to lower the burden of new users to test RTEMS for their requirements.
A new tutorial describing this process and the usage of the new tool is required for successful completion.
Testing
The entire API will need to be tested using pytest
. This will include running under Python 2.x and 3.x for compatibility purposes on our main platforms. FreeBSD
, Linux
, Windows
, and OS X
.
Code coverage should be at or near 100% upon the completion of this project.
Change History (6)
comment:1 Changed on 02/29/20 at 05:58:45 by Amar Takhar
Description: | modified (diff) |
---|
comment:2 Changed on 02/29/20 at 06:02:33 by Amar Takhar
Description: | modified (diff) |
---|---|
Summary: | RTEMS Python Standardisation → RTEMS Python Standardisation -- Pure Python project. |
Note that this is a pure python project in the title to help it stand out for Python-only students.
Also note that only Python is required in the introduction and add a note about knowing basic UNIX CLI and Git.
comment:3 Changed on 12/26/21 at 12:01:17 by Siddhanth
I would like to contribute for this project as a GSoC 2022 student. I'm quite comfortable with python.
comment:4 Changed on 02/03/22 at 20:04:23 by Gedare Bloom
Keywords: | soc large added; gsoc removed |
---|
comment:5 Changed on 02/25/22 at 18:21:23 by Gedare Bloom
Keywords: | soc removed |
---|
comment:6 Changed on 01/19/23 at 17:27:54 by Amar Takhar
Resolution: | → invalid |
---|---|
Status: | assigned → closed |
No longer relevant maybe in the future.
Finish project, some current tools may be missing.