nexosis_api 1.0.0 → 1.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ea8420a0cc83927171b7767fb1d94bd3a5079afa
4
- data.tar.gz: 440f6ff9e8af3ca49723fbb44b8284f632df58b8
3
+ metadata.gz: 8033e80ad77a8aaef047705b4226f4cf35004d53
4
+ data.tar.gz: b6d345887506671863f2f663add52ef4d5204363
5
5
  SHA512:
6
- metadata.gz: fbe33013ff7623c70db259af4f46f070a913987197a8f5740cba1e5ab541cdec4d3f33a43397d3ffe7ee2816e7f2920deec4b4f856475a2ec5db35148f5e739e
7
- data.tar.gz: cb0c8cf3defc7381ce444ebe0f46a64518c3a2a1377e396361b500afb45805e5887d1cdc9e52440843bfa40857870b2745b3c7ae7840393479c7772e4d726300
6
+ metadata.gz: ea20e9e26d1454e9a32ff6a00bb6fd0a735c98e53571cebaa4db1a8fe285b205cebdc710f887e07ecb8303effbf5bc0f3084892eda224799eedd1c671742bcc3
7
+ data.tar.gz: e84c69d46be15bef19aeed3728b9b559c45877739cd152136124a1754b91eb22e66202b70c44aa6dce93cf63fa25cdcdb2f759da5cb25f91cdbc9a975be869be
@@ -18,15 +18,15 @@ module NexosisApi
18
18
  end
19
19
 
20
20
  # Identifier of algorithm run
21
- # @return [NexosisApi::Algorithm]
21
+ # @return [NexosisApi::Algorithm]
22
22
  attr_accessor :algorithm
23
23
 
24
24
  # Set of {NexosisApi::Metric} on algorithm
25
- # @return [Array]
25
+ # @return [Array]
26
26
  attr_accessor :metrics
27
27
 
28
28
  # Relevant hypermedia as {NexosisApi::Link}
29
- # @return [Array]
29
+ # @return [Array]
30
30
  attr_accessor :links
31
31
  end
32
32
  end
@@ -1,6 +1,9 @@
1
1
  require 'nexosis_api/algorithm_run'
2
2
  require 'nexosis_api/algorithm_selection'
3
3
  require 'nexosis_api/algorithm'
4
+ require 'nexosis_api/column_role'
5
+ require 'nexosis_api/column_type'
6
+ require 'nexosis_api/dataset_column'
4
7
  require 'nexosis_api/dataset_data'
5
8
  require 'nexosis_api/dataset_model'
6
9
  require 'nexosis_api/dataset_summary'
@@ -84,14 +84,14 @@ module NexosisApi
84
84
 
85
85
  # Remove data from a data set or the entire set.
86
86
  #
87
- # @param dataset [String] the name of the dataset from which to remove data
87
+ # @param dataset_name [String] the name of the dataset from which to remove data
88
88
  # @param filter_options [Hash] filtering which data to remove
89
- # @Options - start_date, end_date, cascade_forecast, cascade_sessions, cascade
90
- # start_date - the first date on which to start removing data
91
- # end_date - the last date on which to finish removing data
92
- # cascade_forecast - will cascade deletes to all related forecasts
93
- # cascade_sessions - will cascade deletes to all related sessions
94
- # cascade - will cascade deletes to all related forecasts and sessions
89
+ # @note Options: start_date, end_date, cascade_forecast, cascade_sessions, cascade
90
+ # - start_date - the first date on which to start removing data
91
+ # - end_date - the last date on which to finish removing data
92
+ # - cascade_forecast - will cascade deletes to all related forecasts
93
+ # - cascade_sessions - will cascade deletes to all related sessions
94
+ # - cascade - will cascade deletes to all related forecasts and sessions
95
95
  # @example - request delete with cascade forecast
96
96
  # NexosisApi.client.remove_dataset('mydataset', {:cascade_forecast => true})
97
97
  def remove_dataset(dataset_name, filter_options = {})
@@ -155,11 +155,11 @@ module NexosisApi
155
155
  "startDate" => options[:start_date].to_s,
156
156
  "endDate" => options[:end_date].to_s,
157
157
  "page" => options[:page_number],
158
- "pageSize" => options[:page_size],
159
- "include" => options[:include].to_s
158
+ "pageSize" => options[:page_size]
160
159
  }
160
+ query["include"] = options[:include].to_s unless options[:include].nil?
161
+ query
161
162
  end
162
-
163
163
  end
164
164
  end
165
165
  end
@@ -11,13 +11,20 @@ module NexosisApi
11
11
  #
12
12
  # @param query_options [Hash] optionally provide query parameters to limit the search of sessions.
13
13
  # @return[Array of NexosisApi::SessionResponse] with all sessions matching the query or all if no query
14
- # @note query parameters hash members are dataset_name, event_name, start_date, and end_date.
15
- # Start and end dates refer to the session requested date.
14
+ # @note query parameters hash members are dataset_name, event_name, requested_before_date, and requested_after_date.
15
+ # After and before dates refer to the session requested date.
16
16
  # @example query for just one dataset
17
17
  # sessions = NexosisApi.client.list_sessions :dataset_name => 'MyDataset'
