After years of iPhone development one of my biggest annoyances was getting sales and re-download numbers, having them in a central easy to access place that I could give others access to. Sure there are some iPhone apps that will download the reports and several desktop software packages but you have to remember to run them on a regular basis and give anyone with access the credentials for your master iTunesConnect account. I was learning the Python programming language in one of my classes at CU and was given the task of a final project that automated a complicated or annoying process so I decided it would be the perfect excuse to create a solution and pyTunesConnect was born.
pyTunesConnect is a Python script that will is designed to be run as a cron that will automatically download your daily sales reports so you don’t have to remember to daily with the AppDailySales project pyTunesConnect is bundled with. After downloading the sales report it will insert the data into a mySQL database for easy access. pyTunesConnect also providers a very thin web based view layer to visualize your sales and re-downloads. It uses the Google Chart API to generate interactive java charts that allow you to mouse over data points and see exact sales numbers for a day. pyTunesConnect also shows an intensity map of the world that give you a quick overview of where in the world people are downloading your applications. Raw revenue data is also presented by country in an interactive java table that allows you to sort it by clicking on the column headers. If you don’t want to use my front end I also built a web service into pyTunesConnect so you can easily embed the charts in your existing web pages.
There are still a lot of cooler things it could do but I only had so much time this semester so I decided to make it my first open source project and see how it goes. If you would like to contribute and help make it better please let me know.
If you would like to use pyTunesConnect you can find the latest version on the Google Code page I created for it.