Python software engineering

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Online
Live (synchronous)

Venue Information

Country: Belgium
Venue Details: Click here

Training Content and Scope

Scientific Domain
Technical Domain
Level of Instruction
Intermediate
Sector of the Target Audience
Research and Academia
Industry
Public Sector
HPC Profile of Target Audience
Application Users
Data Scientists
Language of Instruction

Other Information

Supporting Project(s)
EuroCC2/CASTIEL2
Event/Course Description

Topics covered

Quality of software matters, whether you share it with others or not. Software should be easy to install, easy to use, and well documented. This training will cover those aspects from the perspective of the Python.ecosystem.  However, it is also important that software is easy to maintain, so  coding style matters, API-level documentation should be available, as well as a battery of tests to ensure the software's integrity.  Of course, good  design is at least as important.

Subjects and Python modules that will be covered:

  • user interface: argparse, configparser
  • documentation: docstring, mkdocs
  • code style and best practices, idiomatic Python: flake8, pylint
  • unit testing: pytest
  • object oriented programming in Python
  • design patterns