Build Command-Line Applications in Python
Learn how to build professional command-line applications in Python with argparse, logging, signal handling, and structured project layout.
Learn Python programming from scratch
Learn how to build professional command-line applications in Python with argparse, logging, signal handling, and structured project layout.
Learn how to use Python's logging module to add structured, leveled log messages to your applications instead of relying on print statements.
Learn how to use Python's itertools module for efficient iteration with chain, cycle, product, combinations, groupby, and more.
Learn how to use Python's bisect module for fast binary search and insertion into sorted lists.
Learn how to use Python's heapq module for priority queues, min-heaps, and efficiently managing ordered collections.
Learn how to use Python's sqlite3 module to create, query, and manage SQLite databases without installing a separate database server.
Learn how to use Python's cProfile module to profile your code, find performance bottlenecks, and measure function call statistics.
Learn how to use Python's pdb module to set breakpoints, step through code, inspect variables, and debug programs interactively.
Learn the most common mistakes developers make when using Python's standard library and how to avoid them.
Learn how to build a complete, real-world command-line tool in Python using the standard library: argparse, logging, pathlib, sqlite3, and more.
Learn what concurrency means in Python, the difference between threads, processes, and async, and when to use each approach for faster, more efficient programs.
Learn how to use threading.Lock and RLock to prevent race conditions, protect shared data, and write correct multithreaded Python code.