liveBook · Manning

Module

A module is a distinct, bounded software unit that groups related code or functionality and provides an organizational or interaction boundary within a larger system.

How 35 Manning books explain it

Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform

How it is used
Builds reproducible, composable infrastructure by grouping resources and sharing standardized configurations across environments and teams.
How deep it goes
Explains module boundaries, patterns, dependencies, testing, sharing, and release governance, with implementation examples but no complete provider-specific deployment.
Examples
Demonstrates network, subnet, server, database, load-balancer, and tags modules through Python, Terraform JSON, state outputs, repositories, and release workflows.
What you can do after
Builds and shares reusable modules, connects them through outputs, tests changes, and releases governed versions.

Read how Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform explains module →

The Quick Python Book, Fourth Edition

How it is used
Organizes reusable Python code and keeps identically named objects distinct through module namespaces.
How deep it goes
Works through file creation, import forms, name access, search paths, and reload without detailing the import system's implementation.
Examples
Uses a circle-area module, qualified function calls, and a text-processing refactor into separate modules.
What you can do after
Build it from scratch: place related definitions in a Python file, import them from another file, and choose qualified or selective access.

Read how The Quick Python Book, Fourth Edition explains module →

Web Components in Action

How it is used
Uses modules to let Web Components import dependencies instead of making the page maintain a script tag for every component.
How deep it goes
Works through entry files, imports, exports, template separation, and a library wrapper; defers a deeper account of modules.
Examples
Builds a harp from imported component files, separates a business-card template, and wraps MIDI.js for sound.
What you can do after
Build it from scratch: load one component entry module, import its dependencies, and separate rendering into an importable template.

Read how Web Components in Action explains module →

Terraform in Depth: Infrastructure as Code with Terraform and OpenTofu

An application module is a Terraform module that contains the infrastructure configuration for an application.

How it is used
Packages application infrastructure for reuse and deployment across environments.
How deep it goes
Explains root-module arrangements, version selection, inputs, outputs, and the resource-graph caveat without detailing an application module’s full implementation.
Examples
Contrasts environment tfvars files with staging and production root modules, including a versioned registry call that outputs an application URL.
What you can do after
Operate/configure it by choosing a root-module arrangement and setting environment-specific inputs and module versions.

Read how Terraform in Depth: Infrastructure as Code with Terraform and OpenTofu explains module →

The Joy of JavaScript

A module system is a set of rules and mechanisms for organizing code into modules and controlling how they export and import bindings.

How it is used
Organizes application code into separately understandable files with explicit dependencies and exposed APIs.
How deep it goes
Works through dynamic patterns, ESM syntax, loading behavior, and tooling benefits, but defers loader configuration and build-tool specifics.
Examples
Contrasts CommonJS require with ESM import, then uses validation imports, conditional algorithm loading, and a bundler dependency tree.
What you can do after
Build it from scratch using ESM imports and exports, and evaluate static versus dynamic loading for an application's dependencies.

Read how The Joy of JavaScript explains module →

CSS in Depth, Second Edition

A module is a reusable, relatively small unit of page structure and styling that is independent of its surrounding page context.

How it is used
Organizes page styling into reusable units that can be assembled without tying their selectors to particular page locations.
How deep it goes
Develops class-based encapsulation through composition, naming, responsive behavior, and an isolated development workflow; treats dropdown JavaScript only briefly.
Examples
Builds a notification, composes a dropdown with a menu, and tests an image-and-text module in a narrow sidebar.
What you can do after
Build it from scratch: define focused, reusable CSS modules, compose them into pages, and document new ones in a pattern library.

Read how CSS in Depth, Second Edition explains module →

Python Workout: 50 ten-minute exercises

How it is used
Promotes reuse, testing, maintainability, and abstraction when functionality serves multiple programs.
How deep it goes
Explains file structure, imports, namespaces, execution guards, packages, and selected implementation trade-offs.
Examples
Uses sales-tax and menu modules, import aliases, selective imports, __all__, and direct-execution tests.
What you can do after
Build it from scratch, import it into programs, control direct execution, organize packages, and publish them with Poetry.

Read how Python Workout: 50 ten-minute exercises explains module →

Elixir in Action, Third Edition

