
Master Python basics from data types to modules and build projects like text to speech and a converter. Explore files, MongoDB, and advanced topics like concurrency, decorators, and web application.
Explore Python tools to develop scripts, including the Python interpreter, shell or command line, notebooks, and various IDE options, with cross‑platform installation.
Install Python on Windows, verify the installation, set up notebook to use the Python package manager, and install the community edition to begin exploring in the next lecture.
Install python 3 on macOS, verify the installation, and use the Python package manager (pip). Then install developer tools, download the community edition, and launch Jupiter to complete the setup.
Install python 3.8 on ubuntu, verify with python3 --version, and set up jupyter notebook; learn to install the notebook environment via command line or download to begin exploring.
Learn to set up a Jupyter notebook, manage folders, create notebooks, switch cells between markdown and code, render markdown, insert images, run and restart cells, and install packages.
Master printing with single or double quotes and comments, then explore variables and naming rules. Introduce Python data types: integers, floats, booleans, and strings via input and assignments.
Mastering python from scratch introduces two types of numbers, integers and floats, with examples like 1.5 and 102.5, and explains arithmetic as addition, division, floor division, modulo, and hash comments.
Explore python numeric types and arithmetic, including augmented assignments and the order of operations, then print variables and use input to capture user values.
Convert a string age to int to enable arithmetic, then explore booleans and logical operators (and, or, not) for true-false expressions in Python numbers.
Explore Python strings, learn to create strings with quotes, concatenate first and last names with a space, repeat strings by multiplication, and define string variables like a message with hello.
Master Python strings by using zero-based indexing, negative indices, and slicing with start, end, and step to extract precise substrings.
Master string indexing and slicing with positive and negative indices, steps, and reversing; learn strings are immutable and how to rebind variables, then use len to count characters.
Explore Python string operations, including splitting a string with the default space delimiter, joining pieces with join, and converting case with upper, lower, capitalize, plus finding indices.
Explore Python strings by searching substrings, understanding index results or -1 when not found, using start and end hints, replacing text, and counting character occurrences while noting string immutability.
Explore python string handling by aligning text to a 30-character width, using format and f-strings for variable substitution, and printing concatenated names with clear formatting.
Mastering Python from scratch covers implicit and explicit typecasting, showing how Python auto converts numbers to float to avoid loss and how to cast with int, float, and str.
Explore Python conditional logic with if, elif, else, learn comparison operators, boolean expressions, and logical operators, and see how to combine conditions and indentation in practical examples.
Master conditional logic in python through practical examples, test numbers divisible by two (even), apply and, or, not with if statements, and validate password length and numeric conditions.
We explore for loops with range and while loops, including nested loops, printing values from zero to nine, and understanding start, stop, and step parameters.
Explore looping in Python from scratch by using for loops with the range function, control flow with break and continue, and printing ranges and results.
Explore Python looping concepts, comparing for and while loops, using break to exit infinite loops, and printing with conditionals and remainder checks for range-based output.
Demonstrate nested for loops in Python using range 1 to 9, converting numbers to strings and left aligning in four spaces with print end. Illustrate with a timetable example.
Explore python lists created with square brackets, holding mixed types and mutable. Access by index, append items, pop to remove last, join with plus, use list comprehension to build lists.
Master python lists from scratch by learning indexing, slicing to access items, reversing, counting occurrences, popping, appending, inserting, and distinguishing between aliasing and full copies.
Explore Python lists through copying, appending, and combining with plus; learn list comprehension to transform ranges and filter even numbers.
Explore filtering lists with multiple conditions using modulo checks for even numbers and divisibility by two or four, and compare list comprehension with traditional loops.
Explore dictionaries, tuples, and sets, focusing on unique keys, curly brace syntax, key-value access and updates, and adding new pairs; cover set operations and basic sequence unpacking.
Learn dictionary operations in Python, including keys, values, and items; delete with del and pop; copy dictionaries; and build new ones via dictionary comprehension and for loops, with salary examples.
Explore Python collections by manipulating tuples and lists: create sequences, use count and index methods, and unpack with an asterisk to handle varying element counts.
Explore how to use Python sets: create sets with literals or set(), remove duplicates, and perform intersection, union, difference, and symmetric difference. Iterate over sets with for loops.
Define functions with def, pass parameters (positional or keyword), use default values, and call by name to reuse code, with examples printing messages.
Develop and customize Python functions by defining parameters, printing messages, and exploring positional versus keyword arguments, including how parameter order affects execution and common errors.
Define functions with parameters and default values, print messages inside, document with a docstring, reveal help text, and return values using the return statement.
Learn to define a function that generates fibonacci sequence using two initial terms, a and b, with a while loop, appending results, and returning results for 0, 1, and 1000.
Explore Python modules and reuse functions across scripts by importing modules or using from import; access functions via module.name and discover contents with a function named Josh.
Learn to import functions from modules with from utils import and aliasing with import utils as, run modules as standalone scripts with parameters and __name__ == '__main__', and explore packages.
Learn how to manage python packages from installation to updates using pip, including searching, installing, listing, upgrading, and exporting a requirements file.
Explore built-in Python functions, including int, float, and str for type conversion, plus chr and ord for characters and hex, octal, and bin representations.
Explore Python built-in functions for collections, including lists, dictionaries, and sets, and learn operations like max, min, sum, pow, range, len, round, eval, and slicing with start, stop, and step.
Learn how to start a PyCharm project, set up a Python virtual environment, create and run a Python file, and use the terminal and Python console to manage code.
Learn to debug in pyCharm by setting breakpoints, running and resuming programs, stepping over, into, and out of functions, and evaluating expressions with variables.
Download the course source code, extract it, configure a Python interpreter, install the bundled requirements, and prepare notebooks that connect to MongoDB using a connection string.
Learn how to create this file in Python from scratch. See an overview of the TTS project.
Install Google text to speech and set up a virtual environment across Windows, Mac, and Linux, then write a Python script to convert text to speech and save as mp3.
Build a Python workflow that confirms file saving with a print statement, prompts for text and filename, prevents silent overwrites, and uses string split to ensure a proper file extension.
Explore a python tts project that handles file name manipulation and extension handling for text-to-speech output, using string concatenation and a reusable function to convert text and save the file.
Explore a Python number guessing project in which the computer guesses your number via higher, lower, or correct feedback, using d for down and c for correct.
Learn a Python project that uses divide and conquer and binary search to guess a number by repeatedly choosing the list center and halving based on feedback.
Create a numbers list from 1 to 100 and use a while loop to narrow the range by comparing guess to center. Use integer division to choose next half.
Create a Python number guessing game that narrows the range by halves using if statements, prompts for user input, and demonstrates debugging and handling of invalid choices.
Build a converter project by creating a script that converts numbers to words, demonstrated with examples like one million two hundred thousand two hundred.
Build a Python converter project to turn numbers into words by using division and modulus to extract millions, thousands, and hundreds, then map values with a numbers dictionary.
Learn to decompose a number into millions, thousands, and hundreds using division and modulo, then create a get_parts function to extract each three-digit segment.
Learn how to convert a three digit number to words in Python by checking string length, using integer division and modular arithmetic, and handling numbers under twenty.
Learn to build a Python number-to-words converter by extracting million, thousand, and hundred parts, appending words with plus-equals, and managing spaces to form correct phrases.
Develop a Python converter project by modularizing into millions, thousands, and hundreds parts, handle user input as a string, and refactor code to avoid redundancy while preserving a working version.
Follow the converter project workflow: think through the problem, implement a quick and dirty solution, then debug with break points and refine the logic.
Learn to handle files in Python using open with modes like r, w, a, x, t, and b; read, write, and close, including with statement usage for safe resource management.
Demonstrates Python file handling from scratch by creating and opening files, writing content, reading data, and using read-write modes such as r+ with seek to reset the pointer.
Mastering python from scratch teaches file handling in python, covering truncation with w and w+, append and read operations, writing lines, seeking pointers, and exclusive creation with x mode.
The lecture on Python file handling explains seven file operation modes, including read, write, and read-write. It covers binary files, encoding text with UTF eight, and writing encoded bytes.
Reset final pointers to zero, read encoded content, and decode UTF-8, then convert numbers to bytes with buffers for binary file handling in Python.
Learn to interact with the filesystem in Python by creating, listing, renaming, and removing folders and files, managing paths, reading and writing text, and copying or archiving data.
Create and rename folders with mkdir and rename, learn that directories must be empty to delete, and remove files inside with unlink to keep paths accurate.
Rename, replace, and remove files and folders using touch to create new files, write and read content, and inspect file properties such as name, suffix, stem, and timestamps.
Learn to interact with the file system by creating files with loops and list comprehension, and search for files using glob, filtering by extensions and recursively listing results.
Learn to manipulate the file system with shuttle: copy, move, rename, and remove folders and files; create and extract archives; check disk usage.
Learn to work with dates and times using the daytime module, create date and time objects, and perform arithmetic with timedelta.
Mastering Python from scratch guides creating date and time objects, performing time delta arithmetic, and adding or subtracting days, hours, and minutes.
Explore how to get current date and time, compute microsecond differences, and format or parse dates using Python's time/strftime and strptime directives like %A, %B, %d, %m, %Y, and %y.
Explore unix epoch time and timestamps with datetime, converting between timestamps and readable dates. Format dates with full month and weekday names, and manage time zone differences.
Learn how to communicate with the internet using the requests library, perform get and post requests, pass query parameters, and interpret responses with status codes and dictionary data.
Learn web communications in python by constructing get and post requests, using parameters and dictionaries, and exploring API endpoints and repository searches to access Python data.
Explore web communications in Python by performing GET and POST requests with the requests library, building query strings and parameters, handling responses, and posting data to APIs.
Learn to download images from web sources, save and rename files, and perform get and post requests with Python requests to upload and download files while checking response status.
Master the python requests library to send and inspect http requests and responses, handle headers, redirects, and status codes, and implement timeouts and password prompts.
Learn how Python handles errors with exceptions, using try, except, else, and finally to manage issues like syntax errors, division by zero, and file not found, with custom messages.
Explore exception handling in Python by managing multiple errors with try, except, else, and finally, including file not found and division by zero, and raising name errors with clear messages.
Jason is a small, lightweight data format for transporting data between web servers and browsers, like a Python dictionary; learn load, loads, dump, and dumps for reading and writing JSON.
Add a new marital status key to each json entry, then fetch json data with requests, parse it, and save to a file with open.
Learn to pass and read command line arguments in Python, handling multiple inputs with a module. Explore creating and using environment variables across Windows, Linux, and macOS.
Create and edit environment variables on Windows with user and system scopes, set email_address and email_password, and restart Jupiter Lab for changes to take effect across Windows, Linux, and macOS.
Set Linux environment variables by editing the .bash file, exporting email and password, and test them with Python using os.environ.
Discover how to create macOS environment variables via the terminal: edit your profile, export the variable, reopen the terminal, and access it in Python with os.environ.
Learn to fetch environment credentials in Python using os and environ.get, then send Gmail messages with yagmail after configuring Google settings.
Configure Google app access, send emails with mail send, test with subject and body, address multiple recipients via list or alias dictionary, and attach files or images to messages.
Develop a Python script to check multiple websites and report whether each site is responding properly.
Build and run the WebMon Python script by supplying required website arguments and an optional timeout, while configuring a new project, virtual environment, and requests installation.
Debug and explain a script that parses arguments, handles options, and enforces a single timeout, extracting the script filename from __file__ and validating user input.
Master python project part-3 teaches debugging with try and catch, parsing options, extracting values from a list, converting to float, handling value errors, and making timed requests.
Develop a web request script using requests, handle timeouts and exceptions such as connection errors or missing schemes, and implement command-line options with help messaging for cross-platform use.
Build a WebMon health monitor by creating a health message and options, handle timeouts, and ensure clean exit logic, with tests using google.com and htp.
Create a script in the SysHealth project to monitor desk utilization, cpu utilization, and memory utilization against thresholds and timeouts, print alerts, and send email notifications.
Define a Python script that monitors CPU and memory utilization, triggers an alert when health measures exceed 70 percent for five minutes, and sends email notifications via Gmail.
Parse and validate command-line arguments in Python, set defaults for timeout and options, handle conversion errors, and compute start time and timeout with datetime during script execution.
Monitor CPU percent, memory usage, and disk partitions with a while loop; debug the script and adapt calls for Linux and Windows while consulting the documentation.
Mastering python - from scratch: SysHealth part-4 explains monitoring cpu and memory thresholds, setting a threshold flag, and sending email alerts with a configurable timeout and option flags.
Use a command-line Python script to send emails via SMTP with environment variables, configurable content and subject, and robust argument validation, including handling missing parameters and errors.
Create a backup script that copies the Logs folder to a backups location, recursively selects all files, and produces a complete archive, then run and verify the compressed output.
Learn to build a backup script that takes source and destination folders, handles options for recursive traversal, extension filters, and compression, and prompts before overwriting an existing destination.
Mastering python - from scratch, backup part-2 guides you to validate backup paths by checking source existence, confirming destination readiness, and prompting the user to approve overwrites.
This lecture covers a backup script that parses command-line options, validates source and destination, provides a help message for missing arguments, and applies default options for recursion and file extensions.
Build and debug a Python backup script, parsing command-line options -C, -R, and -E while validating source and destination paths. Explore log handling, case sensitivity, and behavior with varying arguments.
Create a Python backup function that recursively lists files by extension and user type, reconstructs destination paths, and copies files to the destination folder.
Extract and identify source files and folders, then build the destination path by joining path segments with forward slashes to complete a backup workflow.
Create nested directories when they do not exist by setting the parents flag to true, then copy files to the destination and optionally compress the directory into an archive.
Develop a backup script in part-8 that copies and compresses files, checks destination existence, handles prompts, and reports successful backups.
Explore object oriented programming in python by defining a class, creating an instance, and using self to initialize attributes like first name, last name, and salary via constructor and methods.
Declare a class, create employee instances with three required arguments, and implement methods for full name and new salary with error handling.
In this lecture, learn to define Python classes like Student and Course, implement __init__, manage a course's student list with a maximum capacity, and handle errors when full.
Define two classes, student and course, with a maximum capacity and a student list; add students only if space remains, reject the third, and iterate to show enrolled students.
Learn how to differentiate class and instance variables and use regular, class, and static methods with decorators, illustrated through an employee example and salary raise scenarios.
Explain how class variables differ from instance variables, show accessing and modifying them via the class name versus an instance, and discuss protecting the class variable from unintended changes.
Explore class variables in Python by building a course model with a total students class variable, a students list, and student instances you add to the course and increment total.
Demonstrates class variables and class methods in Python by tracking student counts and course capacity, and using a classmethod named define from to build employee data and manage salary adjustments.
Create and compare class methods and static methods, add records to a database, and handle id lookups that may not exist.
Explore class inheritance, where a subclass inherits attributes and methods from a parent, overrides salary raise, and adds new attributes like a PMP certificate using super to initialize the parent.
Demonstrates class inheritance by overriding the salary raise attribute in an engineer subclass, using super to pass parameters, and overriding a method to apply a raise, with an accountant example.
Define a manager class derived from engineer and employee, override salary handling, and use left-to-right lookup to apply engineer's 1.15 multiplier (or 1.07 from employee) to base pay.
Learn about Python special methods and how getters, setters, and the @property decorator keep a full name updated when first or last name changes.
Convert the fullName method into a property using the @property decorator, enabling attribute-style access while preserving existing code. Add a setter to synchronize first and last names when fullName changes.
Declare a class and implement special methods __str__ and __repr__ to control what prints. Create an instance with first name and last name to show end-user and programmer representations.
Define a special method to handle plus and minus operators, returning self.salary plus other, and reference the full list of operators for later lessons.
Explore relational and document databases, including tables, attributes, collections, and NoSQL concepts, and learn how Python and object-relational mapping simplify data management with MongoDB Atlas.
Set up a free Atlas cluster, whitelist your IP, create a database user with privileges, load sample data, and connect via Python or MongoDB Compass.
Learn to use MongoDB with Python by loading sample data, exploring databases and documents, viewing fields, and managing documents and databases.
Install Mongu, connect to a MongoDB Atlas cluster, define a student document class, and perform CRUD operations on documents using that class; next, explore document queries.
Connect to Atlas via a connection string, import mongoengine, and define a student document with first_name, last_name, email, and grades; create and save a sample student to demonstrate insertion.
Create and manage student documents in MongoDB by defining a class, selecting a collection, and indexing first name, last name, and email to speed searches.
Mastering python - from scratch demonstrates creating student documents in MongoDB, enforcing a unique email, adding multiple records, retrieving the first document, and updating fields like first and last names.
Explore a wide range of field types in MongoDB documents and learn how arguments like max length, required, default, and unique shape data validation and defaults at creation.
Learn to query MongoDB from Python using a query set object and field lookups. Apply operators, case-insensitive variants, sorting, and slicing, and combine conditions with a Q object.
Explore querying documents in MongoDB by defining a student schema, creating a students collection with first name, last name, and email fields, and iterating over results to display formatted output.
Master basic MongoDB queries using equality operators to match first or last names, and refine results with not, less than, less than or equal, and greater than or equal conditions.
Query MongoDB documents using string operators for exact (case sensitive) matches, starts with, and contains; sort results by multiple fields in ascending or descending order.
Query documents in MongoDB with aggregation and conditions; learn last element indexing, averages and sums, and filter by grade greater than or equal to 90 and name contains.
Master the concept of document relationships in MongoDB by exploring embedded documents, reference fields, and one-to-many relationships, then manage delete behavior with cascade, do nothing, or nullify rules.
Explore modeling a movie with embedded reviews in MongoDB, using embedded document and embedded document list structures, then save and verify in Compass.
Build a MongoDB data model with student and book documents, using a reference field to link a book to a student and ensure saving before referencing in one-to-many relationship.
Create and relate student and employee documents in MongoDB, using reference fields and cascade delete, enforce unique emails, and model employee profiles as document subtypes with content fields.
Explore document relationships in MongoDB within mastering python - from scratch, including cascade delete between employee and employee profile, and querying courses by name to retrieve student names.
Explore the student and courses project in Python: manage students, create and find by email, update and delete records, and list or search courses by maximum students.
Create a project, set up a virtual environment, and structure folders data and services; define course and student documents with name, max students, and student IDs using Mongo engine.
model a student document in Mongo Engine with an embedded grade, including first name, last name, and unique email, plus a course reference and indices.
Create a student model and implement database operations to insert new students with first name, last name, and email, including a robust Python db connection and exception handling.
Create and update a student object using parameters, skip empty inputs, and implement delete and search by email to manage student records.
Mastering Python - from scratch: learn to model students and degrees, attach grades as embedded documents, and perform crud operations from connecting to database to saving and listing student records.
Explore a student and courses crud operations by retrieving a student by email, updating names, and testing course creation with unique email constraints. Implement exception handling for duplicates and deletions.
Implement a student and courses project by creating a course, enforcing max students, adding students to the course, updating and deleting the course, and saving it.
Build and test a student and courses data model by adding a student by email, embedding grades and degree, and debugging with breakpoints to verify saves.
Develop the user interface and a while loop-driven main menu to manage students and courses, using data services with CRUD for students and courses, and add grades and last-lecture enrollment.
Develop a Python student management flow that separates user interaction from the data service and implements create, get by email or name, delete, and update grade functions.
Fetches a student by email, assigns a course, and records grades through a student service and a data service. Explains option-driven flows to create and update courses and related records.
Explore a python student and courses project: navigate to function definitions, define course and max parameters, create list and service functions, and test in terminal with breakpoints.
Test and validate a student and courses project by creating, updating, deleting, and searching students by email or name, and demonstrate data seeding with the Fakirs package.
Learn to generate realistic test data with the random module and Faker, create student records, and insert them into a database using single or bulk operations.
Seed a Python project by deleting and recreating the database, then generate thousands of students and several courses, randomly assign students to courses, add grades, and track script performance.
Create a graded student course grid using floating point scores, embedding grade records in each student's degree list, and debug the script to verify results.
Organize a python project with a data folder and embedded documents for course, student, and grade, implementing CRUD services and course management, plus a command-line UI and random data generation.
Explore the bookstore project overview with MongoDB, detailing data models, documents, and CRUD operations across books, publishers, and subscribers, plus data service structure and embedded borrowing history.
Master Python basics with map and enumerate to apply functions and add a counter; learn lambda, *args, **kwargs, and the __name__ == '__main__' check.
Explore using map, zip, and enumerate to pair values, create dictionaries, and build tables; apply lambda for on-the-fly functions and sort lists by first or last names.
Define functions with a variable number of arguments using *args and **kwargs, and demonstrate keyword arguments and basic command line argument handling.
Explore controlling Python script execution with the main guard if __name__ == '__main__', distinguishing running from importing, and use breakpoints to verify __name__ behavior.
Explore iterators, generators, and decorators in Python, learning how __iter__ and __next__ control iteration, how yield enables generators, and how decorators add functionality to functions.
Explore iterators, generators, and decorators through a hands-on look at the Fibonacci sequence, stop iteration, and a class-based implementation using next and iter.
Explore iterators, generators, and decorators and compare creating data as a generator versus a list, highlighting memory efficiency, time taken, and yield-based data generation.
Explore iterators, generators, and decorators in Python by building a generator that yields values and a factorial example, then implement decorators that modify function behavior.
Explore how decorators work, observe the wrapper execution, and learn to modify decorators to handle functions with parameters through positional arguments.
Explore class-based decorators in Python, building logger and timer decorators with parameters, applying multiple decorators to a function, and wrapping it to measure elapsed time and log messages.
Master the basics of python logging, covering levels such as info, warning, error, and critical, configuring basicConfig, and using getLogger and handlers to format and route logs.
This lecture explains configuring python logging with basicConfig, shows the default warning level, how to change it, and formatting logs with level name, logger name, and message.
Create an advanced logger with file and stream handlers, set the debug level, and apply a formatter to log date, time, logger name, and messages to both file and console.
Configure python logging with file handlers, set error level, and log exceptions with logger.exception. Use rotating file handlers with a base name and max files to cap log growth.
Explore concurrency by comparing threading and multiprocessing, differentiating processes from threads, and applying them to cpu-bound and io-bound tasks for efficient execution.
Learn threading and multiprocessing in python by creating and running threads, using sleep to simulate work, and comparing synchronous execution with join, plus daemon processes for background tasks.
Explore threading and multiprocessing by creating daemon threads, using join for synchronization, and timing factorial computations to observe main thread coordination and execution time.
Explore creating and starting threads with threading and concurrent futures, pass arguments to functions, use dictionary comprehension, and join threads while measuring execution time for Python tasks.
Learn to download images from a list of urls, extract and clean filenames from response headers, save files to a folder, and measure elapsed time by mapping a download function.
Explore threading and executors to run functions concurrently, experiment with max workers, download and copy files, and observe race conditions with shared memory and simple class examples.
Explore threading basics by simulating two threads incrementing a shared student counter, revealing a race condition without a lock, and applying with lock to synchronize access.
Demonstrate threading and multiprocessing by calculating a factorial with processes, comparing multiprocessing and concurrent.futures, and explaining the __name__ guard for correct execution on Windows and macOS.
Learn that each process has its memory in Python's multiprocessing, and that variables are not shared. See how a multiprocessing array shares data between processes while computing squares in parallel.
Explains how to implement threading and multiprocessing for squaring list elements, using a multiprocessing manager and context managers to share a list between processes and print results.
Learn asyncio basics, including event loops, coroutines, and tasks, and use await with high-level APIs to manage cooperative multitasking for IO-bound Python tasks.
Master asyncio basics in Python by building an asynchronous script, using await, and running tasks with high and low level event loops, learning timed execution with a timeout.
Master asyncio by building and running async main, handling exceptions with try and catch, and running multiple routines concurrently with asyncio gather in a single thread.
Create and run multiple asyncio tasks to execute routines concurrently using await, time out, and canceled tasks, then attach callbacks to observe results in the event loop.
Learn how asyncio handles parallel tasks with wait for and gather to cancel multiple coroutines on timeout. Practice timeout handling, cancellation, and strategies such as first completed and all completed.
Create an asynchronous python script to download photos from the internet using an async http client, write binary data to files, and ensure the connection closes in the final block.
Explore asynchronous io for downloading photos with asyncio, compare sequential versus concurrent downloads, handle Windows event loop policy errors, and achieve about half the time using asyncio gather.
Explore asyncio-driven file downloads and saves, creating concurrent tasks, awaiting responses, and timing improvements. Demonstrates refactoring to return responses and measure time for concurrent downloads and saves.
Learn to build graphical user interfaces in Python using PySimpleGUI, including window layouts, events, timeouts, and simple menus, with hands-on examples of one-time and persistent dialogs.
Learn to build simple PySimpleGUI interfaces by creating windows and layouts, using titles, margins, and controls, plus get input and ok/cancel dialogs.
Explore PySimpleGUI file and folder dialogs, including get file, save as, get folder, and a vertical progress bar with a cancel button and a stop flag.
Learn to build a PySimpleGUI interface with a window layout of inputs with keys and two buttons, read values from the dictionary, and update text in an event loop.
Build a PySimpleGUI app with multiple file browser inputs, assign keys to inputs, handle events to populate a dictionary of values, and create a window to browse and select files.
Explore PySimpleGUI file browser integration by assigning keys, linking inputs with the target argument, and handling defaults, file type filters, and error messages.
Build a PySimpleGUI-based interface with folder browser elements, buttons, and event/value handling to retrieve folder and file paths, and customize with themes and color options.
demonstrates how to customize PySimpleGUI interfaces with color themes and element sizes, build complex layouts with dynamic spacing, and generate multiple input boxes efficiently using layouts, windows, and event handling.
Learn to build a simple to-do list GUI with PySimpleGUI, creating layouts, checkboxes, and a functional window to handle events in minutes.
Build a two-column interface with sliders and inputs, organized using a column-based layout. Capture values via events into a dictionary, including a vertical slider ranging 1 to 100.
Learn to build PySimpleGUI menus, including file and edit menus, separators, and nested submenus, then create a window layout and handle events and values.
Build web apps with python using flask, define routes with decorators, and render templates with jinja. Style with bootstrap, manage dynamic content via render_template, redirects, template inheritance, and forms.
Build and preview a basic HTML document within a Flask context, using a boilerplate, head and body sections, headings, line breaks, and anchor links to external sites.
Learn to inspect web pages with Chrome dev tools, identify and manipulate elements like anchors, lists, and images, and adjust image sources and sizes using HTML attributes.
Configure HTML forms with text and password inputs, labels, and a submit button, using form attributes such as method and action, and style with Bootstrap’s 12-column grid.
Build responsive layouts with bootstrap’s 12-column grid, containers, and screen-size classes, then style columns using inline CSS, margins, and padding to enhance front-end design alongside Flask.
Explore Bootstrap integration in a Flask app, building a responsive navigation bar, editing starter templates, and adding components like jumbotron and forms.
Explore core web form elements—input fields, placeholders, selects (including multiple), textareas—and buttons or anchors styled with primary and danger classes, all using GeoEye tools to design the interface.
Create a basic Flask app with a home page at / and a parameterized page, run in development with auto-reload to reflect code changes instantly.
Explore Flask basics from scratch, implement redirects, set up templates, and render dynamic emails by passing variables from Python to Jinja2 templates using render_template.
Learn Flask basics by building templates with Jinja2, looping over data, passing a title, and integrating a Bootstrap starter template to create a functional navbar and pages.
Create product and customer pages, navigate between them, and refactor using a shared layout with blocks and extends to update all pages from one template.
Explore Flask basics part-5 by building and customizing a web page using templates, drag-and-drop builders, and logo and menu customization, including a contact form and filters.
Use publish to save in folders and integrate with the template and static assets, copy index and assets, and refresh to display the site correctly.
Extend a shared layout, build a product page with navigation, and render dynamic content using a for loop to populate a names and emails table in Flask.
Build a Flask web app from scratch, connect to Atlas via MongoEngine, and store subscriber data (name, email, phone) using render template, redirect, and request.
Create a Flask web app using Mongo engine for subscriber model with name, email, and address fields. Build a form with validators, set up pagination, and test by adding data.
Build a Flask web app (part-3) that seeds 1000 subscriber records, defines subscriber data handling, and creates home, list, and subscriber templates with pagination and forms.
In part-4 of a Flask example web app, customize the index with bootstrap dropdown, implement list all and create new subscribers, and refactor into a shared layout.
Build and customize a Flask web app by updating the layout, blocks, and navigation, then render a subscribers table with name, phone, email, and address and add pagination.
Sort the list by name and display 50 items per page with a page parameter in a Flask app. Implement previous and next pagination and generalize for multiple lists.
Explore a Flask web app example that demonstrates pagination controls, including left and right edges, the current page, and updating the active class via query parameters.
This Flask example web app part-8 shows creating a pagination component, managing previous/next navigation, enabling/disabling controls based on page data, and applying it to the subscribers list.
Learn to add new subscribers in a Flask app by building a form, rendering templates, and securing with CSRF tokens and a secret key.
Build a Bootstrap-styled form within a Flask app by organizing each field into a form group with labels and inputs, applying grid classes, placeholders, and primary or danger buttons.
Develop a Flask web app that collects subscriber data through a post form, validates inputs, saves to the database, and redirects to the list view after creation.
Implement delete flow in the Flask app by routing /delete/<id>, selecting subscriber by id, deleting it, and redirecting to list; link subscriber ids to /edit/<id> with prefilled data.
Explore a Flask app workflow to retrieve a subscriber, prefill a form for edits, handle get and post requests, and implement delete via an anchor link with redirect after updates.
Learn to build a Flask web app that uses flash messages with categories, displays them via Bootstrap alerts, and handles subscriber create, edit, and delete feedback with get_flashed_messages.
Design a PySimpleGUI interface to back up a source folder to a destination, with options to create a folder, select extensions, compress the archive, and build a script executable.
Create a python gui backup interface from a command-line script, featuring source and destination inputs, browse buttons, and options for recursive, compress, and extension, plus backup and cancel actions.
Builds a graphical backup interface with a left layout, a source input, a destination target, a multiline file list, and backup and exit controls, using the default Windows theme.
Mastering python - from scratch: gui backup project part-3 guides building a gui with columns, checkboxes, a multiline field, an extension input box, and window close behavior.
Create a gui backup project by building a while true event loop, handling window exit, enabling events for source and destination folders, and populating the multiline with file names.
Grab the extension and convert the chosen path, use a generator to list files, convert to a list, and update the multiline widget with the results.
Explore a gui backup project that optimizes a multiline text widget. Compute max lengths from library files, set width, and prompt before overwriting the destination directory.
Set breakpoints and execute to verify the destination directory is empty, and respond to cancel or proceed actions. Implement folder selection and content clearing for the GUI backup project.
Implement a GUI backup workflow by validating source and destination folders, handling empty directories, prompting for deletion, and reacting to user actions like cancel or OK to clear or proceed.
In this gui backup project, learn to back up a source to a destination, compress extensions, traverse nested folders, apply exclusions, and display operation status.
Add an if condition to alert the user when the source or destination folders are empty in this graphical user interface backup project part-10, and create a Windows executable.
Install a packaging tool to convert a Python script into an executable, then build either a multi-file folder or a single-file executable using command-line options for Windows, macOS, and Linux.
Build a Flask bookstore web app with a landing page featuring sections for books, publishers, and subscribers. List and view details, then edit, update, or delete records via a database.
Build a Flask web app connected to a database, using a data service as the interaction layer, and create subscriber, publisher, and borrowing models with WTForms forms.
Build a Flask bookstore app by defining subscriber and book models with fields: first name, last name, email, ssn, and a borrowing history foreign key; add validators and library pages.
Build and customize a Flask bookstore web app—part 3—by editing photos, swapping icons, tweaking Font Awesome, saving changes, and creating a four-column card layout with a book listing.
For the flask bookstore web app project - part-4, learn to seed the library database with faker, create subscribers and publishers, and append a borrow object to the borrowing history.
Build and refine a Flask bookstore web app (part 5) by rendering the home and landing pages, integrating Bootstrap, and updating layout components and navigation links.
Explore building a Flask bookstore web app feature that lists publishers with pagination, fetches data via a data service, orders by name, and renders templates while debugging model definitions.
Explore pagination adjustments in the Flask bookstore web app project, updating template classes, enabling and disabling prev/next, centering controls, and implementing dynamic page numbering across pages.
Repurpose publisher logic to build a subscriber list in Flask bookstore app, include Asian Nation file with pagination, and define subscriber attributes: first name, last name, email address, and SSN.
Apply pagination in a Flask bookstore web app project, fetch four books per column, iterate through each book, and fix template variable names to ensure the list displays correctly.
Explore building a Flask bookstore app by adding publisher management: create, list, edit, and validate publisher data with get and post requests, templates, and redirects.
Guide the construction of publisher and subscriber creation forms in a flask bookstore app, handle get and post requests, save via a data service, and refine layout and validation.
debug and refine a Flask bookstore app by validating form input, handling subscriber data, and displaying flash messages with success and danger alerts.
Develop and save new subscribers in a Flask bookstore app, using themes, form validation, flash messages, and conditional redirects; extend the flow to publishers and book creation.
Create a new book in the Flask bookstore web app project by filling title, author, and publishers fields, then test borrowing data flow.
This part implements a get all publishers function, populates a publisher select field with id and name, and guides creating a book with a comma-separated authors list and validation.
Disable the select field validation to permit submission, fetch publishers via the data service, and use the publisher id to retrieve the publisher and author when creating a book.
Reuse the publisher form to support CRUD operations for publishers, loading data from the service, pre-filling fields on edit, and showing a delete option only when editing.
Manage publishers in a Flask bookstore app by handling status-driven create, update, and delete actions, with dynamic button visibility and data service integration.
Learn subscriber editing and list management in the Flask bookstore web app: update subscriber forms (name, email, address, SSN) and implement get by email, update, and delete workflows.
Mastering a Flask bookstore web app, part 20, guides editing book data, configuring forms and buttons, updating book status, and displaying books and details in the interface.
Build a Flask bookstore web app by populating the publisher select field, processing authors, and saving book data while displaying subscribers and borrowing history in a table.
Learn to build and maintain a Flask bookstore web app, handle post requests, manage authors and publishers, and implement update and delete operations with form validation.
Build a Flask bookstore feature by creating a subscriber form with start and end dates, default dates, and a get_all_subscribers function to list subscribers ordered by email.
Build and manage subscribers and books in a Flask bookstore app, implementing CRUD operations and dynamic data displays, then deploy the complete web application.
Deploy the Flask bookstore web app to a free local provider using git and the Heroku CLI, install Flask and email validators, and set up a dedicated environment.
Prepare the Flask bookstore app for production by editing environment variables and paths, switch from flask serve to gunicorn, and add a .gitignore to exclude caches and the password variable.
Create a runtime file with Python 3.8.3 and a proc file to run the app, generate requirements.txt, initialize git, and push to Heroku while checking logs for errors.
Deploy a Flask bookstore web app to Heroku, manage git add, commit, and push, and connect to Atlas with IP whitelist, exploring Heroku add-ons for testing vs production.
Thank you for joining me from scratch and applying ideas to the project we built together; keep creating projects to sharpen your skills and apply them to a personal project.
Python is the fastest-growing programming language in the industry, and among the most popular programming languages in the world.
It's not a hard language for beginners to pick up and for intermediate or advanced programmers to advance, which is why the need to learn this language has increased exponentially over the past few years.
Mastering python - From Scratch is designed as a journey that will take you from installing the programs to learning the fundamentals of python and gradually applying the most advanced techniques to develop some of the most advanced real-life applications.
Whether you are a beginner with no knowledge in python or programming, or if you're an experienced programmer in a different programming language, or even if you're an experienced python programmer,
this course will give you the basics and move forward to the more challenging applications in Python to help you broaden your horizons in Python, or if you'd want to expand your career opportunities.
My name is Yasser Abbass. I'm a software engineer and I will be your instructor for this course
I have been in programming for the past 30 years and specifically in python for the past decade.
Mohammad: "Yasser is by far one of the best instructors I had opportunity to learn from. I highly recommend this course for any beginner. Every Topic is in depth. Many Projects and Practices. Thank you so much Yasser!!!"
The course is divided into four sections, each including several lectures. with each lecture, you will find some exercises and each section has one or more projects that will make sure that you applied what you have learned. we will be building 10 projects with varying levels of difficulty.
Some of the projects we will be building together are:
- Text to Speech.
- Guessing Number project.
- Converter project.
- Web Monitoring.
- System Health.
- Backup Script project.
- A student course management system.
- A bookstore management system.
- A File backup program that will be converted to a desktop application.
- A full bookstore web app.
But don't worry you will be able to create those projects and more as you follow along with the course and with the skills you learned you will be able to apply it to your projects. You will also be able to download all the source code for all the lectures and the projects.
During this course, you will learn:
- How to install the software on Windows, Mac, and Linux.
- An introduction to Jupiter-lab.
- Data types, Conditional logic, looping, and collections.
- Functions, modules, and built-in functions.
- How to handle files.
- How to interact with the file-system.
- Date-time, web communication, exception handling, and JSON.
- How to send emails through python.
- Object-oriented programming.
- How to use MongoDB from python.
- How to create databases with full CRUD operations
- Advanced python built-in functions.
- Iterators generators and decorators.
- Logging.
- Concurrency, threading multiprocessing, and Asyncio.
- How to create a GUI for python with PySimpleGUI.
- How to create a desktop application with PyInstaller.
- How to create professional web apps with flask.
Vikash: "Trust me, this is everything you will be needing."
Finally, if you are stuck you can drop a question in the Q&A, and I or one of my teaching assistants will answer you promptly