Chapter 12
Where to Go Next
What You Can Build Now
The finished lending tool can begin with source files and an empty path, build the exact database it expects, import catalog rows without duplicating an exact retry, and keep lending activity after the program exits. Together, those pieces make a complete small application.
The evidence is spread across files you can name:
catalog_setup.pycreates version 2, moves an exact version 1 forward, and refuses a version whose tables and columns disagree.catalog_import.pyvalidates every CSV row before writing, then makes the whole import one outcome.catalog_db.pykeeps connections, queries, and commands behind focused. lending.pygives those functions awith stable output and honest error statuses. tests/test_catalog.pyandtests/test_lending.pyexercise fresh temporary databases and one complete workflow.
The SQL underneath those files is also yours now. You can design a small relational schema with keys and constraints, join related rows, summarize groups, bind values safely, and make several changes commit or roll back together. You can test what the database does without requiring one exact spelling of the query.
There is one boundary worth keeping clear. Run on Python Land used a temporary directory. That made the demonstration repeatable and kept generated database files out of your saved source. It did not turn the site workspace into permanent database storage.
Local persistence begins when the downloaded program receives a path on your computer, such as "catalog data.db". One command can create that file, exit, and a later command can reopen the same file. The download instructions show that workflow. Because it happens on your computer, the site cannot inspect the resulting database file.
You now have a source project that knows how to create its own state. That distinction matters: the Python, SQL, CSV, tests, and README are authored source; a particular .db file is generated state. Keeping those roles separate makes the project easier to understand, test, rebuild, and share.