Home - CameronAuler/python-devops GitHub Wiki

A Python repository specifically for teaching SECURE Python software development.

Table of Contents

Topic Sub-topics
Environment Configuration Windows, Mac, Linux, Virtual Environments
Data Types & Variables Numbers, Strings, Boolean and NoneType, Type Conversion and Casting
Operators Arithmetic Operators, Comparison Operators, Logical Operators, Assignment Operators, Bitwise Operators
Control Flow Conditional Statements, Loops, Loop Control Statements
Data Structures Lists, Tuples, Dictionaries, Sets
Functions Defining and Calling Functions, Function Arguments, Return Values, Lambda Functions, Scope and Lifetime of Variables
Modules & Packages Importing Modules, Standard Library Overview, Creating & Using Packages
File Handling Reading from & Writing to Files, Working with File Modes, Handling File Exceptions
Exception Handling Understanding Exceptions, Try-Except-Else-Finally Blocks, Raising Exceptions, Creating Custom Exceptions
Object Oriented Programming (OOP) Classes & Objects, Instance & Class Variables, Methods (Instance, Class, Static), Inheritance, Polymorphism, Encapsulation, Magic Methods & Operator Overloading
Advanced Data Structures Collections Module, Heapq and Bisect Modules
Decorators Function Decorators, Class Decorators, Understanding functools.wraps
Generators and Iterators Creating and Using Generators, Generator Expressions, Building Custom Iterators
Context Managers Using the with Statement, Creating Custom Context Managers with contextlib
Metaprogramming Understanding Metaclasses, Dynamic Class Creation, Using the type() Function
Concurrency and Parallelism Threading Module, Multiprocessing Module, Asyncio for Asynchronous Programming
Networking Socket Programming, HTTP Requests with the requests Module, Building Simple Web Servers
Database Interaction SQLite with the sqlite3 Module, Interfacing with MySQL and PostgreSQL, Using Object-Relational Mappers (ORMs) like SQLAlchemy
Testing Unit Testing with the unittest Module, Test Discovery and Organization, Mocking and Patching
Web Development Introduction to Web Frameworks (Django and Flask), Building RESTful APIs, Template Rendering
Data Science and Machine Learning NumPy for Numerical Computing, Pandas for Data Manipulation, Matplotlib and Seaborn for Data Visualization, Scikit-learn for Machine Learning Algorithms
File and Data Serialization Working with CSV, JSON, and XML Files, Using the pickle Module for Object Serialization
Regular Expressions Pattern Matching with the re Module
DevOps Infrastructure as Code (IaC), CI/CD, Configuration Management, Monitoring & Logging, Containerization and Orchestration, Security Automation
AI/ML Deep Learning Frameworks, Natural Language Processing (NLP), Computer Vision, Reinforcement Learning, Model Deployment, Data Engineering, Explainability & Bias in AI, Optimization & Hyperparameter Tuning

Topics that need to be added to an existing section

  • Environment Configuration
    • installing pip
    • Python quirks and troubleshooting
    • Naming conventions (classes: capital case, variables: lowercase with _)
  • Concurrency and Parallelism
    • Threads (technical explanation/description)
    • I/O vs CPU
    • runtime (definition, technical explanation)
    • runtime speed (async/await)
  • Data types & variables
    • range()
    • Advanced string types and manipulation
    • enums/enumerate
  • Modules & Packages
    • importing classes
    • __init__.py
    • publishing packages
  • Advanced Data Structures
    • data classes
    • attrs
  • DevOps
    • Exporting Python apps to .exe and .deb files
  • File Handling
    • directory traversal
  • Metaprogramming
    • How the Python compiler works
    • monkey patching
  • Data Science and ML
    • algorithms
    • data standardization

pip freeze > requirements.txt

Resources