Core Python: Organizing Larger Programs

This course is an introduction to features of the Python language which will help you structure your code once your needs move beyond a few Python modules. You'll learn where to start plus the patterns you should follow to grow your Python projects.
Course info
Level
Intermediate
Updated
Mar 8, 2019
Duration
1h 6m
Table of contents
Description
Course info
Level
Intermediate
Updated
Mar 8, 2019
Duration
1h 6m
Description

As your Python programs grow, or you contribute to existing, larger Python-based systems, you'll need some techniques to help you manage the inevitable growth of complexity. In this course, Core Python: Organizing Larger Programs, you’ll learn foundational knowledge to structure your Python programs to facilitate their growth and maintenance. First, you'll learn how to implement packages. Next, you'll discover namespace and executable packages. Finally, you'll explore a structure for your projects that support everything from code to tests to documentation. When you’re finished with this course, you’ll have the skills and knowledge of Python program organization needed to grow and nurture your Python projects.

About the author
About the author

Robert Smallshire is a founding director of Sixty North, a software product and consulting business in based in Norway. He has held several senior software architecture and technical management roles, and he is a regular conference speaker. Python is his weapon of choice.

More from the author
Python Fundamentals
Intermediate
5h 12m
Sep 26, 2017
Advanced Python
Advanced
3h 53m
Jun 24, 2017
About the author

Austin is a founding director of Sixty North, a software consulting, training, and application development company. He's a native of Texas but currently lives in Norway where he writes software, runs a local software interest group, and presents and teaches whenever he can.

More from the author
Python Fundamentals
Intermediate
5h 12m
Sep 26, 2017
Python – Beyond the Basics
Intermediate
7h 23m
Jul 18, 2014
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone, my name is Austin Bingham, and welcome to my course, Core Python: Organizing Larger Programs. I'm a founder and principle consultant at Sixty North. As your Python programs grow, or if you need to contribute to existing larger Python-based systems, you'll need some techniques to help you manage the inevitable growth of complexity. Our experience is that successful Python projects pay close attention to the modular organization of their code. In this course, we are going to introduce you to features of the Python language which facilitate the structuring of your code base once your needs move beyond a few Python modules. Some of the major topics we will cover include packages, which allow us to nest Python modules into subpackages; namespace packages through which we can extend existing packages with additional code; executable packages, which provide a convenient means for delivering programs as a coherent yet modular whole; recommended file and directory layouts for new packages; and distributing your new packages to other users. By the end of this course, you'll know where to start when producing greenfield Python libraries or Python executables, and the patterns you should follow to grow your system from a vigorous seedling into a strong and substantial oak. Before beginning the course, you should be familiar with basic use of Python's module and import system. From here, you should feel comfortable diving into other core Python language courses on classes and object-orientation, functions and functional programming, and robust resource and error handling. I hope you'll join me on this journey to learn about the Python package system with the Core Python: Organizing Larger Programs course at Pluralsight.