ollama-ruby 1.9.0 → 1.10.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91ae1baa5bfbaca61fabd8b999527a323ba0ec345a62d7ba1d4fdd8a3f2afea0
4
- data.tar.gz: d33bdaf8a42d9063acc125d90864fdf639e82a1362e51f731a85a3dd427bea60
3
+ metadata.gz: 43410ed3f73c25f595c4911157b8cda7135fe47ee25ae897845f3f5af4f52f83
4
+ data.tar.gz: 5b4ad79b29c61394f9b42d6d0a70cd20a03be733173d860aa26236c682611d30
5
5
  SHA512:
6
- metadata.gz: e604e07547c56818453993713847d6ce769f328f2872c652f37940c02983c41d56de5c630f0b735eee71c141753f28c51b9f6f8303a47e554ced93ab0c7164f3
7
- data.tar.gz: ba902456a6f6a674668b9c8c97bf7d2f9d06beebac239fe908bc8456b6b4681a23da54447424d287fa926b7a1ef75779a496d37627cce77e09419e4e111997a6
6
+ metadata.gz: 2a82d59d98c2f0f4230bb830fbc0327e349cd4a399ea4e9aa45423f5a5319e39ff8ba4cf8a82113225c12ba08f3c7714ddc6e26162dd66f8743a120166cfa427
7
+ data.tar.gz: 174b3426b0830fe6609470c412f960693ddede0a6a309aa9530f53d9a16370010839e77fdac162e8d4204b24778948f2d4df2c928af74acbe4a49664970019fd
data/Rakefile CHANGED
@@ -33,6 +33,8 @@ GemHadar do
33
33
  dependency 'term-ansicolor', '~> 1.11'
34
34
  dependency 'kramdown-ansi', '~> 0.0', '>= 0.0.1'
35
35
  dependency 'ostruct', '~> 0.0'
36
+ dependency 'tabulo', '~> 3.0'
37
+ dependency 'nokogiri', '~> 1.0'
36
38
  development_dependency 'all_images', '~> 0.6'
37
39
  development_dependency 'rspec', '~> 3.2'
38
40
  development_dependency 'kramdown', '~> 2.0'
data/bin/ollama_browse CHANGED
@@ -1,4 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
+ #
3
+ # Browse Ollama model tags and their metadata from the official registry.
4
+ #
5
+ # This script fetches and displays information about available tags for a
6
+ # specified Ollama model from the official Ollama library. It shows file sizes,
7
+ # context sizes, and hash information for each tag, making it easy to compare
8
+ # different model variants.
2
9
 
3
10
  require 'term/ansicolor'
4
11
  include Term::ANSIColor
@@ -21,7 +28,7 @@ doc = Nokogiri::HTML(body)
21
28
  # They are never permitted to change the structure of this HTML…
22
29
  css = 'section div div .group.px-4.py-3'
23
30
  tags = (doc / css).map do |element|
24
- tagged_name = (element / 'a div div div span').text
31
+ tagged_name = (element / 'a div div div span').first&.text
25
32
  file_size, context_size = (element / 'p').map(&:text)
26
33
  hash = (element / 'a .text-neutral-500 span .font-mono').text
27
34
  [ tagged_name, file_size, context_size, hash ]
@@ -29,6 +36,7 @@ end.group_by(&:last)
29
36
 
30
37
  puts bold('Model: ') + hyperlink(tags_url) { model }
31
38
  tags.each do |hash, tagged_blobs|
39
+ hash = hash.strip
32
40
  print bold(hash)
33
41
  first_blob = true
34
42
  tagged_blobs.each do |(tag, _), file_size, context_size|
data/bin/ollama_cli CHANGED
@@ -1,4 +1,28 @@
1
1
  #!/usr/bin/env ruby
