# Data Engineering with Python - course dependencies # Python 3.10+ # Pinned upper bounds keep the labs reproducible; raise them deliberately. # --- Module 1 (Local Pipeline) --- requests>=2.31,<3 # HTTP client for gharchive.org downloads pandas>=2.1,<3 # DataFrame ergonomics in L01-L02 pyarrow>=14.0,<17 # Parquet + Arrow in L02 great-expectations>=0.18,<1 # Data quality suite in L03 # --- Module 2 (Orchestration) - exercised from L04 onward --- apache-airflow>=2.9,<3 # Pinned to 2.x; 3.x will be addressed in a later refresh # --- Module 3 (SQL Foundations) --- dbt-core>=1.7,<2 # dbt project in L08 dbt-duckdb>=1.7,<2 # DuckDB adapter for dbt (lets the dbt lab run offline) # --- Module 4 (Modern Lakehouse) --- duckdb>=1.0,<2 # Local analytical engine in L09-L11 pyiceberg[sql-sqlite,pyarrow,duckdb]>=0.7,<1 # L10: SqlCatalog + write_from_parquet + DuckDB-on-Iceberg reads # Cloud warehouse adapters (optional; L11 Track B works without these) snowflake-connector-python>=3.10 ; python_version >= "3.10" google-cloud-bigquery>=3.20 ; python_version >= "3.10" # --- Module 5 (Production) --- openlineage-python>=1.10,<2 # Lineage / observability in L12