Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Cicero and Pompey

This is a final project done for CL406, New Approaches to Cicero, at Boston University during the Spring 2019 semester. The web page can be viewed here. The raw data can be viewed in data/raw_data.csv, and data/ is the python script where all the magic happens. If you have any questions, don't hesitate to reach out! My email is

The goal of this project was to chart out, over time, how Cicero felt towards Pompey by looking at Cicero’s correspondence. Thus, letters to or by Cicero that include mentions or references to Pompey constitute the entirety of primary sources studied here. I worked closely with Beryl Rawson’s The Politics of Friendship, which catalogues such letters, as a guide to choosing relevant source material. I used the online translations for Cicero’s letters by Evelyn Shuckburgh which are available for free through Perseus. For each letter, I recorded: the written or suggested date the letter was sent; the letter’s category and number; who the letter was written to; who the letter was written by; how Pompey was mentioned; whether or not the mention was positive (1), negative (-1) or neutral (0); and a short summary of the letter with any relevant notes. Due to the nature of historical documents, not all letters were sufficiently dated for use here. Letters with no month were removed from the list, and letters with no day were assigned the first of the month. In total, this study includes 155 letters.

The sentiment for each letter was determined based on how Cicero was acting or what he was saying about Pompey. This was admittedly a subjective process, with a lot of room for interpretation. In some letters, Cicero is clearly praising Pompey: calling him friend, or describing him as a great man. In others, Cicero is obviously angry with or upset at Pompey. In many of the letters, however, Cicero will compliment Pompey but then go on to write about him critically, seemingly in anger. This made it hard to determine what category to place such letters in: is the letter more positive than negative? Is it neutral? For difficult evidence like this, I did my best to weigh which aspects of Pompey Cicero was criticizing. If Cicero appeared to be giving out shallow compliments, but was at odds with Pompey’s political moves, I classified it as negative. Less political letters were usually neutral. The difficulty in comparing letters like this drove me to choose a tertiary scale, rather than a more complex ranking system: there is already a high level of subjectivity without introducing further complications.

Actually processing the data occurs in two steps: extracting and cleaning it, then producing graphs. For replication and ease of use, a script written in the Python programming language automates this process. The script parses the datasheet (a .csv file) and generates the web-pages for each timeline graph. After reading in the file, it breaks up each line, extracting each dimension of data and converting it into the correct format. Each datapoint is then sorted by year so that individual yearly timelines can be produced; putting all eight years of letters in one graph results in a timeline too cluttered to be useful. Then, for each group of data, a web-page that generates a timeline graph is programmatically written with the relevant data inserted. The timelines are created using JavaScript with the Google Charts API.

Each timeline displays a bar for each letter included. Each letter is placed in either a positive row, a neutral row, or a negative row (each row also uses a different color). On the web-page, hovering over a bar will tell you which letter it represents, who wrote it, and to whom it was addressed. When a bar is clicked, it opens the letter in a new tab.

You can’t perform that action at this time.