2
+ #
3
+ # Ollama CLI tool for interacting with Ollama models via command line.
4
+ #
5
+ # This script provides a command-line interface to communicate with Ollama
6
+ # models, supporting chat sessions, prompt templating, and various
7
+ # configuration options. It can be used for both interactive and automated
8
+ # model interactions.
9
+ #
10
+ # Features:
11
+ # - Chat sessions with model responses
12
+ # - Prompt templating with variable substitution
13
+ # - Streaming and thinking modes
14
+ # - Configuration via environment variables or command-line options
15
+ # - JSON-based chat history persistence
16
+ #
17
+ # Environment Variables:
18
+ # - OLLAMA_URL: Base URL for Ollama server (default: 'http://localhost')
19
+ # - OLLAMA_HOST: Hostname for Ollama server (used when OLLAMA_URL not set)
20
+ # - OLLAMA_CLIENT: JSON configuration for client
21
+ # - OLLAMA_MODEL: Default model to use (default: 'llama3.1')
22
+ # - OLLAMA_MODEL_OPTIONS: JSON model options
23
+ # - OLLAMA_SYSTEM: Default system prompt
24
+ # - OLLAMA_PROMPT: Default user prompt
25
+ # - DEBUG: Set to 1 for verbose output
2
26
 
3
27
  require 'ollama'
4
28
  include Ollama
data/bin/ollama_console CHANGED
@@ -1,4 +1,21 @@
1
1
  #!/usr/bin/env ruby
2
+ #
3
+ # A console interface for interacting with the Ollama API.
4
+ #
5
+ # This script provides an interactive Ruby console (IRB) pre-configured with an
6
+ # Ollama client instance, enabling direct experimentation with the Ollama API.
7
+ # It automatically loads the Ollama client with the appropriate base URL, which
8
+ # can be configured via environment variables.
9
+ #
10
+ # Environment Variables:
11
+ # - OLLAMA_URL: The base URL of the Ollama API server (e.g., 'http://localhost:11434').
12
+ # - OLLAMA_HOST: Fallback host for constructing the base URL if OLLAMA_URL is not set.
13
+ #
14
+ # The script will:
15
+ # - Initialize an Ollama client with the configured base URL
16
+ # - Start an IRB session with the client available as the `ollama` variable
17
+ # - Display version and connection information
18
+ # - Show available API methods via `ollama.help`
2
19
 
3
20
  require 'ollama'
4
21
  include Ollama
