My name is Dr. William Mattingly. While writing my dissertation, which examined Carolingian exegesis and the networks of those who wrote Scriptural commentaries in the eighth and ninth centuries, I began exploring the applications of Python for work in the Digital Humanities.
At the time (c. 2015), there were not many resources available as this was still a novel methodology for handling data in DH projects. Since then, others have begun using Python with greater frequency because it offers users a powerful way to quickly analyze data on large scales with little or no prior programming knowledge. In my field, this has been by notable Brandon Hawk, whose recent publication in Digital Humanities Quarterly, explores the application of Python for the purposes of creating neural networks to read medieval manuscripts. Similar work can be seen coming out of the Vatican and their DigiVatLib. Despite its growing popularity as a DH tool, there is not a comprehensive video/ebook guide to using Python for the Digital Humanities. This website addresses that by providing an introductory course with videos, text, sample code, and exercises to test your skills.
After you complete the introductory course, you should have a basic understanding of data, how Python handles data, how to manipulate that data, some key necessary functions, key Pythonic concepts and terminology, and confidence to experiment with Python for your own DH project.
Most of the Introduction to Python for DH videos are currently on this site. By 15 June 2020, the entire course with exercises and quizzes will be available. By 15 July 2020, the entire course Python for Social Networks will be available. These videos will explore the modules NetworkX and Matplotlib and introduce you to more advanced methods in Python. After this, I will produce a series of tutorials on JSON and XML files and how to work with them in Python for the purposes of DH.
If you are new to Python, I recommend beginning with the Introduction to Python for DH course. It will introduce you to the key concepts, terms, types of Python data and data structures, key functions for working with data, key modules for working with data stored in external files such as Excel, text files, xml files, json files, etc. It will also teach you how to extract data from websites and how to structure basic graphic user interfaces (GUIs) for your DH project.
Once you have a grasp of the basics, you will be able to apply Python to your own DH project. From there, it is a matter of practice. You will learn by doing. I highly encourage those new to programming to just do, do, and do. That was how I learned and that is how nearly all programmers learn. When I first started working with Python, I had a basic background in programming, but I was primarily starting anew. I wanted to create a basic program to analyze social networks. It took me nearly one month of hands-on learning by making mistakes and trying to troubleshoot the problem. It’s okay to fail at programming. Every single programmer will tell you the same thing. They do not know everything and spend most of their time trying to solve errors in their code by looking for the answers online.
PythonHumanities.com is designed for people who were in my shoes in c. 2015. You have a concept in your mind, but no idea how take the idea from concept to reality. The courses, resources, and tools on PythonHumanities.com will help you make your idea a reality.
If there’s a specific project you are working on and you think Python might prove a useful tool, let me know and I will make a tutorial geared towards your needs.