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:
Python 2.4.3
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.
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.
python -V
.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:
python -V
.
The installation's version should appear.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
running sudo apt-get install python
on the command line.) To install from source, follow these steps:
tar zxvf Python-2.<Your version>.tgz
./configure
to generate a makefile.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./usr/bin/
where most Python scripts look for the interpreter.
If you have root access, then run make install
as root. This will install Python in the default location and
it will be usable by everyone on your machine.python -V
.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:
python
on the command line.from xml.etree import ElementTreeFor older versions, enter:
from elementtree import ElementTree
.tar.gz
or .zip
version of
the library, first unpack, then install it by running ./setup.py install
.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 elementtree
. This
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 elementtree
directory
there. Python will also look at the directories listed in your
PYTHONPATH
environment variable. For instructions on editing your
PYTHONPATH
,
see the Appendix at the end of this article.
I recommend using ./setup.py install
for elementtree
.
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 unzip
or 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:
./setup.py install
from the
unpacked archive's main directory../setup.py install --home=
<your home directory>.In some cases, you want to avoid installing the modules altogether. To do that, modify your PYTHONPATH
environment variable to include
a directory which contains the gdata
and atom
directories for the Google Data Python client library. For instructions on modifying your PYTHONPATH
,
see the Appendix at the end of this article.
gdata
and atom
directories from the src
directory 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.
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:
./tests/run_data_tests.py
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 ./samples/docs/docs_example.py
.
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.)
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('jo@gmail.com', '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:
As you continue to develop your application, you may hit a snag. If so, please check out the list of resources below:
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 :-)
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 PYTHONPATH
to
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 ~/.bashrc
file.
export PYTHONPATH=$PYTHONPATH:/home/<my_username>/svn/gdata-python-client/src
You can then apply these changes to your current shell session by executing source ~/.bashrc
.
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.