data/bin/ollama_ps ADDED
@@ -0,0 +1,127 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # A utility script that displays information about running Ollama models in a
4
+ # formatted table.
5
+ #
6
+ # This script queries the Ollama API's /api/ps endpoint and presents running
7
+ # models with detailed information including:
8
+ #
9
+ # * Model name and ID
10
+ # * Memory usage (size and processor allocation)
11
+ # * Context window length
12
+ # * Parameter count and quantization level
13
+ # * Time until expiration
14
+ #
15
+ # == Usage
16
+ #
17
+ # ollama_ps
18
+ #
19
+ # The script uses the OLLAMA_URL environment variable for the API endpoint,
20
+ # defaulting to 'http://' + OLLAMA_HOST if not set.
21
+ #
22
+ # == Output
23
+ #
24
+ # Displays a formatted table with columns:
25
+ # * NAME - Model name
26
+ # * ID - Truncated model digest
27
+ # * SIZE - Human-readable model size
28
+ # * PROCESSOR - CPU/GPU allocation percentage
29
+ # * CONTEXT - Context window size
30
+ # * PARAMS - Parameter count (e.g., 30.5B, 23M)
31
+ # * QUANT - Quantization level (e.g., Q4_K_M, F16)
32
+ # * UNTIL - Time until model expiration
33
+
34
+ require 'ollama'
35
+ include Ollama
36
+ require 'tabulo'
37
+
38
+ # The base_url method returns the Ollama API base URL.
39
+ #
40
+ # It first checks for the OLLAMA_URL environment variable.
41
+ # If not set, it defaults to 'http://' followed by the OLLAMA_HOST environment
42
+ # variable.
43
+ #
44
+ # @return [ String ] the base URL for the Ollama API
45
+ def base_url
46
+ ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST')
47
+ end
48
+
49
+ # The format_bytes method formats a number of bytes into a human-readable
50
+ # string with units.
51
+ #
52
+ # @param bytes [ Integer ] the number of bytes to format
53
+ #
54
+ # @return [ String ] a formatted string representing the byte value with
55
+ # appropriate units
56
+ def format_bytes(bytes)
57
+ Tins::Unit.format(bytes, format: '%.2f %U', unit: ?B)
58
+ end
59
+
60
+ # The format_expiry method converts an expiration time into a formatted
61
+ # duration string.
62
+ #
63
+ # This method takes an expiration timestamp, calculates the time difference
64
+ # from the current time, and formats it into a human-readable duration string
65
+ # showing days, hours, minutes, and seconds.
66
+ #
67
+ # @param expires_at [ String ] the expiration timestamp to be formatted
68
+ #
69
+ # @return [ String ] a formatted duration string representing the time until
70
+ # expiration
71
+ def format_expiry(expires_at)
72
+ Tins::Duration.new(Time.parse(expires_at) - Time.now).format('%S%d+%h:%m:%s')
73
+ end
74
+
75
+ # The format_processor method computes a CPU/GPU usage string based on memory
76
+ # sizes.
77
+ #
78
+ # This method takes two memory size parameters and calculates the percentage of
79
+ # GPU and CPU usage, returning a formatted string that indicates the
80
+ # distribution of resources. It handles special cases where all memory is on
81
+ # GPU or CPU, and calculates the percentage for mixed scenarios.
82
+ #
83
+ # @param size_vram [ Integer ] the amount of VRAM allocated
84
+ # @param size_total [ Integer ] the total amount of memory available
85
+ #
86
+ # @return [ String ] a formatted string indicating CPU/GPU usage percentage
87
+ # or special cases like "100% GPU" or "100% CPU"
88
+ def format_processor(size_vram, size_total)
89
+ if size_vram == size_total
90
+ "100% GPU"
91
+ elsif size_vram == 0
92
+ "100% CPU"
93
+ else
94
+ cpu_percent = ((size_total - size_vram) * 100.0 / size_total).round(0)
95
+ gpu_percent = 100 - cpu_percent
96
+ "#{cpu_percent}%/#{gpu_percent}% CPU/GPU"
97
+ end
98
+ end
99
+
100
+ # The ps method retrieves and displays information about running models in a
101
+ # formatted table.
102
+ #
103
+ # This method creates a new Ollama client instance, fetches the list of running
104
+ # models, and presents the information in a structured table format showing
105
+ # model details such as name, ID, size, processor information, context length,
106
+ # parameters, quantization level, and expiration time.
107
+ #
108
+ # @param base_url [ String, nil ] the base URL of the Ollama API endpoint, defaults to nil
109
+ def ps
110
+ ollama = Client.new(base_url:)
111
+ result = ollama.ps
112
+ models = result.models
113
+
114
+ table = Tabulo::Table.new(models, border: :modern) do |t|
115
+ t.add_column("NAME", &:name)
116
+ t.add_column("ID") { |model| model.digest[0, 12] }
117
+ t.add_column("SIZE", align_body: :right) { |model| format_bytes(model.size) }
118
+ t.add_column("PROCESSOR") { |model| format_processor(model.size_vram, model.size) }
119
+ t.add_column("CONTEXT") { |model| format_bytes(model.context_length) }
120
+ t.add_column("PARAMS", align_body: :right) { |model| model.details&.parameter_size || 'n/a' }
121
+ t.add_column("QUANT", align_body: :right) { |model| model.details&.quantization_level || 'n/a' }
122
+ t.add_column("UNTIL") { |model| format_expiry(model.expires_at) }
123
+ end
124
+ puts table.pack
125
+ end
126
+
127
+ ps
data/bin/ollama_update CHANGED
@@ -1,4 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
+ #
3
+ # Updates all Ollama models to their latest versions.
4
+ #
5
+ # This script fetches all available models from the configured Ollama instance
6
+ # and pulls the latest version of each model. It handles errors gracefully,
7
+ # continuing to update remaining models even if one fails.
8
+ #
9
+ # Environment Variables:
10
+ # - OLLAMA_HOST: Hostname for the Ollama server (default: 'localhost')
11
+ # - OLLAMA_URL: Full URL for the Ollama server (overrides OLLAMA_HOST)
2
12
 