A module is a named unit of Elixir code that groups functions and other definitions for compilation and loading.

How it is used
Organizes small Elixir functions into named units that can be compiled, loaded, called, and assembled into OTP applications.
How deep it goes
Explains definition syntax, naming, imports, aliases, compilation, bytecode loading, and runtime lookup without becoming a full language reference.
Examples
Uses Geometry, Geometry.Rectangle, IO, iex, .ex source files, and compiled .beam files to demonstrate module organization and invocation.
What you can do after
Build it from scratch using defmodule and def, compile it, load it in iex, and call its functions through qualified or aliased names.

Read how Elixir in Action, Third Edition explains module →

Simple Object-Oriented Design: Create clean, maintainable applications

A module is a separately organized application unit containing its own domain model and related components.

How it is used
Organizes large business systems into independently evolving components that collaborate through clear contracts.
How deep it goes
Develops domain boundaries, interface design, compatibility, extension points, and dependency monitoring without prescribing one architecture.
Examples
Uses Billing, Delivery, Inventory, Invoice, caching, registration APIs, and JUnit internal-class coupling as concrete cases.
What you can do after
Evaluate/understand module designs by checking domain ownership, API simplicity, client coupling, compatibility, and dependency growth.

Read how Simple Object-Oriented Design: Create clean, maintainable applications explains module →

The Well-Grounded Rubyist, Fourth Edition

A module is a Ruby construct that groups constants, methods, and other definitions under a namespace and can provide reusable behavior.

How it is used
Organizes shared object behavior without requiring classes to share a superclass, and keeps nested names separate.
How deep it goes
Works through definition, inclusion, lookup, extension, namespaces, and inclusion callbacks, while treating the mechanics of extend only preliminarily.
Examples
Uses a greeting mixin, stacklike behavior, temperature conversion, nested class names, and an inclusion callback.
What you can do after
Build it from scratch: define reusable Ruby behavior, mix it into classes, and use modules to separate namespaces.

Read how The Well-Grounded Rubyist, Fourth Edition explains module →

Learn AI-Assisted Python Programming, Second Edition

How it is used
Uses modules to extend Python for data processing, visualization, automation, file formats, websites, games, and other specialized tasks.
How deep it goes
Defines purpose-specific code collections and demonstrates importing and calling them, without descending into internal implementation.
Examples
Uses csv for NFL statistics, zipfile for multiple CSV files, and module tables covering visualization, data processing, and machine learning.
What you can do after
Apply modules via Python import statements, identify installation requirements, and use their functions in practical programs.

Read how Learn AI-Assisted Python Programming, Second Edition explains module →

Learn PowerShell Scripting in a Month of Lunches, Second Edition: Write and organize scripts and tools

A PowerShell module is a package that groups commands, functions, variables, and related resources for reuse.

How it is used
Packages focused PowerShell functions into reusable, discoverable commands for automation, testing, deployment, and optional publication.
How deep it goes
Descends from basic .psm1 creation through loading, reloading, manifests, exports, private helpers, discovery performance, and revision management.
Examples
Uses Get-MachineInfo, Set-TMServiceLogon, Get-DiskInfo, MyTools.psm1, database code, and PowerShell Gallery searches.
What you can do after
Build it from scratch as a discoverable script module, test its commands, control its public surface, and publish versioned revisions.

Read how Learn PowerShell Scripting in a Month of Lunches, Second Edition: Write and organize scripts and tools explains module →

Learn Haskell by Example

A Haskell module is a source-code unit that groups related definitions and controls their visibility through imports and exports.

How it is used
Organizes related definitions into reusable library and executable units with controlled visibility.
How deep it goes
Explains declarations, path-based names, exports, imports, qualification, and re-exports, while deferring deeper compilation details.
Examples
Uses Lib and Main, Graph, a line-numbering library, and a Csv re-export module.
What you can do after
Build it from scratch by naming files, declaring modules, selecting exports, importing dependencies, and arranging reusable code.

Read how Learn Haskell by Example explains module →

Data-Oriented Programming: Reduce software complexity

A software unit that aggregates stateless functions separately from the data entities those functions manipulate.

