big_ml 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. data/.gitignore +19 -0
  2. data/.rspec +2 -0
  3. data/.rvmrc +1 -0
  4. data/.rvmrc.example +1 -0
  5. data/.travis.yml +4 -0
  6. data/CHANGELOG.md +8 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE +22 -0
  9. data/README.md +49 -0
  10. data/Rakefile +6 -0
  11. data/TODO.md +6 -0
  12. data/big_ml.gemspec +23 -0
  13. data/lib/big_ml/authenticable.rb +10 -0
  14. data/lib/big_ml/base.rb +51 -0
  15. data/lib/big_ml/client.rb +29 -0
  16. data/lib/big_ml/config.rb +30 -0
  17. data/lib/big_ml/dataset.rb +19 -0
  18. data/lib/big_ml/model.rb +21 -0
  19. data/lib/big_ml/prediction.rb +19 -0
  20. data/lib/big_ml/request.rb +29 -0
  21. data/lib/big_ml/source.rb +18 -0
  22. data/lib/big_ml/version.rb +3 -0
  23. data/lib/big_ml.rb +13 -0
  24. data/spec/fixtures/iris.csv +151 -0
  25. data/spec/integration/dataset_spec.rb +51 -0
  26. data/spec/integration/model_spec.rb +53 -0
  27. data/spec/integration/prediction_spec.rb +55 -0
  28. data/spec/integration/source_spec.rb +55 -0
  29. data/spec/spec_helper.rb +22 -0
  30. data/spec/units/client_spec.rb +50 -0
  31. data/spec/units/source_spec.rb +20 -0
  32. data/spec/vcr_cassettes/BigML_Dataset/no_dataset/_all/must_be_empty.yml +136 -0
  33. data/spec/vcr_cassettes/BigML_Dataset/one_dataset/must_be_able_to_be_find_using_the_reference.yml +293 -0
  34. data/spec/vcr_cassettes/BigML_Dataset/one_dataset/must_be_able_to_remove_the_dataset.yml +318 -0
  35. data/spec/vcr_cassettes/BigML_Dataset/one_dataset/must_be_able_to_update_the_name.yml +360 -0
  36. data/spec/vcr_cassettes/BigML_Dataset/one_dataset/must_have_only_one_item.yml +265 -0
  37. data/spec/vcr_cassettes/BigML_Dataset/one_dataset/must_have_the_same_file_name.yml +265 -0
  38. data/spec/vcr_cassettes/BigML_Dataset/one_dataset/was_created_successfully.yml +149 -0
  39. data/spec/vcr_cassettes/BigML_Model/no_model/_all/must_be_empty.yml +166 -0
  40. data/spec/vcr_cassettes/BigML_Model/one_model/must_be_able_to_be_find_using_the_reference.yml +446 -0
  41. data/spec/vcr_cassettes/BigML_Model/one_model/must_be_able_to_remove_the_model.yml +426 -0
  42. data/spec/vcr_cassettes/BigML_Model/one_model/must_be_able_to_update_the_name.yml +558 -0
  43. data/spec/vcr_cassettes/BigML_Model/one_model/must_have_only_one_item.yml +258 -0
  44. data/spec/vcr_cassettes/BigML_Model/one_model/must_have_the_same_file_name.yml +375 -0
  45. data/spec/vcr_cassettes/BigML_Model/one_model/must_have_the_same_size.yml +375 -0
  46. data/spec/vcr_cassettes/BigML_Model/one_model/was_created_successfully.yml +298 -0
  47. data/spec/vcr_cassettes/BigML_Prediction/no_prediction/_all/must_be_empty.yml +305 -0
  48. data/spec/vcr_cassettes/BigML_Prediction/one_prediction/must_be_able_to_be_find_using_the_reference.yml +502 -0
  49. data/spec/vcr_cassettes/BigML_Prediction/one_prediction/must_be_able_to_remove_the_prediction.yml +547 -0
  50. data/spec/vcr_cassettes/BigML_Prediction/one_prediction/must_be_able_to_update_the_name.yml +546 -0
  51. data/spec/vcr_cassettes/BigML_Prediction/one_prediction/must_have_only_one_item.yml +503 -0
  52. data/spec/vcr_cassettes/BigML_Prediction/one_prediction/must_have_the_same_name.yml +420 -0
  53. data/spec/vcr_cassettes/BigML_Prediction/one_prediction/was_created_successfully.yml +297 -0
  54. data/spec/vcr_cassettes/BigML_Source/no_source/_all/must_be_empty.yml +136 -0
  55. data/spec/vcr_cassettes/BigML_Source/one_source/must_be_able_to_be_find_using_the_reference.yml +191 -0
  56. data/spec/vcr_cassettes/BigML_Source/one_source/must_be_able_to_remove_the_source.yml +195 -0
  57. data/spec/vcr_cassettes/BigML_Source/one_source/must_be_able_to_update_the_name.yml +279 -0
  58. data/spec/vcr_cassettes/BigML_Source/one_source/must_have_only_one_item.yml +192 -0
  59. data/spec/vcr_cassettes/BigML_Source/one_source/must_have_the_same_file_name.yml +192 -0
  60. data/spec/vcr_cassettes/BigML_Source/one_source/was_created_successfully.yml +105 -0
  61. metadata +224 -0
