8.02.2010

FusionSQL: Python and Google's Fusion Tables

This weekend I release a very alpha version of a library I'm working on for connecting with Fusion Tables. I think applications of Fusion Tables will become more interesting as the feature set is improved and they are integrated more with existing Google services. The client and associated libraries are very simple and it can be installed from pypi (assuming its actually up!). Here's a sample session:

> SHOW TABLES
table id | name 
----------------
225017   | tests
224386   | neighborhoods_pdx_join.csv
224383   | neighborhoods_pdx.kml
224239   | PDX Crime Incident Data 2009
> DESCRIBE 224386 
column id | name | type
-----------------------
col0      | OBJECTID | number
col1      | PERIMETER | number
col2      | ASSN_ | number
col3      | ASSN_ID | number
col4      | NAME | location
col5      | COMMPLAN | string
col6      | SHARED | string
col7      | COALIT | string
col8      | CHECK_ | string
col9      | HORZ_VERT | string
> SELECT OBJECTID, PERIMETER, NAME FROM 224386 LIMIT 10
OBJECTID | PERIMETER              | NAME               
-------------------------------------------------------
1        | 74951.898437500000000  | ST. JOHNS          
2        | 63622.199218750000000  | HAYDEN ISLAND      
3        | 121064.000000000000000 | LINNTON            
4        | 132532.000000000000000 | FOREST PARK/LINNTON
5        | 44036.101562500000000  | KENTON             
6        | 188868.000000000000000 | FOREST PARK        
7        | 16725.900390620001417  | BRIDGETON          
8        | 35067.199218750000000  | EAST COLUMBIA      
9        | 2857.860107420000077   | MC UNCLAIMED #2    
10       | 26257.099609370001417  | CATHEDRAL PARK   

As you can see it works much like a sql command line client; there is even tab completion for the keywords and table numbers (I'm working on a mapping between saner names and the numbers). In addition, you can using the FusionSQL class to connection and query FusionTables via the query function.

w00t!