- Installing Python
- Installing Dependencies
- Installing the Google Data Library
- Running Tests and Samples
- Writing a "Hello World" Example
- Appendix: Modifying the PYTHONPATH
So you've decided to use the Google Data Python client library to write an application using one of the many Google Data services. Excellent choice! My aim with this short tutorial is to quickly get you started in using the client library to develop your application.
You probably want to jump in and start creating your application right away. First though, you may need to configure your development environment and set up the tools you'll need to run the modules included in the client library. Follow the steps below and you'll be running code in no time.
If you're going to be developing with the Python client library, you'll need
a working version of Python 2.2 or higher. Many operating systems come with a version
of Python included, so you may be able to skip the installation step.
To see which version of Python you have, run
python -V in a
command line terminal. (Note: the
V is uppercase.)
This should result in something like:
If you see version 2.2 or higher, then you can start installing dependencies. Otherwise, look below to find installation/upgrade instructions for your operating system.
Installing Python on Windows
There are quite a few implementations of Python to choose from in Windows, but for purposes of this guide, I'll be using the .msi installer found on python.org.
- Begin by downloading the installer from the Python download page.
- Run the installer - you can accept all the default settings
- To see if your install is working as expected, open a command prompt and run
Installing Python on Mac OS X
The list of downloads on python.org has .dmg installers for the Mac users out there. Here are the steps to install one of them:
- Navigate to http://www.python.org/download/mac/
- From this page, download the installer for the appropriate version of Mac OS X. Note: The Python installation page for Mac OS X 10.3.8 and below is different than newer versions of Mac OS X. To find your OS X version, choose About This Mac from the Apple menu in the top-left corner of your screen.
- After the download finishes, double-click the new disk image file (ex. python-2.5-macosx.dmg) to mount it. If you're running Safari, this has already been done for you.
- Open the mounted image and double-click the installer package inside.
- Follow the installation instructions and read the information and license agreements as they're presented to you. Again, the default settings will work fine here.
- Verify the installation by opening Terminal.app (in /Applications/Utilities) and running
python -V. The installation's version should appear.
Installing Python on Linux
To install on Linux and other *nix style operating systems,
I prefer to download the source code and compile it.
However, you may be able to use your favorite package manager to install Python.
(For example, on Ubuntu this can be as easy as
sudo apt-get install python on the command line.) To install from source, follow these steps:
- Download the source tarball from the Python download page.
- Once you've downloaded the package, unpack it using the command line. You can use the following
tar zxvf Python-2.<Your version>.tgz
- Next, you'll need to compile and install the source code for the Python interpreter. In the decompressed directory, run
./configureto generate a makefile.
- Then, run
make. This will create a working Python executable file in the local directory. If you don't have root permission or you just want to use Python from your home directory, you can stop here. You'll be able to run Python from this directory, so you might want to add it to your PATH environment variable.
- I prefer to have Python installed in
/usr/bin/where most Python scripts look for the interpreter. If you have root access, then run
make installas root. This will install Python in the default location and it will be usable by everyone on your machine.
- Check to see if your install is working as expected by opening a terminal and running
Currently, the only external dependency is an XML library named ElementTree. If you are using Python version 2.5 or higher, you won't need to install ElementTree since it comes with the Python package.
To see if ElementTree is already present on your system, do the following:
- Run the Python interpreter. I usually do this by executing
pythonon the command line.
- Try importing the ElementTree module. If you are using Python 2.5 or higher, enter the following in the interpreter:
from xml.etree import ElementTreeFor older versions, enter:
from elementtree import ElementTree
- If the import fails, then you will need to continue reading this section. If it works, then you can skip to Installing the Google Data library.
- Download a version which is appropriate for your operating system. For example, if you are using Windows, download elementtree-1.2.6-20050316.win32.exe. For other operating systems, I recommend downloading a compressed version.
- If you are using a
.zipversion of the library, first unpack, then install it by running
./setup.py install attempts to compile the library and place it in the system directory for your Python modules. If you do not have
root access, you can install the modules in your home directory or an alternate location by running
./setup.py install --home=~. This will
place the code in your home directory.
There is another option which avoids installing altogether. Once you decompress the download, you will find a directory named
directory contains the modules which you will need to import. When you call import from within Python, it looks for a module with the desired name in several places. The
first place it looks is in the current directory, so if you are always running your code from one directory, you could just put the
there. Python will also look at the directories listed in your
PYTHONPATH environment variable. For instructions on editing your
see the Appendix at the end of this article.
I recommend using
./setup.py install for
Installing the Google Data Library
Download the Google Data Python library if you haven't done so. Look for the latest version on the Python project's downloads page.
After downloading the library, unpack it using
tar zxvf depending on the type of download you chose.
Now you are ready to install the library modules so that they can be imported into Python. There are several ways you can do this:
- If you have the ability to install packages for all users to access, you can run
./setup.py installfrom the unpacked archive's main directory.
- If you want to install these modules for use in your home directory, you can run
./setup.py install --home=<your home directory>.
In some cases, you want to avoid installing the modules altogether. To do that, modify your
PYTHONPATHenvironment variable to include a directory which contains the
atomdirectories for the Google Data Python client library. For instructions on modifying your
PYTHONPATH, see the Appendix at the end of this article.
- One final option that I'll mention, is copying the
atomdirectories from the
srcdirectory into whatever directory you are in when you execute
python. Python will look in the current directory when you do an import, but I don't recommend this method unless you are creating something quick and simple.
Once you've installed the Google Data library, you're ready to take the library for a test drive.
Running Tests and Samples
The Google Data Python client library distributions include some test cases which are used in the development of the library. They can also serve as a quick check to make sure that your dependencies and library installation are working. From the top level directory where you've unpacked your copy of the library, try running:
If this script runs correctly, you should see output on the command line like this:
Running all tests in module gdata_test ....... ---------------------------------------------------------------------- Ran 7 tests in 0.025s OK Running all tests in module atom_test .......................................... ---------------------------------------------------------------------- Ran 42 tests in 0.016s OK ...
If you did not see any errors as the tests execute, then you have probably set up your environment correctly. Congratulations!
Now you can start running something more interesting. The distribution contains a
samples directory which contains code which can provide
a starting point for writing your application. If you'd like to try out a simple interactive sample, try running
The Google Documents List API sample will prompt you for the email address and password for your Google account. If you have any documents or spreadsheets in
Google Documents, you can list them by entering
1 for your selected operation. (If you don't have any
documents or spreadsheets, you'll get a 404 error.)
Writing a "Hello World" Example
Let's start with a simple example. Here's a short program to print a list of all of the documents in your Google Documents account:
import gdata.docs.service # Create a client class which will make HTTP requests with Google Docs server. client = gdata.docs.service.DocsService() # Authenticate using your Google Docs email address and password. client.ClientLogin('firstname.lastname@example.org', 'password') # Query the server for an Atom feed containing a list of your documents. documents_feed = client.GetDocumentListFeed() # Loop through the feed and extract each document entry. for document_entry in documents_feed.entry: # Display the title of the document on the command line. print document_entry.title.text
Either save the above code snippet as a file and run it, or paste the code into the Python interpreter to see the Google Data Python client library at work.
Now that you've installed and tested the Google Data Python client library, you're ready to start writing the next great application using:
- Google Analytics
- Google Calendar
- Google Documents List
- Google Apps Provisioning
- Issue Tracker
- Google Sites
- Google Maps
- Picasa Web Albums
- Google Spreadsheets
- Google Search Console API
As you continue to develop your application, you may hit a snag. If so, please check out the list of resources below:
- Home page for the Python client library
- Python client library downloads
- Wiki pages for help using the Python client library
- Python client library issue tracker for bugs and upcoming features
- List of Google Data APIs
If you happen to think of a great new feature for the library (or by chance find a bug), please enter it in the discussion group. We're always interested in your feedback!
Happy coding :-)
Appendix: Modifying the PYTHONPATH
When you import a package or module in Python, the interpreter looks for the file in a series of locations
including all of the directories listed in the
PYTHONPATH environment variable. I often modify my
point to modules where I have copied the source code for a library I am using. This prevents the need to install a module
each time it is modified because Python will load the module directly from directory which contains the modified source code.
I recommend the
PYTHONPATH approach if you are making changes to the client library code, or if you do not have
admin rights on your system. By editing the
PYTHONPATH, you can put the required modules anywhere you like.
I modified my
PYTHONPATH on a *nix and Mac OS X system by setting it in my
.bashrc shell configuration file.
If you are using the bash shell,
you can set the variable by adding the following line to your
You can then apply these changes to your current shell session by executing
For Windows XP, pull up the Environment Variables for your profile: Control Panel > System Properties > Advanced > Environment Variables. From there, you can either create or edit the
PYTHONPATH variable and add the location of your local library copy.