Python: Coding Guidelines, Tools, Tests and Packages [2024]

Step ahead in your Python career and learn about PEP8, Unit-Testing (TDD), Type Annotations and Python Packaging.

4.59 (370 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
3,494
students
5.5 hours
content
Dec 2023
last update
$79.99
regular price

What you will learn

The Coding guidelines and good practice programming (PEP8)

Tooling with Pylint, Flake8, Autopep8, Black etc.

Type Annotations and Mypy

The usage of Debugging, Profiling, Timing and Unit Testing

The creation of own Python packages

The creation of a modern HTML documentation

The usage of continouos integration tools

Description

Course description:

In this course, you will explore coding guidelines and best practices, such as PEP8, as well as using popular Python tools like Pylint, Flake8, Autopep8, Black, and Pydocstyle. Additionally, you will learn about different docstring styles, such as Sphinx, Numpy, and Google, as well as using type annotations and the static type checker, MyPy. You will also gain practical experience in debugging, profiling, timing, and unit testing (TDD). Furthermore, you will learn how to create your own Python packages, modern HTML documentation using MkDocs and Google documentation strings, and how to use continuous integration tools like GitHub Actions for testing and code documentation.

The Course covers the following Topics:
Installing and setting up the software
The coding guidelines and good practice programming (PEP8)  
The usage of Pylint, Flake8, Autopep8, Black and Pydocstyle
Different docstring styles for your code (sphinx, numpy and google)
The usage of type annotations and the static type checker MyPy
The usage of debugging, profiling, execution time measuring (timing) and unit testing (TDD)
The creation of own Python packages that can be uploaded to PyPi
The creation of a modern HTML documentation with mkdocs and google documenation strings 
The usage of continouos integration tools (Github actions for testing and codedoc)

Step ahead in your Python career and join this course!

I hope will see you there!

Content

Chapter 1: Introduction and Software

Introduction to the course
Course manual
Note: Materials and Software
Setup the Python Environment
Setup Visual Studio Code

Chapter 2: Coding Guidelines and Docstrings

PEP8 Coding Guidelines - Part 1
PEP8 Coding Guidelines - Part 2
PEP8 Guidelines
Code Linter: Pylint - Part 1
Code Linter: Pylint - Part 2
Code Linter: Flake8
Tool: isort
Formatter: Autopep8
Formatter: Black
Linter and Formatter
Docstring: Numpy Style
Docstring: ReST (Sphinx) Style
Docstring: Google Style
Code Linter: Pydocstyle
Docstrings
Type Annotations and Mypy - Part 1
Type Annotations and Mypy - Part 2
Type Annotations and Mypy - Part 3
Type Annotations und Mypy
Config files for the tools
Setup the tools in vscode

Chapter 3: Debugging, Unit-Testing and Timing

Debugging in VS Code
Timing
Profiling
Unit-Testing
Debugging, Unit-Testing and Timing

Chapter 4: Packaging

Modules and Packages - Part 1
Modules and Packages - Part 2
Package for our Vector Class
HTML Documentation with Mkdocs
Modules and Packages
Install Make and Git
Github Repository and GitHub Pages
Makefile and Requirements
More to Unit-Tests
Python Test Explorer
Code Coverage
Github Workflows and Pre-Commit

Chapter 5: Course conclusion

Course conclusion

Screenshots

Python: Coding Guidelines, Tools, Tests and Packages [2024] - Screenshot_01Python: Coding Guidelines, Tools, Tests and Packages [2024] - Screenshot_02Python: Coding Guidelines, Tools, Tests and Packages [2024] - Screenshot_03Python: Coding Guidelines, Tools, Tests and Packages [2024] - Screenshot_04

Reviews

James
November 19, 2023
Lots of good stuff to build into using code. Would be good to see a full worked example from start to finish as currently introducing lots of tools
Sean
August 22, 2023
A bit rushed at times, but a great overview on what is out there. Definitely gave me lots of ideas and pointers on how to reach the next level, skill-wise.
Neville
May 4, 2023
Course was very good and suitable for my level. It will be a good referral course that i will use frequently for my work.
Chuck
March 31, 2023
I thought it was a good course for introducing you to the tools that you can use when building Python packages. Tools to ensure that your code is error free, formatted correctly, unit tested, and documented.
Matthew
February 3, 2023
Most python courses I found are for beginners or advanced courses related to ML. It's nice to have an intermediate course over topics of python. There isn't too much content in this space. It will really help me get python tools setup at my work.
Sidorowicz.Aleksandra
January 4, 2023
The course covered everything I wanted to know about how to apply best practices to projects developed in python. The course was well structured and packed with practical knowledge. It would be even nicer if there will be more practice exercises provided.
Christopher
December 16, 2022
The material covered was generally good. The largest issue is that while purporting to cover and demonstrate linters/formatters - if you try to follow along with the given repo, you'll fail. This is because later in the course, the instructor installs a pre commit hook that runs all of these linters/formatters and thus makes the demonstration code not demonstrate the desired function. (as the instructor notes, he COULD exclude directories from the pre commit hooks, and preserve the demonstration code).
Ike
December 13, 2022
The information presented here is outstanding. I love his practical approach to explaining the topics. I would subscribe to any training that he produces.
Meretei
December 7, 2022
One of the best courses I have ever seen. I highly recommend this course to everyone who wants to go deeper in python.
Eduardo
November 30, 2022
Most of the course is just going through different tools for PEP8, you won't learn testing, documenting or anything else here, very dissapointed.
Bishal
October 27, 2022
A well organized course for someone who would like to learn about python documentation and building python package.
Maarten
October 24, 2022
The course “Python: Coding Guidelines, Tools, Tests and Packages” does indeed touch all these topics and gives very good introductions for each of them. It helped me to understand the differences between some of the linter tools, how to improve the structure of my python projects or improve code documentation by using Typing. The teacher explains everything very well and the course content itself is brief but sufficient. I have also learnt some new VSCode extensions which are really useful. Finishing this course does not make me an expert in any of the topics but it definitely helped me to find out what should be improved in my own projects. One topic I missed in the course though is Poetry?
Joseph
September 16, 2022
By the end, I was very happy with what I got. At first it was not clear how important the VS IDE was. I realized commands were run in a console, so they can be run independently. This point could be made more clear. Should not force people to adopt unnecessary tools. I was amazed by the final capability these tools provide. Now to find out whether I can apply them. But I have a template!!
Bireshwar
September 11, 2022
Best course for Junior Python Developers (As mentioned in course Intro) ! If possible please create one course for Intermediate level as well, that will help a lot.
Sami
June 23, 2022
Covers Python tooling concisely, without forcing you to learn what a for loops and a variable is. Jan created and explains the best Python project template I found: https://github.com/franneck94/Python-Project-Template-Eng This information is surprisingly hard to find.

Charts

Price

Python: Coding Guidelines, Tools, Tests and Packages [2024] - Price chart

Rating

Python: Coding Guidelines, Tools, Tests and Packages [2024] - Ratings chart

Enrollment distribution

Python: Coding Guidelines, Tools, Tests and Packages [2024] - Distribution chart

Related Topics

3741094
udemy ID
1/1/2021
course created date
1/22/2021
course indexed date
Bot
course submited by