How it is used
Organizes system functionality into API-facing groups while separating it from data entities.
How deep it goes
Defines stateless functions, explicit data arguments, usage-only module relations, and the contrast with implicit object state; defers polymorphism.
Examples
Uses a Library module containing search, borrowing, returning, blocking, login, and lending-list functions.
What you can do after
Build it from scratch by extracting functionality from requirements, grouping exposed functions, and passing manipulated data explicitly.

Read how Data-Oriented Programming: Reduce software complexity explains module →

Get Programming with JavaScript Next: New features of ECMAScript 2015, 2016, and beyond

A separate source file or file-level unit that encapsulates code and can be imported or exported as part of a larger program.

How it is used
Organizes reusable JavaScript logic into files that share selected values without relying on globals.
How deep it goes
Defines file scope, works through default and named exports and imports, and addresses browser bundling without detailing loader internals.
Examples
Uses a shared statistics function and separate game-interface files to illustrate private helpers and small module APIs.
What you can do after
Build it from scratch by separating logic into files, exporting needed values, importing them, and bundling browser code with Browserify.

Read how Get Programming with JavaScript Next: New features of ECMAScript 2015, 2016, and beyond explains module →

Secrets of the JavaScript Ninja, Second Edition

A bounded unit of code used to organize and reuse program functionality.

How it is used
Organizes growing JavaScript programs into reusable, loosely coupled clusters while hiding implementation details.
How deep it goes
Works from the module pattern through AMD and CommonJS to ES6 export and import forms, with browser-compatibility guidance.
Examples
Uses a greeting module to test exported and private identifiers, plus exercises on valid imports and default exports.
What you can do after
Build it from scratch with the module pattern, or apply ES6 exports and imports to share selected functionality.

Read how Secrets of the JavaScript Ninja, Second Edition explains module →

Pro Angular 16

A module is a self-contained software unit that groups related functionality and can be incorporated into an application.

How it is used
Organizes file dependencies and configures root and optional feature groups in Angular applications.
How deep it goes
Works through file-level imports and exports and shows root-module configuration; defers details of decorator properties.
Examples
Uses named imports between TypeScript files, an `AppModule` listing, and an administration module that selects Angular Material features.
What you can do after
Build it from scratch by exporting and importing file features, then configuring a root or optional feature module.

Read how Pro Angular 16 explains module →

Refactoring to Rust

Rust's module system organizes related items into modules and controls how code is named, accessed, and structured within crates.

How it is used
Organizes related crate items by purpose while controlling how other code names and accesses them.
How deep it goes
Works through inline and file declarations, imports, visibility, nesting, and paths, using compiler errors to motivate fixes.
Examples
Refactors a greeting program into input and output modules, then compares absolute and relative paths in a snack crate.
What you can do after
Build it from scratch: split a Rust crate into modules, expose needed items, and correct imports across them.

Read how Refactoring to Rust explains module →

Practices of the Python Pro

How it is used
Organizes related code by concern and exposes selected functionality to other modules through imports.
How deep it goes
Explains files, namespaces, encapsulation, import forms, and organization, but stops short of package implementation.
Examples
Uses state-capital calculations, sales-tax and receipt files, shopping-cart decomposition, and layered application modules.
What you can do after
Build it from scratch by dividing code into concern-based .py files and importing required names explicitly.

Read how Practices of the Python Pro explains module →

Get Programming: Learn to code with Python

A separable software component, typically a file, that groups code and provides a limited unit of functionality.

How it is used
Uses modules to divide larger programs into manageable tasks that work together.
How deep it goes
Defines modules through inputs, tasks, and outputs, then describes independent environments; defers code examples of information passing.
Examples
Illustrates modules with a group research project and two Python files sharing class definitions.
What you can do after
Apply it via Python imports to use definitions from another file, and practice dividing larger tasks into reusable pieces.

Read how Get Programming: Learn to code with Python explains module →

Essential TypeScript 5, Third Edition

An ECMAScript module is a JavaScript module defined by the ECMAScript module system, with explicit imports and exports.

How it is used
Splits an application into files with explicit exported features and imported dependencies.
How deep it goes
Works through default and named imports and exports, then addresses Node.js and TypeScript configuration failures.
Examples
Uses a tax calculation, product utilities, and a TypeScript sum function with a generated-file import path.
What you can do after
Operate/configure ECMAScript modules in Node.js and TypeScript projects, then export and import functions between files.

