Numerical programming is one of the the fastest growing areas of application for Python. The recent explosion of domain-specific tools for scientific computing in Python can be intimidating, but the vast majority of these libraries are built on a small core of foundational libraries. Understanding these libraries -- how they work, how they're used, and what problems they aim to solve -- is an invaluable tool for effectively navigating the PyData ecosystem.