@@ -0,0 +1,55 @@
1
+ require "spec_helper"
2
+
3
+ describe BigML::Prediction, :vcr do
4
+
5
+ before(:each) do
6
+ BigML::Source.delete_all
7
+ BigML::Dataset.delete_all
8
+ BigML::Model.delete_all
9
+ BigML::Prediction.delete_all
10
+ end
11
+
12
+ describe "no prediction" do
13
+ describe ".all" do
14
+ it "must be empty" do
15
+ BigML::Prediction.all.should == []
16
+ end
17
+ end
18
+ end
19
+
20
+ describe "one prediction" do
21
+ before do
22
+ @source = BigML::Source.create("spec/fixtures/iris.csv")
23
+ @dataset = BigML::Dataset.create(@source.resource)
24
+ @model = BigML::Model.create(@dataset.resource)
25
+ @prediction = BigML::Prediction.create(@model.resource, { :input_data => { "000001" => 3 }})
26
+ end
27
+
28
+ it "was created successfully" do
29
+ @prediction.code.should == 201
30
+ end
31
+
32
+ it "must have only one item" do
33
+ BigML::Prediction.all.should have(1).predictions
34
+ end
35
+
36
+ it "must have the same name" do
37
+ BigML::Prediction.all.first.name.should == "Prediction for species"
38
+ end
39
+
40
+ it "must be able to be find using the reference" do
41
+ BigML::Prediction.find(@prediction.id) == @prediction
42
+ end
43
+
44
+ it "must be able to update the name" do
45
+ BigML::Prediction.update(@prediction.id, { :name => 'foo name' }).code.should == 202
46
+ BigML::Prediction.find(@prediction.id).name.should == 'foo name'
47
+ end
48
+
49
+ it "must be able to remove the prediction" do
50
+ BigML::Prediction.delete(@prediction.id)
51
+ BigML::Prediction.find(@prediction.id).should be_nil
52
+ BigML::Prediction.all.should have(0).predictions
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,55 @@
1
+ require "spec_helper"
2
+
3
+ describe BigML::Source, :vcr do
4
+
5
+ before(:each) do
6
+ BigML::Source.all.each do |s|
7
+ BigML::Source.delete(s.id)
8
+ end
9
+ BigML::Dataset.all.each do |s|
10
+ BigML::Dataset.delete(s.id)
11
+ end
12
+ end
13
+
14
+ describe "no source" do
15
+ describe ".all" do
16
+ it "must be empty" do
17
+ BigML::Source.all.should == []
18
+ end
19
+ end
20
+ end
21
+
22
+ describe "one source" do
23
+ before do
24
+ @source = BigML::Source.create("spec/fixtures/iris.csv")
25
+ end
26
+
27
+ it "was created successfully" do
28
+ @source.code.should == 201
29
+ end
30
+
31
+ it "must have only one item" do
32
+ BigML::Source.all.should have(1).sources
33
+ end
34
+
35
+ it "must have the same file_name" do
36
+ BigML::Source.all.first.file_name.should == "iris.csv"
37
+ end
38
+
39
+ it "must be able to be find using the reference" do
40
+ BigML::Source.find(@source.id) == @source
41
+ end
42
+
43
+ it "must be able to update the name" do
44
+ BigML::Source.find(@source.id).name.should == 'iris.csv'
45
+ BigML::Source.update(@source.id, { :name => 'new name' }).code.should == 202
46
+ BigML::Source.find(@source.id).name.should == 'new name'
47
+ end
48
+
49
+ it "must be able to remove the source" do
50
+ BigML::Source.delete(@source.id)
51
+ BigML::Source.find(@source.id).should be_nil
52
+ BigML::Source.all.should have(0).sources
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,22 @@
1
+ require 'big_ml'
2
+ require 'rspec'
3
+ require 'vcr'
4
+
5
+ BigML.configure do |c|
6
+ c.username = 'foo'
7
+ c.api_key = 'bar'
8
+ end
9
+
10
+ VCR.configure do |c|
11
+ c.cassette_library_dir = 'spec/vcr_cassettes'
12
+ c.configure_rspec_metadata!
13
+ c.hook_into :fakeweb
14
+ c.filter_sensitive_data('<USERNAME>') { BigML.username }
15
+ c.filter_sensitive_data('<API_KEY>') { BigML.api_key }
16
+ end
17
+
18
+
19
+ RSpec.configure do |c|
20
+ c.mock_with :rspec
21
+ c.treat_symbols_as_metadata_keys_with_true_values = true
22
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ describe BigML::Client do
4
+ let(:keys) {
5
+ BigML::Config::VALID_OPTIONS_KEYS
6
+ }
7
+
8
+ context "module configuration" do
9
+ before(:each) {
10
+ BigML.configure do |config|
11
+ keys.each { |key| config.send("#{key}=", key) }
12
+ end
13
+ }
14
+
15
+ it "should inherit module configuration" do
16
+ api = BigML::Client.new
17
+ keys.each { |key| api.send(key).should == key }
18
+ end
19
+ end
20
+
21
+ context "class configuration" do
22
+ let(:credentials) {
23
+ {
24
+ :username => 'user',
25
+ :api_key => 'secret'
26
+ }
27
+ }
28
+
29
+ context "during initialization" do
30
+ it "should override module configuration" do
31
+ api = BigML::Client.new(credentials)
32
+ keys.each { |key| api.send(key).should == credentials[key] }
33
+ end
34
+ end
35
+
36
+ context "after initilization" do
37
+ before(:each) {
38
+ BigML.configure do |config|
39
+ keys.each { |key| config.send("#{key}=", key) }
40
+ end
41
+ }
42
+
43
+ it "should override module configuration" do
44
+ api = BigML::Client.new
45
+ credentials.each { |key, value| api.send("#{key}=", value) }
46
+ keys.each { |key| api.send(key).should == credentials[key] }
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,20 @@
1
+ require "spec_helper"
2
+
3
+ describe BigML::Source do
4
+ describe "#code" do
5
+ it "return code when set" do
6
+ source = BigML::Source.new('code' => 201)
7
+ source.code.should == 201
8
+ end
9
+
10
+ it "return nil when not set" do
11
+ source = BigML::Source.new('code' => nil)
12
+ source.code.should be_nil
13
+ end
14
+
15
+ it "extract source id from resource" do
16
+ source = BigML::Source.new('resource' => 'souce/4f66a0b903ce8940c5000000')
17
+ source.id.should == "4f66a0b903ce8940c5000000"
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,136 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://bigml.io/andromeda/source?username=<USERNAME>&api_key=<API_KEY>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ connection:
11
+ - close
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ content-type:
18
+ - application/json; charset=utf-8
19
+ date:
20
+ - Wed, 20 Jun 2012 03:52:18 GMT
21
+ server:
22
+ - nginx/1.0.12
23
+ content-length:
24
+ - '1280'
25
+ connection:
26
+ - Close
27
+ body:
28
+ encoding: US-ASCII
29
+ string: ! '{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null,
30
+ "total_count": 1}, "objects": [{"category": 0, "code": 200, "content_type":
31
+ "application/octet-stream", "created": "2012-06-20T03:49:33.139000", "credits":
32
+ 0.0, "description": "", "fields": {"000000": {"column_number": 0, "name":
33
+ "sepal length", "optype": "numeric"}, "000001": {"column_number": 1, "name":
34
+ "sepal width", "optype": "numeric"}, "000002": {"column_number": 2, "name":
35
+ "petal length", "optype": "numeric"}, "000003": {"column_number": 3, "name":
36
+ "petal width", "optype": "numeric"}, "000004": {"column_number": 4, "name":
37
+ "species", "optype": "categorical"}}, "file_name": "iris.csv", "md5": "d1175c032e1042bec7f974c91e4a65ae",
38
+ "name": "iris.csv", "number_of_datasets": 0, "number_of_models": 0, "number_of_predictions":
39
+ 0, "private": true, "resource": "source/4fe1484d035d074a1e0000f1", "size":
40
+ 4608, "source_parser": {"header": true, "locale": "en_US", "missing_tokens":
41
+ ["", "N/A", "n/a", "NULL", "null", "-", "#DIV/0", "#REF!", "#NAME?", "NIL",
42
+ "nil", "NA", "na", "#VALUE!", "#NULL!", "NaN", "#N/A", "#NUM!", "?"], "quote":
43
+ "\"", "separator": ","}, "status": {"code": 5, "elapsed": 69, "message": "The
44
+ source has been created"}, "tags": [], "type": 0, "updated": "2012-06-20T03:49:33.160000"}]}'
45
+ http_version: '1.1'
46
+ recorded_at: Wed, 20 Jun 2012 03:56:09 GMT
47
+ - request:
48
+ method: delete
49
+ uri: https://bigml.io/andromeda/source/4fe1484d035d074a1e0000f1?username=<USERNAME>&api_key=<API_KEY>
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ connection:
55
+ - close
56
+ response:
57
+ status:
58
+ code: 204
59
+ message: NO CONTENT
60
+ headers:
61
+ content-length:
62
+ - '0'
63
+ content-type:
64
+ - text/html; charset=utf-8
65
+ date:
66
+ - Wed, 20 Jun 2012 03:54:40 GMT
67
+ server:
68
+ - nginx/1.0.12
69
+ connection:
70
+ - Close
71
+ body:
72
+ encoding: US-ASCII
73
+ string: ''
74
+ http_version: '1.1'
75
+ recorded_at: Wed, 20 Jun 2012 03:56:11 GMT
76
+ - request:
77
+ method: get
78
+ uri: https://bigml.io/andromeda/dataset?username=<USERNAME>&api_key=<API_KEY>
79
+ body:
80
+ encoding: US-ASCII
81
+ string: ''
82
+ headers:
83
+ connection:
84
+ - close
85
+ response:
86
+ status:
87
+ code: 200
88
+ message: OK
89
+ headers:
90
+ content-type:
91
+ - application/json; charset=utf-8
92
+ date:
93
+ - Wed, 20 Jun 2012 03:52:22 GMT
94
+ server:
95
+ - nginx/1.0.12
96
+ content-length:
97
+ - '101'
98
+ connection:
99
+ - Close
100
+ body:
101
+ encoding: US-ASCII
102
+ string: ! '{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null,
103
+ "total_count": 0}, "objects": []}'
104
+ http_version: '1.1'
105
+ recorded_at: Wed, 20 Jun 2012 03:56:12 GMT
106
+ - request:
107
+ method: get
108
+ uri: https://bigml.io/andromeda/dataset?username=<USERNAME>&api_key=<API_KEY>
109
+ body:
110
+ encoding: US-ASCII
111
+ string: ''
112
+ headers:
113
+ connection:
114
+ - close
115
+ response:
116
+ status:
117
+ code: 200
118
+ message: OK
119
+ headers:
120
+ content-type:
121
+ - application/json; charset=utf-8
122
+ date:
123
+ - Wed, 20 Jun 2012 03:54:42 GMT
124
+ server:
125
+ - nginx/1.0.12
126
+ content-length:
127
+ - '101'
128
+ connection:
129
+ - Close
130
+ body:
131
+ encoding: US-ASCII
132
+ string: ! '{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null,
133
+ "total_count": 0}, "objects": []}'
134
+ http_version: '1.1'
135
+ recorded_at: Wed, 20 Jun 2012 03:56:13 GMT
136
+ recorded_with: VCR 2.2.2
@@ -0,0 +1,293 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://bigml.io/andromeda/source?username=<USERNAME>&api_key=<API_KEY>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ connection:
11
+ - close
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ content-type:
18
+ - application/json; charset=utf-8
19
+ date:
20
+ - Wed, 20 Jun 2012 03:52:46 GMT
21
+ server:
22
+ - nginx/1.0.12
23
+ content-length:
24
+ - '1281'
25
+ connection:
26
+ - Close
27
+ body:
28
+ encoding: US-ASCII
29
+ string: ! '{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null,
30
+ "total_count": 1}, "objects": [{"category": 0, "code": 200, "content_type":
31
+ "application/octet-stream", "created": "2012-06-20T03:56:50.608000", "credits":
32
+ 0.0, "description": "", "fields": {"000000": {"column_number": 0, "name":
33
+ "sepal length", "optype": "numeric"}, "000001": {"column_number": 1, "name":
34
+ "sepal width", "optype": "numeric"}, "000002": {"column_number": 2, "name":
35
+ "petal length", "optype": "numeric"}, "000003": {"column_number": 3, "name":
36
+ "petal width", "optype": "numeric"}, "000004": {"column_number": 4, "name":
37
+ "species", "optype": "categorical"}}, "file_name": "iris.csv", "md5": "d1175c032e1042bec7f974c91e4a65ae",
38
+ "name": "iris.csv", "number_of_datasets": 1, "number_of_models": 0, "number_of_predictions":
39
+ 0, "private": true, "resource": "source/4fe14a021552687d42000136", "size":
40
+ 4608, "source_parser": {"header": true, "locale": "en_US", "missing_tokens":
41
+ ["", "N/A", "n/a", "NULL", "null", "-", "#DIV/0", "#REF!", "#NAME?", "NIL",
42
+ "nil", "NA", "na", "#VALUE!", "#NULL!", "NaN", "#N/A", "#NUM!", "?"], "quote":
43
+ "\"", "separator": ","}, "status": {"code": 5, "elapsed": 100, "message":
44
+ "The source has been created"}, "tags": [], "type": 0, "updated": "2012-06-20T03:56:23.639000"}]}'
45
+ http_version: '1.1'
46
+ recorded_at: Wed, 20 Jun 2012 03:56:37 GMT
47
+ - request:
48
+ method: delete
49
+ uri: https://bigml.io/andromeda/source/4fe14a021552687d42000136?username=<USERNAME>&api_key=<API_KEY>
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ connection:
55
+ - close
56
+ response:
57
+ status:
58
+ code: 204
59
+ message: NO CONTENT
60
+ headers:
61
+ content-length:
62
+ - '0'
63
+ content-type:
64
+ - text/html; charset=utf-8
65
+ date:
66
+ - Wed, 20 Jun 2012 03:55:07 GMT
67
+ server:
68
+ - nginx/1.0.12
69
+ connection:
70
+ - Close
71
+ body:
72
+ encoding: US-ASCII
73
+ string: ''
74
+ http_version: '1.1'
75
+ recorded_at: Wed, 20 Jun 2012 03:56:38 GMT
76
+ - request:
77
+ method: get
78
+ uri: https://bigml.io/andromeda/dataset?username=<USERNAME>&api_key=<API_KEY>
79
+ body:
80
+ encoding: US-ASCII
81
+ string: ''
82
+ headers:
83
+ connection:
84
+ - close
85
+ response:
86
+ status:
87
+ code: 200
88
+ message: OK
89
+ headers:
90
+ content-type:
91
+ - application/json; charset=utf-8
92
+ date:
93
+ - Wed, 20 Jun 2012 03:52:49 GMT
94
+ server:
95
+ - nginx/1.0.12
96
+ content-length:
97
+ - '703'
98
+ connection:
99
+ - Close
100
+ body:
101
+ encoding: US-ASCII
102
+ string: ! '{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null,
103
+ "total_count": 1}, "objects": [{"category": 0, "code": 200, "columns": 5,
104
+ "created": "2012-06-20T03:56:23.634000", "credits": 0.0087890625, "description":
105
+ "", "locale": "en_US", "name": "iris'' dataset", "number_of_models": 0, "number_of_predictions":
106
+ 0, "private": true, "resource": "dataset/4fe149e7035d074a21000141", "rows":
107
+ 150, "size": 4608, "source": "source/4fe14a021552687d42000136", "source_status":
108
+ false, "status": {"bytes": 4608, "code": 5, "elapsed": 107, "field_errors":
109
+ [], "message": "The dataset has been created", "row_format_errors": [], "serialized_rows":
110
+ 150}, "tags": [], "updated": "2012-06-20T03:56:24.895000"}]}'
111
+ http_version: '1.1'
112
+ recorded_at: Wed, 20 Jun 2012 03:56:39 GMT
113
+ - request:
114
+ method: delete
115
+ uri: https://bigml.io/andromeda/dataset/4fe149e7035d074a21000141?username=<USERNAME>&api_key=<API_KEY>
116
+ body:
117
+ encoding: US-ASCII
118
+ string: ''
119
+ headers:
120
+ connection:
121
+ - close
122
+ response:
123
+ status:
124
+ code: 204
125
+ message: NO CONTENT
126
+ headers:
127
+ content-length:
128
+ - '0'
129
+ content-type:
130
+ - text/html; charset=utf-8
131
+ date:
132
+ - Wed, 20 Jun 2012 03:55:10 GMT
133
+ server:
134
+ - nginx/1.0.12
135
+ connection:
136
+ - Close
137
+ body:
138
+ encoding: US-ASCII
139
+ string: ''
140
+ http_version: '1.1'
141
+ recorded_at: Wed, 20 Jun 2012 03:56:41 GMT
142
+ - request:
143
+ method: post
144
+ uri: https://bigml.io/andromeda/source
145
+ body:
146
+ encoding: US-ASCII
147
+ string: ''
148
+ headers:
149
+ content-type:
150
+ - multipart/form-data; boundary=-----------RubyMultipartPost
151
+ content-length:
152
+ - '5147'
153
+ connection:
154
+ - close
155
+ response:
156
+ status:
157
+ code: 201
158
+ message: CREATED
159
+ headers:
160
+ content-type:
161
+ - application/json; charset=utf-8
162
+ date:
163
+ - Wed, 20 Jun 2012 03:52:52 GMT
164
+ location:
165
+ - http://bigml.io/andromeda/source/4fe14a0b1552687d4200013a
166
+ server:
167
+ - nginx/1.0.12
168
+ content-length:
169
+ - '567'
170
+ connection:
171
+ - Close
172
+ body:
173
+ encoding: US-ASCII
174
+ string: ! '{"category": 0, "code": 201, "content_type": "application/octet-stream",
175
+ "created": "2012-06-20T03:56:59.857540", "credits": 0.0, "description": "",
176
+ "file_name": "iris.csv", "md5": "d1175c032e1042bec7f974c91e4a65ae", "name":
177
+ "iris.csv", "number_of_datasets": 0, "number_of_models": 0, "number_of_predictions":
178
+ 0, "private": true, "resource": "source/4fe14a0b1552687d4200013a", "size":
179
+ 4608, "source_parser": {}, "status": {"code": 1, "message": "The request has
180
+ been queued and will be processed soon"}, "tags": [], "type": 0, "updated":
181
+ "2012-06-20T03:56:59.857561"}'
182
+ http_version: '1.1'
183
+ recorded_at: Wed, 20 Jun 2012 03:56:43 GMT
184
+ - request:
185
+ method: post
186
+ uri: https://bigml.io/andromeda/dataset?username=<USERNAME>&api_key=<API_KEY>
187
+ body:
188
+ encoding: UTF-8
189
+ string: ! '{"source":"source/4fe14a0b1552687d4200013a"}'
190
+ headers:
191
+ content-type:
192
+ - application/json
193
+ connection:
194
+ - close
195
+ response:
196
+ status:
197
+ code: 201
198
+ message: CREATED
199
+ headers:
200
+ content-type:
201
+ - application/json; charset=utf-8
202
+ date:
203
+ - Wed, 20 Jun 2012 03:55:14 GMT
204
+ location:
205
+ - http://bigml.io/andromeda/dataset/4fe14a0d1552687d480000fa
206
+ server:
207
+ - nginx/1.0.12
208
+ content-length:
209
+ - '920'
210
+ connection:
211
+ - Close
212
+ body:
213
+ encoding: US-ASCII
214
+ string: ! '{"category": 0, "code": 201, "columns": 5, "created": "2012-06-20T03:57:01.914340",
215
+ "credits": 0.0087890625, "description": "", "fields": {"000000": {"column_number":
216
+ 0, "name": "sepal length", "optype": "numeric"}, "000001": {"column_number":
217
+ 1, "name": "sepal width", "optype": "numeric"}, "000002": {"column_number":
218
+ 2, "name": "petal length", "optype": "numeric"}, "000003": {"column_number":
219
+ 3, "name": "petal width", "optype": "numeric"}, "000004": {"column_number":
220
+ 4, "name": "species", "optype": "categorical"}}, "locale": "en_US", "name":
221
+ "iris'' dataset", "number_of_models": 0, "number_of_predictions": 0, "private":
222
+ true, "resource": "dataset/4fe14a0d1552687d480000fa", "rows": 0, "size": 4608,
223
+ "source": "source/4fe14a0b1552687d4200013a", "source_status": true, "status":
224
+ {"code": 1, "message": "The dataset is being processed and will be created
225
+ soon"}, "tags": [], "updated": "2012-06-20T03:57:01.914358"}'
226
+ http_version: '1.1'
227
+ recorded_at: Wed, 20 Jun 2012 03:56:45 GMT
228
+ - request:
229
+ method: get
230
+ uri: https://bigml.io/andromeda/dataset/4fe14a0d1552687d480000fa?username=<USERNAME>&api_key=<API_KEY>
231
+ body:
232
+ encoding: US-ASCII
233
+ string: ''
234
+ headers:
235
+ connection:
236
+ - close
237
+ response:
238
+ status:
239
+ code: 200
240
+ message: OK
241
+ headers:
242
+ content-type:
243
+ - application/json; charset=utf-8
244
+ date:
245
+ - Wed, 20 Jun 2012 03:52:55 GMT
246
+ server:
247
+ - nginx/1.0.12
248
+ transfer-encoding:
249
+ - chunked
250
+ connection:
251
+ - Close
252
+ body:
253
+ encoding: US-ASCII
254
+ string: ! '{"category": 0, "code": 200, "columns": 5, "created": "2012-06-20T03:57:01.914000",
255
+ "credits": 0.0087890625, "description": "", "fields": {"000000": {"column_number":
256
+ 0, "datatype": "double", "name": "sepal length", "optype": "numeric", "preferred":
257
+ true, "summary": {"maximum": 7.9, "median": 5.77889, "minimum": 4.3, "missing_count":
258
+ 0, "population": 150, "splits": [4.51526, 4.67252, 4.81113, 4.89582, 4.96139,
259
+ 5.01131, 5.05992, 5.11148, 5.18177, 5.35681, 5.44129, 5.5108, 5.58255, 5.65532,
260
+ 5.71658, 5.77889, 5.85381, 5.97078, 6.05104, 6.13074, 6.23023, 6.29578, 6.35078,
261
+ 6.41459, 6.49383, 6.63013, 6.70719, 6.79218, 6.92597, 7.20423, 7.64746], "sum":
262
+ 876.5, "sum_squares": 5223.85}}, "000001": {"column_number": 1, "datatype":
263
+ "double", "name": "sepal width", "optype": "numeric", "preferred": true, "summary":
264
+ {"counts": [[2, 1], [2.2, 3], [2.3, 4], [2.4, 3], [2.5, 8], [2.6, 5], [2.7,
265
+ 9], [2.8, 14], [2.9, 10], [3, 26], [3.1, 11], [3.2, 13], [3.3, 6], [3.4, 12],
266
+ [3.5, 6], [3.6, 4], [3.7, 3], [3.8, 6], [3.9, 2], [4, 1], [4.1, 1], [4.2,
267
+ 1], [4.4, 1]], "maximum": 4.4, "median": 3.02044, "minimum": 2, "missing_count":
268
+ 0, "population": 150, "sum": 458.6, "sum_squares": 1430.4}}, "000002": {"column_number":
269
+ 2, "datatype": "double", "name": "petal length", "optype": "numeric", "preferred":
270
+ true, "summary": {"maximum": 6.9, "median": 4.34142, "minimum": 1, "missing_count":
271
+ 0, "population": 150, "splits": [1.25138, 1.32426, 1.37171, 1.40962, 1.44567,
272
+ 1.48173, 1.51859, 1.56301, 1.6255, 1.74645, 3.23033, 3.675, 3.94203, 4.0469,
273
+ 4.18243, 4.34142, 4.45309, 4.51823, 4.61771, 4.72566, 4.83445, 4.93363, 5.03807,
274
+ 5.1064, 5.20938, 5.43979, 5.5744, 5.6646, 5.81496, 6.02913, 6.38125], "sum":
275
+ 563.7, "sum_squares": 2582.71}}, "000003": {"column_number": 3, "datatype":
276
+ "double", "name": "petal width", "optype": "numeric", "preferred": true, "summary":
277
+ {"counts": [[0.1, 5], [0.2, 29], [0.3, 7], [0.4, 7], [0.5, 1], [0.6, 1], [1,
278
+ 7], [1.1, 3], [1.2, 5], [1.3, 13], [1.4, 8], [1.5, 12], [1.6, 4], [1.7, 2],
279
+ [1.8, 12], [1.9, 5], [2, 6], [2.1, 6], [2.2, 3], [2.3, 8], [2.4, 3], [2.5,
280
+ 3]], "maximum": 2.5, "median": 1.32848, "minimum": 0.1, "missing_count": 0,
281
+ "population": 150, "sum": 179.9, "sum_squares": 302.33}}, "000004": {"column_number":
282
+ 4, "datatype": "string", "name": "species", "optype": "categorical", "preferred":
283
+ true, "summary": {"categories": [["Iris-versicolor", 50], ["Iris-setosa",
284
+ 50], ["Iris-virginica", 50]], "missing_count": 0}}}, "locale": "en_US", "name":
285
+ "iris'' dataset", "number_of_models": 0, "number_of_predictions": 0, "private":
286
+ true, "resource": "dataset/4fe14a0d1552687d480000fa", "rows": 150, "size":
287
+ 4608, "source": "source/4fe14a0b1552687d4200013a", "source_status": true,
288
+ "status": {"bytes": 4608, "code": 5, "elapsed": 846, "field_errors": [], "message":
289
+ "The dataset has been created", "row_format_errors": [], "serialized_rows":
290
+ 150}, "tags": [], "updated": "2012-06-20T03:57:01.995000"}'
291
+ http_version: '1.1'
292
+ recorded_at: Wed, 20 Jun 2012 03:56:46 GMT
293
+ recorded_with: VCR 2.2.2