Read how Essential TypeScript 5, Third Edition explains module →

Rust Servers, Services, and Apps

The Rust module system organizes code into named modules that provide separation and visibility boundaries.

How it is used
Organizes web-application functionality into Rust modules, separating handlers, database access, models, and state.
How deep it goes
Shows file restructuring, module declarations, imports, and exports through application code.
Examples
Uses an initial application module and later splits handlers into authentication and course modules.
What you can do after
Build application modules that separate authentication and course handlers, then import and configure their routes.

Read how Rust Servers, Services, and Apps explains module →

F# in Action: A Revised Edition of Get Programming with F#

A module is a language construct that groups related declarations such as data types, values, and functions under a named scope.

How it is used
Organizes domain types and the functions that act on them, especially when separating data from behavior.
How deep it goes
Defines module members, qualification, nesting, file constraints, and namespace trade-offs without detailing compiled implementation beyond static-class mapping.
Examples
Uses a retail Basket, a MyMaths utility with a Complicated submodule, and Domain, Logic, and Program application groups.
What you can do after
Apply it via F# modules to group types and functions, nest related functionality, and choose namespaces when multi-file hierarchies require them.

Read how F# in Action: A Revised Edition of Get Programming with F# explains module →

Julia as a Second Language

A module is a Julia namespace that groups related functions, types, constants, and other definitions.

How it is used
Groups related definitions so reusable functionality can be loaded and same-named functions can occupy separate namespaces.
How deep it goes
Defines modules and works through loading, namespace separation, multi-file organization, and function shadowing.
Examples
Uses Statistics functions, separate volume calculations, a multi-file geometry package, and an angle-arithmetic shadowing error.
What you can do after
Build it from scratch with `module` and `include`, and import existing functions before extending them.

Read how Julia as a Second Language explains module →

Learn PowerShell in a Month of Lunches: Fourth Edition, Covers Windows, Linux, and macOS

A module is a packaged unit of reusable code and related resources that can be loaded into a software environment.

How it is used
Extends PowerShell with reusable command sets for Azure and other PowerShell-enabled products.
How deep it goes
Defines modules, distinguishes them from snap-ins, and demonstrates discovery, installation, verification, and command lookup without covering implementation internals.
Examples
Uses the Az module, PowerShell Gallery searches, YAML conversion commands, and module inventory exercises.
What you can do after
Operate/configure modules by finding, reviewing, installing, verifying, and querying their commands.

Read how Learn PowerShell in a Month of Lunches: Fourth Edition, Covers Windows, Linux, and macOS explains module →

Functional Design and Architecture: Examples in Haskell

A software module is a separately organized unit of code with a defined responsibility and boundary.

How it is used
Organizes code around encapsulated responsibilities and keeps domain, implementation, and asset dependencies separated.
How deep it goes
Descends from opaque types and smart constructors to export lists, reexports, project structure, and corrected cross-layer dependencies.
Examples
Uses an opaque Value type, smart constructor functions, an Andromeda project tree, and vendor-dependent versus corrected hardware modules.
What you can do after
Evaluate/understand module boundaries, hide representations, design export lists, and detect dependencies that mix implementation with assets.

Read how Functional Design and Architecture: Examples in Haskell explains module →

Learn Rust in a Month of Lunches

How it is used
Organizes growing Rust code, clarifies names, and limits which functions and types users can access.
How deep it goes
Defines modules and works through `mod`, `pub`, nested modules, and paths; file organization is only briefly introduced.
Examples
Uses a printing module and nested country, province, and city modules.
What you can do after
Apply Rust's `mod`, `pub`, and module paths to organize code and control access.

Read how Learn Rust in a Month of Lunches explains module →

Deep Learning with PyTorch, Second Edition

A reusable network substructure made of a sequence of layers.

How it is used
Organizes convolutional network backbones into repeated sequences of convolutions, activations, and pooling.
How deep it goes
Defines a block and demonstrates its forward pass, stopping short of general module-system coverage.
Examples
Uses LunaBlock with two 3 × 3 Conv3d layers, ReLU activations, and MaxPool3d.
What you can do after
Build it from scratch by defining a reusable convolutional block with initialization and forward-processing logic.

