Privacy Notice
Last updated 10 October 2026
PythonLessonLab provides free Python lessons at pythonlessonlab.com. This notice explains what happens to information when you use the site.
Learning data on your device
We save your edited lesson code, problem-guide code and input lines, completed lessons, and passed problem-guide practice in your browser's local storage so you can pick up where you left off. We also save your analytics choice, the time you made it, and the version of this notice. Draft code and input lines remain on your device until you reset the code, clear this site's storage, or your browser removes them. Resetting code does not erase a previously passed task; completed status remains until you clear this site's storage or your browser removes it. Your analytics choice remains until you change it or clear this site's storage.
Python examples run in your browser. We do not send your editor code or console input to our servers to execute it. Avoid putting passwords or other sensitive information in practice code.
Optional Google Analytics
If you select Accept analytics, we load Google Analytics 4 to understand page visits, lesson task and quiz passes, lesson completion, clicks that open a YouTube player, and use of the lesson and problem catalogs. Google may receive page addresses without search query strings, lesson or guide identifiers, catalog categories and result counts, approximate location, and browser or device information. Google Analytics may set first-party cookies such as _ga and _ga_* to distinguish visits. We do not intentionally send your code, console input or output, quiz answers, or catalog search terms to Analytics. A video click tells us that the player was opened; it does not tell us how much of the video you watched. Advertising storage and personalization remain disabled, and we do not use Google AdSense.
The Analytics property's user-level and event-level data retention setting is two months. This setting does not limit standard aggregated reports; Google explains its retention controls.
If you reject analytics, we do not load the Google Analytics tag. You can change your choice anytime using in this page's footer. Withdrawing consent stops future Analytics collection; it cannot erase information already collected. We also attempt to remove the Analytics cookies accessible to this site when you withdraw consent. You can clear site cookies in your browser as well. Read how Google uses data from partner sites.
Python runtime and external services
When you press Run code, your browser downloads the Pyodide Python runtime from jsDelivr. This sends a normal network request, including your IP address, to that provider.
Where a lesson includes a video, its preview image is served by this site. The YouTube player is loaded from youtube-nocookie.com only after you press Play lesson video. YouTube and Google may then receive your IP address, browser and device information, and the video you chose, and may use cookies or similar technologies according to their policies. Following a Watch on YouTube link opens YouTube directly. Your Google Analytics choice does not control these actions. See Google's privacy policy.
The hosting and security infrastructure receives ordinary connection information to deliver and protect the site. Cloudflare may set a necessary security cookie called __cf_bm; Cloudflare explains its cookies here.
Your choices and questions
You can use all lessons without accepting Analytics. Your browser settings can clear saved lesson progress, code, consent choice, and cookies. For privacy questions or requests, email pythonlessonlab@gmail.com.