We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

Welcome to BookBot

This is probably your first Python project, and almost certainly your first one on Boot.dev. Nice.

We're building BookBot, a Python program that analyzes novels and prints a report on their word and character usage. You will:

  • Set up a professional Python development environment on your computer.
  • Build a complete project from scratch.
  • Work in a professional code editor (Zed recommended).

While you're learning, we recommend not using inline AI tab completion in your code editor.

Here's what you'll build (you might want to go fullscreen):

Click to play video

Windows Users

Our automated tests run in Linux and macOS environments. On Windows, run the Boot.dev CLI inside WSL 2, not a plain Windows terminal.

Boot.dev CLI

You'll use the Boot.dev CLI throughout this course to run lesson commands and tests against the files on your machine.

Run vs. Submit

Lessons include commands that run on your machine and tests that check the results. The CLI has two modes for running them: run and submit.

  1. bootdev run <id>: Runs the commands and shows the results. This is useful for debugging, but it won't tell you explicitly whether you've passed the tests.
  2. bootdev run <id> -s: Runs the commands in submit mode and gives you pass/fail feedback. On success, it also marks the lesson as complete on the website.

On some lessons, failed submissions can affect your sharpshooter spree. On others, there's no penalty on failure. Read each lesson's instructions carefully and follow the submit flow it asks for.

You can copy each command, complete with the lesson ID, from the test panel.

Assignment

  1. bootdev --version
    
  2. bootdev login
    

If you're stuck, ask for help in the Boot.dev Discord.

Submit the lesson from the test panel. There's no penalty on failure for this lesson.