Read how Deep Learning with PyTorch, Second Edition explains module →

The Well-Grounded Python Developer: How the pros use Python and Flask

A Python module organized for reuse by applications or other code.

How it is used
Organizes reusable functionality into namespaces and separates application domains for maintainable larger applications.
How deep it goes
Explains modular boundaries, namespaces, and application roles without detailing module creation syntax or import mechanics.
Examples
Uses a MyBlog application, URL endpoint modules, Flask Blueprints, and Python standard library modules as examples.
What you can do after
Build larger applications by separating related functionality into focused modules and namespaces.

Read how The Well-Grounded Python Developer: How the pros use Python and Flask explains module →

Deep Learning with Python, Third Edition

A repeated architectural unit in the Transformer made from attention and feedforward sublayers.

How it is used
Organizes Transformer computation into repeated blocks that combine attention with feedforward processing.
How deep it goes
Defines modules through architectural repetition and identifies Transformer block composition, but does not detail sublayer implementation.
Examples
Uses stacked Transformer blocks and repeated ConvNet blocks, including Xception’s repeated convolution and pooling pattern.
What you can do after
Evaluate/understand architecture diagrams by identifying reusable blocks and their attention and feedforward roles.

Read how Deep Learning with Python, Third Edition explains module →

Rust in Action: Systems programming concepts and techniques

A module is a Rust language construct that groups related declarations and organizes a crate's source code.

How it is used
Organizes a crate’s source code by grouping related declarations and keeping tests alongside implementation.
How deep it goes
Defines file and inline modules, nesting, default privacy, visibility modifiers, and imports; stops short of extensive module-system use.
Examples
Uses a Q7 implementation, a nested tests module, use super::*, and cargo test output.
What you can do after
Apply Rust module syntax to split declarations, control visibility, and import items within a crate.

Read how Rust in Action: Systems programming concepts and techniques explains module →

Kotlin in Action, 2E

A module is a distinct unit of Kotlin compilation whose declarations share an internal visibility boundary.

How it is used
Uses compilation boundaries to hide implementation details while exposing selected Kotlin APIs.
How deep it goes
Defines modules and internal visibility, then contrasts them with file, class, package, and public boundaries.
Examples
Uses Gradle source sets, Maven projects, IntelliJ IDEA modules, and test access to main-source internal declarations.
What you can do after
Operate/configure module boundaries and choose internal visibility for implementation details.

Read how Kotlin in Action, 2E explains module →

Tiny Python Projects: Learn coding and testing with puzzles and games

How it is used
Uses Python files to share reusable functions across programs and to separate importable functionality from command-line execution.
How deep it goes
Explains importing, qualified names, and the __name__ guard, but stops short of module packaging or advanced import mechanics.
Examples
Demonstrates importing and calling stemmer() from rhymer.py in the REPL.
What you can do after
Apply modules by importing reusable functions and preventing command-line startup during imports.

Read how Tiny Python Projects: Learn coding and testing with puzzles and games explains module →

Code Like a Pro in Rust

How it is used
Organizes Rust code hierarchically, groups related functionality, and provides namespaces for symbols.
How deep it goes
Explains `mod` declarations, nested and file-backed modules, default privacy, and visibility modifiers such as `pub(crate)`.
Examples
Demonstrates nested module declarations, separate source files, public and private modules, and a `use` import.
What you can do after
Apply Rust `mod` and `pub` declarations to organize code and control symbol visibility.

Read how Code Like a Pro in Rust explains module →

Effective Platform Engineering

A Terraform module is a reusable package of Terraform configuration that groups resources and exposes configurable inputs and outputs.

How it is used
Uses reusable Terraform modules as targets for integration tests that verify provisioned resources, configuration, and acceptance criteria.
How deep it goes
Explains module testing through dedicated-account applies and configuration checks, but does not detail module construction.
Examples
Uses an AWS VPC module to configure managed-node subnet tags for Karpenter discovery and naming conventions.
What you can do after
Evaluate a reusable module by applying it in a dedicated cloud account or project and checking its resources and configuration.

Read how Effective Platform Engineering explains module →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.