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