gliner 0.2.1 → 0.2.2

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
  SHA256:
3
- metadata.gz: 749c6a152abe40b2735e56724d01bcb9df57df3ed883f7b7a7a735c7d4dbe613
4
- data.tar.gz: dd8add045f98be4876bea92faadd68b2da4a64613502c710c3a6769d224016bd
3
+ metadata.gz: 81732c1ce09e933b7e2f57291ee6c9c0c9a8442f7a8488667d324a7b25d2981f
4
+ data.tar.gz: 59cc5210b5915c7e195d99a3c2d80d613f3d9e3aaa9c9ddb58d4311b585bf923
5
5
  SHA512:
6
- metadata.gz: 996bd63e35f9302f1a01a78d92d39ca47013deb42e58ff3c332ac260c2351f172d5a1897bdb3f673a4a1cf1f63c2ef1b1a7c04c2025ff94be6eb71548c79bf97
7
- data.tar.gz: 246d3939daa2ca82df524ae6a89dbd734792d5c6952857d517634f50cc59176f26fd1bef15677b655b1c2f9cb1b35c5cb700bdbbc764d6949b6b941b7c83e77f
6
+ metadata.gz: 17e88cb80220df06929d6642c92373e88a1628aaee83eb3c8175ea1c5454dc790bb262ea18565d314e533c49082aace8c85b78325aae3ddffa5a5d68188451f7
7
+ data.tar.gz: 1cafd31a6b5d1c92b1088d3584457f4231853485eb0ba8728155fde333b9f99e5d7b1ec7414ddcf6a9f7547f991ccf98c37564cf9b95a9b1b2ab77f1e11ee68a
data/bin/console CHANGED
@@ -9,6 +9,7 @@ end
9
9
 
10
10
  require "gliner"
11
11
  require "irb"
12
+ require "debug"
12
13
 
13
14
  model_dir = ARGV[0] || ENV["GLINER_MODEL_DIR"]
14
15
  model_file = ENV["GLINER_MODEL_FILE"]
data/gliner.gemspec CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency 'irb', '~> 1.16.0'
25
25
  spec.add_development_dependency 'rspec', '~> 3.13'
26
26
  spec.add_development_dependency 'rubocop', '~> 1.50'
27
+ spec.add_development_dependency 'debug', '~> 1.11'
27
28
 
28
29
  spec.metadata['rubygems_mfa_required'] = 'true'
29
30
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gliner
4
- VERSION = '0.2.1'
4
+ VERSION = '0.2.2'
5
5
  end
data/lib/gliner.rb CHANGED
@@ -134,40 +134,38 @@ module Gliner
134
134
  return unless config.auto?
135
135
 
136
136
  source = config.model
137
+
137
138
  return unless source.nil?
138
139
  return if env_model_dir
139
140
 
140
141
  config.model = download_default_model
141
142
  end
142
143
 
144
+ def client
145
+ @client ||= HTTPX.plugin(:follow_redirects)
146
+ end
147
+
143
148
  def download_default_model
144
149
  model_file = model_file_for_variant(config.variant)
145
- root = File.expand_path('..', __dir__)
146
- dir = File.join(root, '.cache', 'models', HF_REPO.tr('/', '__'))
150
+ dir = File.join(Dir.pwd, '.cache', 'gliner', HF_REPO.tr('/', '__'))
147
151
 
148
152
  FileUtils.mkdir_p(dir)
149
153
 
150
154
  files = ['tokenizer.json', 'config.json', model_file]
151
- client = HTTPX.plugin(:follow_redirects).with(max_redirects: 5)
152
155
 
153
156
  files.each do |file|
154
- dest = File.join(dir, file)
155
- next if File.exist?(dest) && File.size?(dest)
156
- download_file!(client, "#{DEFAULT_MODEL_BASE}/#{file}", dest)
157
- end
157
+ target = File.join(dir, file)
158
158
 
159
- dir
160
- end
159
+ next if File.exist?(target) && File.size?(target)
161
160
 
162
- def download_file!(client, url, dest)
163
- response = client.get(url)
164
- status = response.status
161
+ puts "Downloading #{DEFAULT_MODEL_BASE}/#{file}"
165
162
 
166
- unless status && status.between?(200, 299)
167
- raise Error, "Download failed: #{url} (status: #{status || 'unknown'})"
163
+ client
164
+ .get("#{DEFAULT_MODEL_BASE}/#{file}")
165
+ .copy_to(target)
168
166
  end
169
167
 
170
- File.binwrite(dest, response.body.to_s)
168
+ dir
171
169
  end
172
170
 
173
171
  def env_model_dir
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gliner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - elcuervo
@@ -107,6 +107,20 @@ dependencies:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
109
  version: '1.50'
110
+ - !ruby/object:Gem::Dependency
111
+ name: debug
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.11'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.11'
110
124
  description: Basic Ruby inference wrapper for the GLiNER2 ONNX model.
111
125
  executables: []
112
126
  extensions: []