diff --git a/README.md b/README.md index ab4f4fd..7dbb68a 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,94 @@ -# Learn Modern Python for Custome GPT and AI Agent Development +# 🐍 Learn Modern Python for Custom GPT and AI Agent Development -This course is part of the [GenAI, Web 3, and Metaverse Program](https://docs.google.com/presentation/d/1XVSZhmv4XH14YpyDxJIvYWiUrF1EO9tsUnle17wCLIc/edit?usp=sharing) +This course is part of the [🌐 GenAI, Web 3, and Metaverse Program](https://docs.google.com/presentation/d/1XVSZhmv4XH14YpyDxJIvYWiUrF1EO9tsUnle17wCLIc/edit?usp=sharing) -After completing this course, move on to the [Learn Generative AI Repo](https://github.com/panaverse/learn-generative-ai) +After completing this course, students are encouraged to move on to the [πŸ€– Learn Generative AI Repo](https://github.com/panaverse/learn-generative-ai) to continue their journey in AI development. +--- -## Class Recordings +## πŸŽ₯ Class Recordings -[Recorded Classes YouTube Playlist](https://www.youtube.com/playlist?list=PL0vKVrkG4hWrEujmnC7v2mSiaXMV_Tfu0) +All classes are recorded for your convenience. Each class notebook contains a reference to the corresponding video link. -Note: +[πŸ“Ί Recorded Classes YouTube Playlist](https://www.youtube.com/playlist?list=PL0vKVrkG4hWrEujmnC7v2mSiaXMV_Tfu0) -Each Class Notebook contains a reference to the Class Recording Video Link +--- +## πŸ“– What is Modern Python? -## What is Modern Python? +Modern Python emphasizes clean, efficient, and maintainable code by adopting the latest features and best practices introduced in recent Python versions. This includes **type hints**, enhanced data structures, improved modules, and idiomatic Python programming patterns. -[Modern Python: New Features, Better Code](https://www.easypost.com/blog/2022-09-14-modern-python-new-features-better-code) +**Recommended Readings:** +* [Modern Python: New Features, Better Code](https://www.easypost.com/blog/2022-09-14-modern-python-new-features-better-code) +* [Modern Good Practices for Python Development](https://www.stuartellis.name/articles/python-modern-practices/) +* [Python's Type System Explained: Static vs Dynamic Typing](https://www.youtube.com/watch?v=kSXZHRsWXfU) -[Modern Good Practices for Python Development](https://www.stuartellis.name/articles/python-modern-practices/) +--- -[Python's type system explained: Static vs dynamic typing](https://www.youtube.com/watch?v=kSXZHRsWXfU) +### 🧩 Type Hints: Essential for Professional Developers -### Type Hints should be used by Professional Developers +Type hints represent the most significant change in Python since Python 2.2 unified types and classes in 2001. While they are optional, type hints provide a **powerful tool for static code analysis**, enabling IDEs and CI pipelines to detect bugs before runtime. -Type hints are the biggest change in the history of Python since the unification of types and classes in Python 2.2, released in 2001. However, type hints do not benefit all Python users equally. That’s why they should always be optional. +In this course, **type hints will be used extensively** to prepare you for professional Python development and large-scale projects, ensuring higher code quality and maintainability. -The goal of Type Hints is to help developer tools find bugs in Python codebases via static analysis, i.e., without actually running the code through tests. The main beneficiaries are professional software engineers using IDEs (Integrated Development Environments) and CI (Continuous Integration). The cost-benefit analysis that makes type hints attractive to this group does not apply to all users of Python. However, we are professional developers, therefore it is beneficial for us to adopt type hints. This Modern Python course uses Type Hints extensively. +--- +## βš™οΈ Installation Guide -# Installation +Set up your development environment for modern Python development: -[Install Python Poetry](https://python-poetry.org/docs/) +1. [Install Python Poetry](https://python-poetry.org/docs/) – for dependency management and project packaging +2. [Install VS Code](https://code.visualstudio.com/) – lightweight and versatile IDE +3. [Install Python Plugin](https://marketplace.visualstudio.com/items?itemName=ms-python.python) – essential VS Code extension for Python +4. [Typed Python Reference Document](https://python.plainenglish.io/typed-python-for-typescript-developers-791145e7171c) – understand type hints from a TypeScript perspective -[Install VS Code](https://code.visualstudio.com/) +--- -[Install Python Plugin](https://marketplace.visualstudio.com/items?itemName=ms-python.python) +## πŸ“š Textbooks -[Read this Document for Reference](https://python.plainenglish.io/typed-python-for-typescript-developers-791145e7171c) +1. [Python Crash Course, 3rd Edition](https://www.amazon.com/Python-Crash-Course-Eric-Matthes/dp/1718502702/ref=sr_1_1) – beginner-friendly Python concepts and practical projects +2. [Python for Data Analysis, 3rd Edition (Chapter 5: Data Wrangling with pandas & NumPy)](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X/ref=sr_1_1) – deep dive into data manipulation +### Reference Book +[Fluent Python, 2nd Edition](https://www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1492056359/ref=tmm_pap_swatch_0) – advanced Python techniques and modern programming patterns -## Text Books +**Important Note:** +Chapters 8 and 15 cover Python's latest typing features. As of Python 3.9, **type aliases like List, Tuple, Dict are deprecated**. Use the built-in types `list`, `tuple`, `dict` instead. -1. [Python Crash Course 3rd Edition](https://www.amazon.com/Python-Crash-Course-Eric-Matthes/dp/1718502702/ref=sr_1_1) -2. [Chapter 5 of Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter 3rd Edition](https://www.amazon.com/Python-Data-Analysis-Wrangling-Jupyter/dp/109810403X/ref=sr_1_1) +[πŸ”— Using List/Tuple/etc. from typing vs directly referring to list/tuple](https://stackoverflow.com/questions/39458193/using-list-tuple-etc-from-typing-vs-directly-referring-type-as-list-tuple-etc) -## Reference Book +--- -[Fluent Python: Clear, Concise, and Effective Programming 2nd Edition](https://www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1492056359/ref=tmm_pap_swatch_0) +## πŸ›  Projects -Important Note: +* [Comprehensive Data Analysis with Pandas](https://www.kaggle.com/code/prashant111/comprehensive-data-analysis-with-pandas) – practice real-world data manipulation and analysis +* [Make a Gradebook With Python & Pandas](https://realpython.com/pandas-project-gradebook/) – hands-on project to apply data analysis skills -Chapters 8 and 15 have detailed discussions on the latest typing functionality, however, the book doesn't mention that as of Python 3.9, type aliases like List, Tuple, Dict, ... are [deprecated](https://docs.python.org/3/library/typing.html#deprecated-aliases). +--- -So, we should use the built-in types list, tuple, dict, ... +## 🎨 Design Patterns in Python -[Using List/Tuple/etc. from typing vs directly referring type as list/tuple/etc](https://stackoverflow.com/questions/39458193/using-list-tuple-etc-from-typing-vs-directly-referring-type-as-list-tuple-etc) +Learn common Python design patterns and best practices to write modular, maintainable, and reusable code: +[πŸ“Ί Design Patterns YouTube Playlist](https://www.youtube.com/playlist?list=PLj5pwj8JzJ10U_jG1BwfgPO8pf1LywfDt) -## Projects +--- -[Comprehensive Data Analysis with Pandas](https://www.kaggle.com/code/prashant111/comprehensive-data-analysis-with-pandas) +## πŸ“ Fundamentals of Modern Python and Data Analysis Quiz -[Pandas Project: Make a Gradebook With Python & Pandas](https://realpython.com/pandas-project-gradebook/) +Test your knowledge from the course: -## Design Patterns in Python - -https://www.youtube.com/playlist?list=PLj5pwj8JzJ10U_jG1BwfgPO8pf1LywfDt - -## Fundamentals of Modern Python and Data Analysis Quiz - -Learning Material: All the Material Covered in this Course i.e. this repo - -Total Questions: 40 - -Duration: 60 minutes +* **Learning Material:** All material covered in this repo +* **Total Questions:** 40 +* **Duration:** 60 minutes +This quiz will reinforce your understanding of **type hints, modern Python practices, data analysis techniques, and real-world applications**. +--- +## πŸš€ Take the Next Step +By completing this course, you will have a solid foundation in **Modern Python, type-safe coding, and data manipulation**. You’ll be ready to develop **custom GPTs, AI agents, and scalable Python applications**. +Embrace the future of AI development and continue your journey into the [Learn Generative AI Repo](https://github.com/panaverse/learn-generative-ai) to create impactful, real-world AI solutions. πŸ€–πŸŒ