18
18
  def list_sessions(query_options = {})
19
19
  sessions_url = '/sessions'
20
- response = self.class.get(sessions_url, :headers => @headers, :query => get_query_from_options(query_options))
20
+ query = {
21
+ "dataSetName" => query_options[:dataset_name],
22
+ "eventName" => query_options[:event_name],
23
+ "requestedAfterDate" => query_options[:requested_after_date],
24
+ "requestedBeforeDate" => query_options[:requested_before_date],
25
+ "type" => query_options[:type]
26
+ }
27
+ response = self.class.get(sessions_url, :headers => @headers, :query => query)
21
28
  if(response.success?)
22
29
  all_responses = []
23
30
  response.parsed_response["items"].each do |session_hash|
@@ -188,12 +195,12 @@ module NexosisApi
188
195
  def create_session(dataset_name, target_column, start_date, end_date, is_estimate=false, event_name = nil, type = "forecast", content = nil, content_type = "text/csv")
189
196
  session_url = "/sessions/#{type}"
190
197
  query = {
191
- "dataSetName" => dataset_name,
192
198
  "targetColumn" => target_column,
193
199
  "startDate" => start_date.to_s,
194
200
  "endDate" => end_date.to_s,
195
201
  "isestimate" => is_estimate.to_s
196
202
  }
203
+ query["dataSetName"] = dataset_name.to_s unless dataset_name.to_s.empty?
197
204
  if(event_name.nil? == false)
198
205
  query["eventName"] = event_name
199
206
  end
@@ -0,0 +1,13 @@
1
+ module NexosisApi
2
+ # Constants for dataset column role
3
+ module ColumnRole
4
+ # No specific role, additional data which could be identified as target in a session
5
+ NONE = :none
6
+ # The timestamp column to use as the basis for a time-series session request
7
+ TIMESTAMP = :timestamp
8
+ # The target column for which to make predictions
9
+ TARGET = :target
10
+ # A feature to be included in analysis
11
+ FEATURE = :feature
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module NexosisApi
2
+ # Constants for column data type
3
+ module ColumnType
4
+ # contains string data
5
+ STRING = :string
6
+ # contains numeric data
7
+ NUMERIC = :numeric
8
+ # contains boolean logical data (i.e. 1 and 0, true and false, etc.)
9
+ LOGICAL = :logical
10
+ # contains ISO-8601 compatible date
11
+ DATE = :date
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ module NexosisApi
2
+ # class to hold the parsed results of a dataset column
3
+ class DatasetColumn
4
+ def initialize(column_name, value_hash)
5
+ @name = column_name
6
+ @type = NexosisApi::ColumnType.const_get(value_hash["dataType"].upcase)
7
+ @role = NexosisApi::ColumnRole.const_get(value_hash["role"].upcase)
8
+ end
9
+ # The column header, label, or name
10
+ # @return [String]
11
+ attr_accessor :name
12
+
13
+
14
+ # The data type of this column
15
+ # @note Either string, numeric, logical, or date
16
+ # @return [NexosisApi::ColumnType]
17
+ attr_accessor :type
18
+
19
+ # The role of this column
20
+ # @note Either none, timestamp, target, or feature
21
+ # @return [NexosisApi::ColumnRole]
22
+ attr_accessor :role
23
+ end
24
+ end
@@ -5,11 +5,22 @@ module NexosisApi
5
5
  data_hash.each do |k,v|
6
6
  if(k == "dataSetName")
7
7
  @dataset_name = v unless v.nil?
8
+ elsif(k == "columns")
9
+ columns = []
10
+ next if v.nil?
11
+ v.keys.each do |col_key|
12
+ columns << NexosisApi::DatasetColumn.new(col_key, v[col_key])
13
+ end
14
+ @column_metadata = columns
8
15
  end
9
16
  end
10
17
  end
11
18
 
12
19
  # The name of the dataset uploaded and saved
13
20
  attr_accessor :dataset_name
21
+
22
+ # Descriptive information about the columns
23
+ # @return [Array of NexosisApi::DatasetColumn]
24
+ attr_accessor :column_metadata
14
25
  end
15
26
  end
data/nexosisapi.gemspec CHANGED
@@ -16,6 +16,6 @@ Gem::Specification.new do |spec|
16
16
  spec.require_paths = ['lib']
17
17
  spec.required_ruby_version = '>= 2.0.0'
18
18
  spec.summary = "Ruby client for working with the Nexosis API"
19
- spec.version = '1.0.0'
19
+ spec.version = '1.0.1'
20
20
  spec.metadata["yard.run"] = "yri"
21
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexosis_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nexosis,Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-23 00:00:00.000000000 Z
11
+ date: 2017-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,9 @@ files:
52
52
  - lib/nexosis_api/client.rb
53
53
  - lib/nexosis_api/client/datasets.rb
54
54
  - lib/nexosis_api/client/sessions.rb
55
+ - lib/nexosis_api/column_role.rb
56
+ - lib/nexosis_api/column_type.rb
57
+ - lib/nexosis_api/dataset_column.rb
55
58
  - lib/nexosis_api/dataset_data.rb
56
59
  - lib/nexosis_api/dataset_model.rb
57
60
  - lib/nexosis_api/dataset_summary.rb