- About the Book
- Goals
- Project Structure
- Progress Tracker
- Getting Started
- Tech Stack
- Notes
- Resources
- Author
Automate the Boring Stuff with Python teaches Python from scratch, then shows how to write scripts that finish in minutes the tedious tasks that would take hours by hand: organizing files, scraping websites, working with Excel, PDFs, and more.
| 📘 Title | Automate the Boring Stuff with Python |
| 🔢 Edition | 3rd Edition |
| ✍️ Author | Al Sweigart |
| 🏢 Publisher | No Starch Press |
| 🌐 Free Online | automatetheboringstuff.com/3e |
Note
This repository is an independent learning project and is not affiliated with the author or publisher. The book's content is not included here. Only my own code, notes, and solutions are.
- ✅ Practice every chapter by writing the code myself
- ✅ Solve the practice questions and end-of-chapter projects
- ✅ Build a personal library of reusable automation scripts
- ✅ Document what I learn along the way
Automate-The-Boring-Stuff-With-python/
│
├── 📁 ch01_python_basics/
│ ├── 📁 examples/ # Code from the chapter
│ ├── 📁 practice/ # Practice question solutions
│ └── 📁 projects/ # End-of-chapter projects
│
├── 📁 ch02_flow_control/
├── 📁 ch03_loops/
├── 📁 ...
│
├── 📁 my_projects/ # Original projects inspired by the book
├── 📄 requirements.txt
├── 📄 .gitignore
└── 📄 README.md
Legend: ⬜ Not started | 🟨 In progress | ✅ Completed
🧱 Part 1: Python Programming Basics
| # | Chapter | Status |
|---|---|---|
| 0 | Introduction | ⬜ |
| 1 | Python Basics | ⬜ |
| 2 | if-else and Flow Control | ⬜ |
| 3 | Loops | ⬜ |
| 4 | Functions | ⬜ |
| 5 | Debugging | ⬜ |
| 6 | Lists | ⬜ |
| 7 | Dictionaries and Structuring Data | ⬜ |
| 8 | Strings and Text Editing | ⬜ |
⚙️ Part 2: Automating Tasks
| # | Chapter | Status |
|---|---|---|
| 9 | Text Pattern Matching with Regular Expressions | ⬜ |
| 10 | Reading and Writing Files | ⬜ |
| 11 | Organizing Files | ⬜ |
| 12 | Designing and Deploying Command Line Programs | ⬜ |
| 13 | Web Scraping | ⬜ |
| 14 | Excel Spreadsheets | ⬜ |
| 15 | Google Sheets | ⬜ |
| 16 | SQLite Databases | ⬜ |
| 17 | PDF and Word Documents | ⬜ |
| 18 | CSV, JSON, and XML Files | ⬜ |
| 19 | Keeping Time, Scheduling Tasks, and Launching Programs | ⬜ |
| 20 | Sending Email, Texts, and Push Notifications | ⬜ |
| 21 | Making Graphs and Manipulating Images | ⬜ |
| 22 | Recognizing Text in Images | ⬜ |
| 23 | Controlling the Keyboard and Mouse | ⬜ |
| 24 | Text-to-Speech and Speech Recognition Engines | ⬜ |
📎 Appendices
| # | Appendix | Status |
|---|---|---|
| A | Installing Third-Party Packages | ⬜ |
| B | Answers to the Practice Questions | ⬜ |
- 🐍 Python 3.10+
- 🔧 Git
1. Clone the repository
git clone https://github.com/ZeroLayerOS/Automate-The-Boring-Stuff-With-python.git
cd Automate-The-Boring-Stuff-With-python2. Create a virtual environment (recommended)
python -m venv venvActivate it
# Linux / macOS
source venv/bin/activate
# Windows (PowerShell)
venv\Scripts\Activate.ps1
# Windows (CMD)
venv\Scripts\activate.bat3. Install dependencies
pip install -r requirements.txt4. Run any script
python ch01_python_basics/examples/hello.pyThird-party libraries are added chapter by chapter. See requirements.txt for the full list.
- Code is written in my own style with extra experiments, not copied verbatim from the book.
- Found a bug or have a better solution? Feel free to open an Issue or a Pull Request. 🙌
| Resource | Link |
|---|---|
| 📖 Book (free online) | automatetheboringstuff.com/3e |
| 🌐 Author's website | automatetheboringstuff.com |
| 📚 Official Python docs | docs.python.org |