Chapter 1, The Fundamentals of Python, looks at the Python language and how it differs from other languages, and covers how to install and use the interactive Python console, commenting code, running Python programs, and alternative programming shells.
Chapter 2, Data Types and Modules, covers how Python code is structured, common data types and their methods, and how to import and work with Python modules.
Chapter 3, Logic Control, discusses conditional tests using if...else statements, repetition using loops, and error handling with exceptions.
Chapter 4, Functions and Object-Oriented Programming, looks at optimizing code reuse with functions and objects. Classes, methods, namespaces, and Python properties are also covered.
Chapter 5, Files and Databases, discusses file interaction, including reading from and writing to files, retrieving individual lines from files, and serializing files for transfer. In addition, basic database operations are covered using SQLite, and a brief summary of using the SQLAlchemy utility for database access is provided.
Chapter 6, Application Planning, covers the software development life cycle, development practices and methodologies, identifying project requirements, and the use of software repositories.
Chapter 7, Writing the Imported Program, focuses on the development of the foundational code; identifying specific project requirements; writing utility functions; simulating liquid storage tanks, valves, and pumps; as well as how name mangling alleviates errors in classes.
Chapter 8, Automated Software Testing, discusses a variety of techniques for writing unit and functional tests, how to use pytest to write automated tests, and what code refactoring is.
Chapter 9, Writing the Fueling Scenario, is the main focus of the book. It details the specific requirements for creating a simulated fuel farm, how the project directory is structured, writing the component instances and scenario functionality, and testing the simulation.
Chapter 10, Software Post-Production, looks at the final steps to completing software projects, including documenting code using docstrings, creating user documentation via Sphinx, and reviewing lessons learned for the project.
Chapter 11, Graphical User Interface Planning, explores GUI development, including GUI functionality, elements, and best practices. It also considers the user environment as it applies to GUI creation, and looks at some of the most popular graphical Python frameworks available.
Chapter 12, Creating a Graphical User Interface, discusses wireframing the GUI prior to writing the code. It then uses the Kivy framework to write the actual interface, utilizing separate Kivy logic and layout files. It also looks at using manual methods to test GUI functionality.