tangram 0.4.0 → 0.7.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +6 -30
  4. data/docs/Tangram.html +5 -4
  5. data/docs/Tangram/BagOfWordsCosineSimilarityFeatureContribution.html +518 -0
  6. data/docs/Tangram/BagOfWordsFeatureContribution.html +24 -13
  7. data/docs/Tangram/Bigram.html +16 -9
  8. data/docs/Tangram/BinaryClassificationPredictOutput.html +20 -11
  9. data/docs/Tangram/FeatureContributions.html +20 -11
  10. data/docs/Tangram/IdentityFeatureContribution.html +20 -11
  11. data/docs/Tangram/LibTangram.html +3 -2
  12. data/docs/Tangram/LibTangram/TangramStringView.html +6 -6
  13. data/docs/Tangram/LoadModelOptions.html +12 -7
  14. data/docs/Tangram/Model.html +173 -133
  15. data/docs/Tangram/MulticlassClassificationPredictOutput.html +24 -13
  16. data/docs/Tangram/NormalizedFeatureContribution.html +20 -11
  17. data/docs/Tangram/OneHotEncodedFeatureContribution.html +24 -13
  18. data/docs/Tangram/PredictOptions.html +16 -9
  19. data/docs/Tangram/RegressionPredictOutput.html +16 -9
  20. data/docs/Tangram/Unigram.html +12 -7
  21. data/docs/Tangram/WordEmbeddingFeatureContribution.html +38 -29
  22. data/docs/_index.html +9 -2
  23. data/docs/class_list.html +1 -1
  24. data/docs/file.README.html +16 -37
  25. data/docs/index.html +16 -37
  26. data/docs/method_list.html +69 -29
  27. data/docs/top-level-namespace.html +2 -2
  28. data/examples/advanced/Gemfile +2 -0
  29. data/examples/advanced/Gemfile.lock +15 -0
  30. data/examples/advanced/README.md +14 -0
  31. data/examples/{heart_disease.tangram → advanced/heart_disease.tangram} +0 -0
  32. data/examples/{advanced.rb → advanced/main.rb} +1 -1
  33. data/examples/basic/Gemfile +2 -0
  34. data/examples/basic/Gemfile.lock +15 -0
  35. data/examples/basic/README.md +10 -0
  36. data/examples/basic/heart_disease.tangram +0 -0
  37. data/examples/{basic.rb → basic/main.rb} +0 -0
  38. data/lib/tangram/libtangram/aarch64-apple-darwin/libtangram.dylib +0 -0
  39. data/lib/tangram/libtangram/aarch64-unknown-linux-gnu/libtangram.so +0 -0
  40. data/lib/tangram/libtangram/aarch64-unknown-linux-musl/libtangram.so +0 -0
  41. data/lib/tangram/libtangram/x86_64-apple-darwin/libtangram.dylib +0 -0
  42. data/lib/tangram/libtangram/x86_64-pc-windows-msvc/tangram.dll +0 -0
  43. data/lib/tangram/libtangram/x86_64-unknown-linux-gnu/libtangram.so +0 -0
  44. data/lib/tangram/libtangram/x86_64-unknown-linux-musl/libtangram.so +0 -0
  45. data/lib/tangram/tangram.rb +9 -9
  46. data/scripts/release +8 -0
  47. data/tangram.gemspec +4 -4
  48. metadata +16 -8
@@ -100,9 +100,9 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Wed May 12 10:45:10 2021 by
103
+ Generated on Mon Jul 26 14:54:00 2021 by
104
104
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
- 0.9.26 (ruby-2.6.7).
105
+ 0.9.26 (ruby-2.7.4).
106
106
  </div>
107
107
 
