Week 2 - Structuring Pipelines

Introduction to Data Pipelines

Configuration & Secrets (.env)

Separation of Concerns

OOP vs Functional Programming

Dataclasses for Data Objects

Functional Composition

Testing with Pytest

Linting and Formatting with Ruff

Practice

Gotchas & Pitfalls

Week 2 Assignment: Clean Pipeline

Week 2 Glossary

Going Further

Career relevance: Week 2

Week 2 Kickoff Slides

📚 Going Further

This page is optional. Nothing here is required for Week 2's learning goals or the assignment. Use it after you finish the week if you want to keep learning, or come back later when a specific topic from Week 2 starts mattering more in your day-to-day work.

Sections are grouped by topic: architecture and design (SOLID and clean-code longer reads), functional Python (composition, toolz, and friends), testing in depth (the longer route into pytest and TDD), what comes next (forward-references to weeks that build on this one), setup and tooling beyond the basics (the next layer of dev tools), books, videos, and community.

<aside> 💡 Links that already appear inside a Week 2 chapter's Extra reading section are not duplicated here. This page is the home for resources that are too broad to fit any single chapter, or that go meaningfully deeper than the chapter's tightly-scoped reading.

</aside>


Architecture and design


Functional Python


Testing in depth


What comes next

The patterns from this week show up almost immediately in later weeks. These are the named landings, with one-line previews so you can recognise them when you arrive.


Setup and tooling beyond the basics

Once you are comfortable with the Week 2 stack (python-dotenv, @dataclass, pytest, ruff), these are the next-tier tools that show up in NL postings and production codebases.


Books


Videos


Community


The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0 *https://hackyourfuture.net/*

CC BY-NC-SA 4.0 Icons

Built with ❤️ by the HackYourFuture community · Thank you, contributors

Found a mistake or have a suggestion? Let us know in the feedback form.