[CentralOH] Fun Python Project (for PyOhio)

Eric Floehr eric at intellovations.com
Tue Oct 25 15:46:55 EDT 2016

Joe mentioned at the meeting his idea for a Python challenge that would
incorporate lots of different moving parts, done incrementally.

I have a Python project/challenge project that would help out PyOhio and be
a fun Fall/Winter project for you (yes, you!).

The goal is to get data on PyOhio talk video views. This is important
information that will help show potential sponsors of PyOhio the reach they
will have by sponsoring at the highest levels and getting their logo on our


1. Total view count
2. Total view count by year
3. List of videos sorted by view count and year
4. Collect view counts each day in a database and see how view counts
change over time
5. Graph view counts over time

Here is a suggested sequence of tasks:

1. Familiarize yourself with the PyOhio channel, which has playlists by


2. Familiarize yourself with the YouTube API:


3. Write a Python program to get the list of YouTube videos and their IDs
in a playlist

4. Write a Python program to get view count from a single video ID

5. Write a Python program to combine #3 and #4

6. Take the Python program in #5 and apply it over the yearly PyOhio
playlists mentioned in #1

7. Modify the Python program in #6 to sort videos in each playlist by view

8. Create a database ...

9. Store the data in #7 in the database

As you build these layers, and especially once you have a database of data,
the next logical step would be to run it every day, and create a Django or
Flask or Growler web server to display the data, hosted on the free tier of
some app server like Heroku or Google App Engine.

You could then even create a web API that would return the data in JSON,
etc. and not just HTML.

The possibilities are endless, and helpful!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/centraloh/attachments/20161025/730e1019/attachment.html>

More information about the CentralOH mailing list