108
108
  </div>
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gem 'tangram'
@@ -0,0 +1,15 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ ffi (1.15.3)
5
+ tangram (0.5.0)
6
+ ffi (~> 1)
7
+
8
+ PLATFORMS
9
+ ruby
10
+
11
+ DEPENDENCIES
12
+ tangram
13
+
14
+ BUNDLED WITH
15
+ 2.1.4
@@ -0,0 +1,14 @@
1
+ # Advanced
2
+
3
+ This example demonstrates logging predictions and true values to the Tangram app. Before running the example, run `tangram app` to start the app running locally, open `http://localhost:8080` in your browser, and upload the file `heart_disease.tangram` to it.
4
+
5
+ To run the example:
6
+
7
+ ```
8
+ $ bundle
9
+ $ TANGRAM_URL=http://localhost:8080 ruby main.rb
10
+ ```
11
+
12
+ Now if you refresh the production stats or production metrics tabs for the model you uploaded, you should see predictions and true values.
13
+
14
+ For more information, [read the docs](https://www.tangram.dev/docs).
@@ -1,7 +1,7 @@
1
1
  require 'tangram'
2
2
 
3
3
  # If you are running the Tangram app on your own server you can pass the URL to it with the TANGRAM_URL environment variable.
4
- tangram_url = ENV['TANGRAM_URL'] || 'https://app.tangram.xyz'
4
+ tangram_url = ENV['TANGRAM_URL'] || 'https://app.tangram.dev'
5
5
 
6
6
  # Get the path to the `.tangram` file.
7
7
  model_path = File.join(File.dirname(__FILE__), 'heart_disease.tangram')
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gem 'tangram'
@@ -0,0 +1,15 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ ffi (1.15.3)
5
+ tangram (0.5.0)
6
+ ffi (~> 1)
7
+
8
+ PLATFORMS
9
+ ruby
10
+
11
+ DEPENDENCIES
12
+ tangram
13
+
14
+ BUNDLED WITH
15
+ 2.1.4
@@ -0,0 +1,10 @@
1
+ # Basic
2
+
3
+ This example demonstrates loading a model from a `.tangram` file and making a prediction.
4
+
5
+ To run the example:
6
+
7
+ ```
8
+ $ bundle
9
+ $ ruby main.rb
10
+ ```
File without changes
@@ -9,7 +9,7 @@ module Tangram
9
9
 
10
10
  # These are the options passed when loading a model.
11
11
  class LoadModelOptions
12
- # If you are running the app locally or on your own server, use this field to provide the url to it. If not specified, the default value is https://app.tangram.xyz.
12
+ # If you are running the app locally or on your own server, use this field to provide the url to it. If not specified, the default value is https://app.tangram.dev.
13
13
  attr_reader :tangram_url
14
14
  def initialize(tangram_url:)
15
15
  @tangram_url = tangram_url
@@ -255,7 +255,7 @@ module Tangram
255
255
  end
256
256
 
257
257
  def initialize(c_model, options: nil)
258
- @tangram_url = options&.tangram_url.nil? ? 'https://app.tangram.xyz' : options&.tangram_url
258
+ @tangram_url = options&.tangram_url.nil? ? 'https://app.tangram.dev' : options&.tangram_url
259
259
  @log_queue = []
260
260
  @model = FFI::AutoPointer.new(c_model.read_pointer, LibTangram.method(:tangram_model_delete))
261
261
  end
@@ -421,7 +421,7 @@ module Tangram
421
421
  elsif is_string
422
422
  LibTangram.tangram_predict_input_set_value_string(c_input, key.to_s, value)
423
423
  else
424
- raise 'tangram error'
424
+ raise 'value for key %s is not a float or a string' % key
425
425
  end
426
426
  end
427
427
  c_input
@@ -768,18 +768,18 @@ module Tangram
768
768
  module LibTangram
769
769
  cpu = RbConfig::CONFIG['host_cpu']
770
770
  os = RbConfig::CONFIG['host_os']
771
- if (cpu == 'x86_64') && os =~ (/linux/)
771
+ if cpu == 'x86_64' && os =~ /linux/
772
772
  library_path = 'libtangram/x86_64-unknown-linux-gnu/libtangram.so'
773
- elsif (cpu == 'aarch64') && os =~ (/linux/)
773
+ elsif cpu == 'aarch64' && os =~ /linux/
774
774
  library_path = 'libtangram/aarch64-unknown-linux-gnu/libtangram.so'
775
- elsif (cpu == 'x86_64') && os =~ (/darwin/)
775
+ elsif cpu == 'x86_64' && os =~ /darwin/
776
776
  library_path = 'libtangram/x86_64-apple-darwin/libtangram.dylib'
777
- elsif (cpu == 'aarch64') && os =~ (/darwin/)
777
+ elsif (cpu == 'arm' || cpu == 'arm64') && os =~ /darwin/
778
778
  library_path = 'libtangram/aarch64-apple-darwin/libtangram.dylib'
779
- elsif (cpu == 'x86_64') && os =~ (/mingw/)
779
+ elsif cpu == 'x86_64' && os =~ /mingw/
780
780
  library_path = 'libtangram/x86_64-pc-windows-msvc/tangram.dll'
781
781
  else
782
- raise 'Tangram for Ruby does not yet support your combination of CPU architecture and operating system. Open an issue at https://github.com/tangramxyz/tangram/issues/new or email us at help@tangram.xyz to complain.'
782
+ raise 'Tangram for Ruby does not yet support your combination of CPU architecture and operating system. Open an issue at https://github.com/tangramdotdev/tangram/issues/new or email us at help@tangram.dev to complain.'
783
783
  end
784
784
  extend FFI::Library
785
785
  ffi_lib File.expand_path(library_path.to_s, __dir__)
data/scripts/release CHANGED
@@ -1,3 +1,11 @@
1
+ rm -rf lib/tangram/libtangram/
2
+ install -D ../../dist/x86_64-unknown-linux-gnu/libtangram.so lib/tangram/libtangram/x86_64-unknown-linux-gnu/libtangram.so
3
+ install -D ../../dist/aarch64-unknown-linux-gnu/libtangram.so lib/tangram/libtangram/aarch64-unknown-linux-gnu/libtangram.so
4
+ install -D ../../dist/x86_64-unknown-linux-musl/libtangram.so lib/tangram/libtangram/x86_64-unknown-linux-musl/libtangram.so
5
+ install -D ../../dist/aarch64-unknown-linux-musl/libtangram.so lib/tangram/libtangram/aarch64-unknown-linux-musl/libtangram.so
6
+ install -D ../../dist/x86_64-apple-darwin/libtangram.dylib lib/tangram/libtangram/x86_64-apple-darwin/libtangram.dylib
7
+ install -D ../../dist/aarch64-apple-darwin/libtangram.dylib lib/tangram/libtangram/aarch64-apple-darwin/libtangram.dylib
8
+ install -D ../../dist/x86_64-pc-windows-msvc/tangram.dll lib/tangram/libtangram/x86_64-pc-windows-msvc/tangram.dll
1
9
  gem build tangram.gemspec
2
10
  rm -rf dist
3
11
  mkdir -p dist
data/tangram.gemspec CHANGED
@@ -1,12 +1,12 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "tangram"
3
- s.version = "0.4.0"
3
+ s.version = "0.7.0"
4
4
  s.summary = "Tangram for Ruby"
5
- s.description = "Make predictions with a Tangram model from your Ruby app. Learn more at https://www.tangram.xyz/."
5
+ s.description = "Make predictions with a Tangram model from your Ruby app. Learn more at https://www.tangram.dev/."
6
6
  s.authors = ["Tangram"]
7
- s.email = "help@tangram.xyz"
7
+ s.email = "help@tangram.dev"
8
8
  s.files = Dir["**/**"].grep_v(/.gem$/)
9
- s.homepage = "http://rubygems.org/gems/tangram"
9
+ s.homepage = "https://rubygems.org/gems/tangram"
10
10
  s.license = "MIT"
11
11
  s.add_dependency "ffi", "~> 1"
12
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tangram
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tangram
@@ -25,8 +25,8 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1'
27
27
  description: Make predictions with a Tangram model from your Ruby app. Learn more
28
- at https://www.tangram.xyz/.
29
- email: help@tangram.xyz
28
+ at https://www.tangram.dev/.
29
+ email: help@tangram.dev
30
30
  executables: []
31
31
  extensions: []
32
32
  extra_rdoc_files: []
@@ -36,6 +36,7 @@ files:
36
36
  - LICENSE
37
37
  - README.md
38
38
  - docs/Tangram.html
39
+ - docs/Tangram/BagOfWordsCosineSimilarityFeatureContribution.html
39
40
  - docs/Tangram/BagOfWordsFeatureContribution.html
40
41
  - docs/Tangram/Bigram.html
41
42
  - docs/Tangram/BinaryClassificationPredictOutput.html
@@ -66,9 +67,16 @@ files:
66
67
  - docs/js/jquery.js
67
68
  - docs/method_list.html
68
69
  - docs/top-level-namespace.html
69
- - examples/advanced.rb
70
- - examples/basic.rb
71
- - examples/heart_disease.tangram
70
+ - examples/advanced/Gemfile
71
+ - examples/advanced/Gemfile.lock
72
+ - examples/advanced/README.md
73
+ - examples/advanced/heart_disease.tangram
74
+ - examples/advanced/main.rb
75
+ - examples/basic/Gemfile
76
+ - examples/basic/Gemfile.lock
77
+ - examples/basic/README.md
78
+ - examples/basic/heart_disease.tangram
79
+ - examples/basic/main.rb
72
80
  - lib/tangram.rb
73
81
  - lib/tangram/libtangram/aarch64-apple-darwin/libtangram.dylib
74
82
  - lib/tangram/libtangram/aarch64-unknown-linux-gnu/libtangram.so
@@ -83,7 +91,7 @@ files:
83
91
  - scripts/fmt
84
92
  - scripts/release
85
93
  - tangram.gemspec
86
- homepage: http://rubygems.org/gems/tangram
94
+ homepage: https://rubygems.org/gems/tangram
87
95
  licenses:
88
96
  - MIT
89
97
  metadata: {}
@@ -102,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
110
  - !ruby/object:Gem::Version
103
111
  version: '0'
104
112
  requirements: []
105
- rubygems_version: 3.2.16
113
+ rubygems_version: 3.2.24
106
114
  signing_key:
107
115
  specification_version: 4
108
116
  summary: Tangram for Ruby