Skip to content

Instantly share code, notes, and snippets.

@jossef
Last active March 28, 2024 09:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jossef/17485bae97b334bca514cb3277597a7a to your computer and use it in GitHub Desktop.
Save jossef/17485bae97b334bca514cb3277597a7a to your computer and use it in GitHub Desktop.
script to get pypi package events (last 100k)
import datetime
import xmlrpc.client
import csv
client = xmlrpc.client.ServerProxy('https://pypi.org/pypi')
serial = client.changelog_last_serial()
serial = serial - 50000
events = client.changelog_since_serial(serial)
with open('events.csv', 'w+', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerow(['package_name', 'package_version', 'date', 'event'])
for package_name, package_version, timestamp, event, _ in events[::-1]:
date = datetime.datetime.fromtimestamp(timestamp)
date = date.strftime('%Y-%m-%d')
csvwriter.writerow([package_name, package_version, date, event])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment