Loading Academy Hub...
Design enterprise-grade repository structures (src layout, pyproject.toml), mock external cloud services (boto3/moto, responses), and maintain reliable CI unit testing.
[!NOTE] Writing production Python for data engineering demands moving beyond unstructured notebook scripts to reproducible
src/layout packages managed by modern dependency resolvers (uv,poetry, orpip-tools) with parameterized unit tests.
``` my-data-pipeline/ ├── pyproject.toml ├── src/ │ └── data_pipeline/ │ ├── init.py │ ├── extractors/ │ ├── transformers/ │ └── loaders/ └── tests/ ├── conftest.py ├── unit/ └── integration/ ```
uv / pyproject.toml & Testing Strategypyproject.toml + lockfiles (uv.lock or poetry.lock) instead of unpinned pip install pandas, preventing surprise breaking minor releases inside Docker CI images.pytest + fixtures): Test pure transformation logic, edge NULLs, empty inputs, and SCD boundaries in <1s without touching cloud S3/Snowflake!SparkSession.master("local[2]") in CI before merging to main.Review the production code, company interview Q&As, incident traces, and comprehension quiz inside this lesson.
import pytest
import boto3
from moto import mock_aws
@pytest.fixture
def mock_s3_bucket():
with mock_aws():
s3 = boto3.client("s3", region_name="us-east-1")
bucket_name = "test-lakehouse-bronze"
s3.create_bucket(Bucket=bucket_name)
yield bucket_name, s3
def test_s3_upload(mock_s3_bucket):
bucket_name, s3_client = mock_s3_bucket
payload = b'{"id": 101, "status": "processed"}'
s3_client.put_object(Bucket=bucket_name, Key="events/file1.json", Body=payload)
response = s3_client.get_object(Bucket=bucket_name, Key="events/file1.json")
assert response["Body"].read() == payloadImportError: attempted relative import with no known parent package