main
 1# frozen_string_literal: true
 2
 3require_relative "lib/net/llm/version"
 4
 5Gem::Specification.new do |spec|
 6  spec.name = "net-llm"
 7  spec.version = Net::Llm::VERSION
 8  spec.authors = ["mo khan"]
 9  spec.email = ["mo@mokhan.ca"]
10
11  spec.summary = "Ruby client for OpenAI, Ollama, and Anthropic LLM APIs"
12  spec.description = "A minimal Ruby gem providing interfaces to connect to OpenAI, Ollama, and Anthropic (Claude) LLM APIs"
13  spec.homepage = "https://src.mokhan.ca/xlgmokha/net-llm/"
14  spec.license = "MIT"
15  spec.required_ruby_version = ">= 3.2.0"
16  spec.metadata["homepage_uri"] = spec.homepage
17  spec.metadata["source_code_uri"] = "https://src.mokhan.ca/xlgmokha/net-llm/"
18  spec.metadata["changelog_uri"] = "https://src.mokhan.ca/xlgmokha/net-llm/blob/main/CHANGELOG.md.html"
19
20  # Specify which files should be added to the gem when it is released.
21  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22  gemspec = File.basename(__FILE__)
23  spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls|
24    ls.readlines("\x0", chomp: true).reject do |f|
25      (f == gemspec) ||
26        f.start_with?(*%w[bin/ Gemfile .gitignore .rspec spec/])
27    end
28  end
29  spec.bindir = "exe"
30  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31  spec.require_paths = ["lib"]
32
33  spec.add_dependency "json", "~> 2.0"
34  spec.add_dependency "net-hippie", "~> 1.0"
35  spec.add_dependency "uri", "~> 1.0"
36  spec.add_development_dependency "rake", "~> 13.0"
37  spec.add_development_dependency "rspec", "~> 3.0"
38  spec.add_development_dependency "vcr", "~> 6.0"
39  spec.add_development_dependency "webmock", "~> 3.0"
40end