3
13
  require 'time'
4
14
  require 'term/ansicolor'
@@ -1,6 +1,6 @@
1
1
  module Ollama
2
2
  # Ollama version
3
- VERSION = '1.9.0'
3
+ VERSION = '1.10.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/ollama-ruby.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: ollama-ruby 1.9.0 ruby lib
2
+ # stub: ollama-ruby 1.10.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "ollama-ruby".freeze
6
- s.version = "1.9.0".freeze
6
+ s.version = "1.10.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.executables = ["ollama_console".freeze, "ollama_update".freeze, "ollama_cli".freeze, "ollama_browse".freeze]
15
15
  s.extra_rdoc_files = ["README.md".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/configuration/config.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/commands/version.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/json_loader.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/version.rb".freeze]
16
- s.files = ["CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_browse".freeze, "bin/ollama_cli".freeze, "bin/ollama_console".freeze, "bin/ollama_update".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/configuration/config.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/commands/version.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/json_loader.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/version.rb".freeze, "ollama-ruby.gemspec".freeze, "spec/assets/client.json".freeze, "spec/assets/kitten.jpg".freeze, "spec/assets/options.json".freeze, "spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/commands/version_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
16
+ s.files = ["CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_browse".freeze, "bin/ollama_cli".freeze, "bin/ollama_console".freeze, "bin/ollama_ps".freeze, "bin/ollama_update".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/configuration/config.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/commands/version.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/json_loader.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/version.rb".freeze, "ollama-ruby.gemspec".freeze, "spec/assets/client.json".freeze, "spec/assets/kitten.jpg".freeze, "spec/assets/options.json".freeze, "spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/commands/version_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
17
17
  s.homepage = "https://github.com/flori/ollama-ruby".freeze
18
18
  s.licenses = ["MIT".freeze]
19
19
  s.rdoc_options = ["--title".freeze, "Ollama-ruby - Interacting with the Ollama API".freeze, "--main".freeze, "README.md".freeze]
@@ -39,4 +39,6 @@ Gem::Specification.new do |s|
39
39
  s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
40
40
  s.add_runtime_dependency(%q<kramdown-ansi>.freeze, ["~> 0.0".freeze, ">= 0.0.1".freeze])
41
41
  s.add_runtime_dependency(%q<ostruct>.freeze, ["~> 0.0".freeze])
42
+ s.add_runtime_dependency(%q<tabulo>.freeze, ["~> 3.0".freeze])
43
+ s.add_runtime_dependency(%q<nokogiri>.freeze, ["~> 1.0".freeze])
42
44
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ollama-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -225,6 +225,34 @@ dependencies:
225
225
  - - "~>"
226
226
  - !ruby/object:Gem::Version
227
227
  version: '0.0'
228
+ - !ruby/object:Gem::Dependency
229
+ name: tabulo
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - "~>"
233
+ - !ruby/object:Gem::Version
234
+ version: '3.0'
235
+ type: :runtime
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - "~>"
240
+ - !ruby/object:Gem::Version
241
+ version: '3.0'
242
+ - !ruby/object:Gem::Dependency
243
+ name: nokogiri
244
+ requirement: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - "~>"
247
+ - !ruby/object:Gem::Version
248
+ version: '1.0'
249
+ type: :runtime
250
+ prerelease: false
251
+ version_requirements: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - "~>"
254
+ - !ruby/object:Gem::Version
255
+ version: '1.0'
228
256
  description: Library that allows interacting with the Ollama API
229
257
  email: flori@ping.de
230
258
  executables:
@@ -285,6 +313,7 @@ files:
285
313
  - bin/ollama_browse
286
314
  - bin/ollama_cli
287
315
  - bin/ollama_console
316
+ - bin/ollama_ps
288
317
  - bin/ollama_update
289
318
  - lib/ollama.rb
290
319
  - lib/ollama/client.rb