diff --git a/samples/latitude/latitude.py b/samples/latitude/latitude.py
new file mode 100644
index 0000000..492300c
--- /dev/null
+++ b/samples/latitude/latitude.py
@@ -0,0 +1,45 @@
+#!/usr/bin/python2.4
+# -*- coding: utf-8 -*-
+#
+# Copyright 2010 Google Inc. All Rights Reserved.
+
+"""Simple command-line example for Latitude.
+
+Command-line application that sets the users
+current location.
+"""
+
+__author__ = 'jcgregorio@google.com (Joe Gregorio)'
+
+
+from apiclient.discovery import build
+
+import httplib2
+import pickle
+
+# Uncomment to get detailed logging
+# httplib2.debuglevel = 4
+
+def main():
+  f = open("latitude.dat", "r")
+  credentials = pickle.loads(f.read())
+  f.close()
+
+  http = httplib2.Http()
+  http = credentials.authorize(http)
+
+  p = build("latitude", "v1", http=http)
+
+  body = {
+      "data": {
+          "kind":"latitude#location",
+          "latitude":37.420352,
+          "longitude":-122.083389,
+          "accuracy":130,
+          "altitude":35
+          }
+      }
+  print p.currentLocation().insert(body=body).execute()
+
+if __name__ == '__main__':
+  main()
diff --git a/samples/latitude/three_legged_dance.py b/samples/latitude/three_legged_dance.py
new file mode 100644
index 0000000..d8d89ba
--- /dev/null
+++ b/samples/latitude/three_legged_dance.py
@@ -0,0 +1,62 @@
+# Copyright (C) 2010 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Do the OAuth 1.0a three legged dance.
+
+Do the OAuth 1.0a three legged dance for
+a Buzz command line application. Store the generated
+credentials in a common file that is used by
+other example apps in the same directory.
+"""
+
+__author__ = 'jcgregorio@google.com (Joe Gregorio)'
+
+from apiclient.discovery import build
+from apiclient.oauth import FlowThreeLegged
+
+import pickle
+
+moderator_discovery = build("latitude", "v1").auth_discovery()
+
+flow = FlowThreeLegged(moderator_discovery,
+                       # You MUST have a consumer key and secret tied to a
+                       # registered domain to use the latitude API.
+                       #
+                       # https://www.google.com/accounts/ManageDomains
+                       consumer_key='REGISTERED DOMAIN NAME',
+                       consumer_secret='KEY GIVEN DURING REGISTRATION',
+                       user_agent='google-api-client-python-latitude-cmdline/1.0',
+                       domain='REGISTERED DOMAIN NAME',
+                       scope='https://www.googleapis.com/auth/latitude',
+                       xoauth_displayname='Google API Latitude Client Example App',
+                       location='current',
+                       granularity='city'
+                       )
+
+authorize_url = flow.step1_get_authorize_url()
+
+print 'Go to the following link in your browser:'
+print authorize_url
+print
+
+accepted = 'n'
+while accepted.lower() == 'n':
+    accepted = raw_input('Have you authorized me? (y/n) ')
+verification = raw_input('What is the verification code? ').strip()
+
+credentials = flow.step2_exchange(verification)
+
+f = open('latitude.dat', 'w')
+f.write(pickle.dumps(credentials))
+f.close()
