+1 for gitlab. You can programmatically generate a csv file that can be used to generate issue(s) which support markdown format. Then your checklists could be issues and marked as completed when done.
You could also for instance set up a weekly pipeline schedule to generate issue(s) from the csv if some of the issues are needed on an interval.
If gitlab isn’t an option then id still look into generating the .md files this way and finding a home for the .md files that works for your user(s)
Second the Automate The Boring Stuff recommendation, especially if you’re looking for a physical gift (or free online as mentioned)
Id also just in general recommend CS50-python as a free course for python. Engaging lectures, problem sets you can check your solutions, and you finish with a project of your own choosing. No programming background is needed. Don’t buy a verified certificate, the whole course is free along with a free certificate