#!/usr/bin/env python

import json

import requests

API = 'http://localhost:8000/api/1.0'
AUTH_PARAMS = {
    'email': 'panda@pandaproject.net',
    'api_key': 'edfe6c5ffd1be4d3bf22f69188ac6bc0fc04c84b'
}

# Create dataset
dataset = {
    'name': 'Test Dataset from API',
    'schema': [{
        'column': 'A',
        'type': 'unicode'
    }, {
        'column': 'B',
        'type': 'unicode'
    }, {
        'column': 'C',
        'type': 'unicode'
    }]
}

response = requests.post(API + '/dataset/', json.dumps(dataset), params=AUTH_PARAMS, headers={ 'Content-Type': 'application/json' })

dataset = json.loads(response.content)

# Write data
data = { 'objects': [{
    'data': ['The', 'PANDA', 'lives.']
}, {
    'data': ['More', 'data', 'here.']   
}]}

response = requests.put(API + '/dataset/%s/data/' % dataset['slug'], json.dumps(data), params=AUTH_PARAMS, headers={ 'Content-Type': 'application/json' })

print response.content

@@ -203,26 +203,213 @@
 '%0A%7D%0A
-%0A# Create dataset%0A
+DATASET_SLUG = 'test-dataset'%0A%0A# Check if dataset exists%0Aresponse = requests.get(API + '/dataset/%25s/' %25 DATASET_SLUG, params=AUTH_PARAMS)%0A%0A# Create dataset if necessary%0Aif response.status_code == 404:%0A    
 data
@@ -412,24 +412,28 @@
 dataset = %7B%0A
+    
     'name': 
@@ -457,16 +457,20 @@
 m API',%0A
+    
     'sch
@@ -478,32 +478,36 @@
 ma': %5B%7B%0A        
+  
+  
 'column': 'A',%0A 
@@ -505,16 +505,20 @@
 ': 'A',%0A
+    
         
@@ -527,32 +527,36 @@
 ype': 'unicode'%0A
+    
     %7D, %7B%0A       
@@ -548,32 +548,36 @@
    %7D, %7B%0A        
+ 
+   
 'column': 'B',%0A 
@@ -575,16 +575,20 @@
 ': 'B',%0A
+    
         
@@ -601,24 +601,28 @@
 : 'unicode'%0A
+    
     %7D, %7B%0A   
@@ -618,32 +618,36 @@
    %7D, %7B%0A        
+    
 'column': 'C',%0A 
@@ -645,16 +645,20 @@
 ': 'C',%0A
+    
         
@@ -683,14 +683,26 @@
     
+   
+ 
 %7D%5D%0A
-%7D%0A%0A
+    %7D%0A%0A    
 resp
@@ -718,18 +718,17 @@
 quests.p
-os
+u
 t(API + 
@@ -737,17 +737,35 @@
 dataset/
-'
+%25s/' %25 DATASET_SLUG
 , json.d
@@ -852,48 +852,8 @@
 %7D)%0A%0A
-dataset = json.loads(response.content)%0A%0A
 # Wr
@@ -1030,23 +1030,20 @@
 ' %25 
-dataset%5B'slug'%5D
+DATASET_SLUG
 , js
@@ -1131,27 +1131,4 @@
 %7D)%0A%0A
-print response.content%0A

Update example scraper to use known slug.