CS257 Software Design Friday, 11 April 2025 + How's it going? - CLI assignment, argparse, etc. - Anything else? + Third-party libraries mini-rant - Learning basics first - Reliability of libraries & their authors long slow slides into badness - Unnecessary complexity - Supply-chain attacks - Value of staying close to the middle of your standard tools + Heads up - Team survey - Now that you're coding, go back and read my "Using other people's code" document - Monday assignment + Videos - HTTP - HTTP-based APIs and Flask + But briefly... - What's JSON? - What's HTTP? (hypertext transfer protocol) - What's an API? (application programming interface) We're focusing on HTTP-based APIs in this class - Where are we headed? - API design based on the questions you want to ask of your dataset - Database design to support those questions - Database population - API implementation <--- we're starting with tools for this today + Flask lab - What's a virtual environment? - Advantages and pitfalls of venv - Let's walk through the venv installation - Let's look at flask_sample.py together - Now do the rest of the lab