Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
June 1, 2023 13:42
June 1, 2023 13:32
September 2, 2021 15:09
August 31, 2021 13:27

Introduction to Cultural Analytics & Python

Designed by Melanie Walsh // Powered by Jupyter Book

This repository hosts the code for the online textbook, Introduction to Cultural Analytics & Python, which offers an introduction to the programming language Python that is specifically designed for people interested in the humanities and social sciences.

The book demonstrates how Python can be used to study cultural materials such as song lyrics, short stories, newspaper articles, tweets, Reddit posts, and film screenplays. It also introduces computational methods such as web scraping, APIs, topic modeling, Named Entity Recognition (NER), network analysis, and mapping.

These materials were originally created to support "Introduction to Cultural Analytics: Data, Computation & Culture," an undergraduate course taught at Cornell University and the University of Washington.

Jupyter Book Overview and Repository Structure

The Python package jupyter-book processes the Jupyter notebook files from this repository and outputs them as the publication-quality HTML files that generate the corresponding website.

The HTML files are currently hidden in this branch of the GitHub repository, but you can find them in the gh-pages branch.

Below I will briefly explain the structure of this repository and some important Jupyter Book features.

  • /book contains all the materials that generate the Jupyter Book
  • /binder contains materials that set up the virtual Binder environment for running Jupyter notebooks in the cloud

Configuration file

The configuration file /book/_config.yml is where I establish key features of the book, such as the title, logo, and whether users can open the Jupyter notebook files in the cloud.

Table of Contents file

The table of contents file /book/_toc.yml establishes the table of contents structure on the left-hand side of the web page.


Data can be can be found in /book/data


Texts can be can be found in /book/texts

Custom CSS

Custom CSS styling can be found in /book/_static/custom.css (it's a bit messy at the moment, sorry)

Learn More About Jupyter Book

You can learn more about Jupyter Book by exploring the documentation:


This course was inspired by a range of excellent course materials, including those by Lauren Klein, David Mimno, and Allison Parrish. The section "Working with Languages Beyond English" was co-authored with Quinn Dombrowski.


This book is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License.

Support This Project

I'm proud to make this book freely available, but if you find it useful, and if you'd like to support its continued development and maintenance, you can buy me a coffee ☕.