liter_llm 1.4.0.pre.rc.34 → 1.4.0.pre.rc.35

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: 56dbb2f560d07c9fae4cb6d63eecd6266704ff51496006e7901f0404f9481c01
4
- data.tar.gz: cf0deed7c1bfce81bbfefe2e704dcf8caf6ef4a049c1ac88293d73e210dcb473
3
+ metadata.gz: 9e85456ca58c7d336a14a80431689b6b5e52cb747e1d3ad1985e07e3c7aeefe7
4
+ data.tar.gz: 894ead6272459abe83ac734c5b77b87fd9f349f30cf0c2f73a06d4c498035f4c
5
5
  SHA512:
6
- metadata.gz: 2c47bb11a94ff60208e4a1c7df86015999f556be4700b0ebcda500b898e586810808a4ba8846825f88115f032f6ef8313f81f2dbfb96f81ed507a69ef9ed105a
7
- data.tar.gz: f513d96838d495f67041d1af7aae298af0addcd22c5dd51866074036191d68657eadb769671c4577f34c2e24c43f56a77829d9c3d6544b963857695a8f608cd6
6
+ metadata.gz: bf4065cc333ae0b11aa7ff7dfc9edd710f31193b4ec20a6d3b55dde3fadb5173c7cebbaf4e8fc4cd3c71261105275273b07704e86465ddcf01e3b298d1916d8f
7
+ data.tar.gz: c4b3c08155b2c90c82bd00158fef81a7090516aa7d83149a7bef0b83405e34e809dded9366fe305c6b67d96b6258d607df27ab86c8181e95bcb0f7fc3e9dd797
data/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ Copyright 2026 Na'aman Hirschfeld
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,250 @@
1
+ # Ruby
2
+
3
+ <div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0">
4
+ <!-- Built with -->
5
+ <a href="https://github.com/kreuzberg-dev/alef">
6
+ <img src="https://img.shields.io/badge/Bindings-alef%20%D7%90-007ec6" alt="Bindings" />
7
+ </a>
8
+ <!-- Language Bindings -->
9
+ <a href="https://crates.io/crates/liter-llm">
10
+ <img src="https://img.shields.io/crates/v/liter-llm?label=Rust&color=007ec6" alt="Rust" />
11
+ </a>
12
+ <a href="https://pypi.org/project/liter-llm/">
13
+ <img src="https://img.shields.io/pypi/v/liter-llm?label=Python&color=007ec6" alt="Python" />
14
+ </a>
15
+ <a href="https://www.npmjs.com/package/@kreuzberg/liter-llm">
16
+ <img src="https://img.shields.io/npm/v/@kreuzberg/liter-llm?label=Node.js&color=007ec6" alt="Node.js" />
17
+ </a>
18
+ <a href="https://www.npmjs.com/package/@kreuzberg/liter-llm-wasm">
19
+ <img src="https://img.shields.io/npm/v/@kreuzberg/liter-llm-wasm?label=WASM&color=007ec6" alt="WASM" />
20
+ </a>
21
+ <a href="https://central.sonatype.com/artifact/dev.kreuzberg/liter-llm">
22
+ <img src="https://img.shields.io/maven-central/v/dev.kreuzberg/liter-llm?label=Java&color=007ec6" alt="Java" />
23
+ </a>
24
+ <a href="https://github.com/kreuzberg-dev/liter-llm/tree/main/packages/go">
25
+ <img src="https://img.shields.io/github/v/tag/kreuzberg-dev/liter-llm?label=Go&color=007ec6" alt="Go" />
26
+ </a>
27
+ <a href="https://www.nuget.org/packages/LiterLlm">
28
+ <img src="https://img.shields.io/nuget/v/LiterLlm?label=C%23&color=007ec6" alt="C#" />
29
+ </a>
30
+ <a href="https://packagist.org/packages/kreuzberg/liter-llm">
31
+ <img src="https://img.shields.io/packagist/v/kreuzberg/liter-llm?label=PHP&color=007ec6" alt="PHP" />
32
+ </a>
33
+ <a href="https://rubygems.org/gems/liter_llm">
34
+ <img src="https://img.shields.io/gem/v/liter_llm?label=Ruby&color=007ec6" alt="Ruby" />
35
+ </a>
36
+ <a href="https://hex.pm/packages/liter_llm">
37
+ <img src="https://img.shields.io/hexpm/v/liter_llm?label=Elixir&color=007ec6" alt="Elixir" />
38
+ </a>
39
+ <a href="https://github.com/kreuzberg-dev/liter-llm/pkgs/container/liter-llm">
40
+ <img src="https://img.shields.io/badge/Docker-007ec6?logo=docker&logoColor=white" alt="Docker" />
41
+ </a>
42
+ <a href="https://github.com/kreuzberg-dev/homebrew-tap/blob/main/Formula/liter-llm.rb">
43
+ <img src="https://img.shields.io/badge/Homebrew-007ec6?logo=homebrew&logoColor=white" alt="Homebrew" />
44
+ </a>
45
+ <a href="https://github.com/kreuzberg-dev/liter-llm/tree/main/crates/liter-llm-ffi">
46
+ <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C FFI" />
47
+ </a>
48
+
49
+ <!-- Project Info -->
50
+ <a href="https://github.com/kreuzberg-dev/liter-llm/blob/main/LICENSE">
51
+ <img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License" />
52
+ </a>
53
+ <a href="https://docs.liter-llm.kreuzberg.dev">
54
+ <img src="https://img.shields.io/badge/Docs-liter--llm-007ec6" alt="Docs" />
55
+ </a>
56
+ </div>
57
+ <div align="center" style="margin: 24px 0 0">
58
+ <a href="https://kreuzberg.dev">
59
+ <img
60
+ alt="kreuzberg.dev"
61
+ src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8"
62
+ />
63
+ </a>
64
+ </div>
65
+ <div align="center" style="display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 24px">
66
+ <a href="https://discord.gg/xt9WY3GnKR">
67
+ <img
68
+ height="22"
69
+ src="https://img.shields.io/badge/Discord-Chat-007ec6?logo=discord&logoColor=white"
70
+ alt="Join Discord"
71
+ />
72
+ </a>
73
+ </div>
74
+
75
+ Universal LLM API client for Ruby. Access 143+ LLM providers through a single interface with idiomatic Ruby API and native performance.
76
+
77
+ ## What This Package Provides
78
+
79
+ - **One provider surface** — chat, streaming, embeddings, images, audio, search, OCR, tools, and structured output across the provider registry.
80
+ - **Provider/model routing** — call models with the `provider/model` convention and keep provider-specific request code out of application paths.
81
+ - **Production controls** — retries, fallback, rate limits, cache layers, budgets, health checks, OpenTelemetry spans, and redacted secrets.
82
+ - **Same core as every binding** — Rust, Python, Node.js, Go, Java, PHP, Ruby, .NET, Elixir, WASM, Kotlin Android, Swift, Dart, Zig, and C FFI use the same Rust implementation.
83
+ - **Ruby package** — native extension with idiomatic Ruby request and response objects.
84
+
85
+ ## Installation
86
+
87
+ ### Package Installation
88
+
89
+ Install via one of the supported package managers:
90
+
91
+ **gem:**
92
+
93
+ ```bash
94
+ gem install liter_llm
95
+ ```
96
+
97
+ **Bundler:**
98
+
99
+ ```ruby
100
+ gem 'liter_llm'
101
+ ```
102
+
103
+ ### System Requirements
104
+
105
+ - **Ruby 3.2+** required
106
+ - API keys via environment variables (e.g. `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`)
107
+
108
+ ## Quick Start
109
+
110
+ ### Basic Chat
111
+
112
+ Send a message to any provider using the `provider/model` prefix:
113
+
114
+ ```ruby
115
+ # frozen_string_literal: true
116
+
117
+ require 'liter_llm'
118
+
119
+ client = LiterLlm.create_client(ENV.fetch('OPENAI_API_KEY'))
120
+
121
+ result = client.chat_async(
122
+ LiterLlm::ChatCompletionRequest.new(
123
+ model: 'openai/gpt-4o-mini',
124
+ messages: [{ 'role' => 'user', 'content' => 'Hello!' }]
125
+ )
126
+ )
127
+
128
+ puts result.choices[0].message.content
129
+ ```
130
+
131
+ ### Common Use Cases
132
+
133
+ #### Streaming Responses
134
+
135
+ Stream tokens in real time:
136
+
137
+ ```ruby
138
+ # frozen_string_literal: true
139
+
140
+ require 'liter_llm'
141
+
142
+ client = LiterLlm.create_client(ENV.fetch('OPENAI_API_KEY'))
143
+
144
+ client.chat_stream(
145
+ LiterLlm::ChatCompletionRequest.new(
146
+ model: 'openai/gpt-4o-mini',
147
+ messages: [{ 'role' => 'user', 'content' => 'Count from 1 to 5.' }],
148
+ stream: true
149
+ )
150
+ ) do |chunk|
151
+ delta = chunk.choices && chunk.choices[0] && chunk.choices[0].delta
152
+ print delta.content if delta && delta.content
153
+ end
154
+ puts
155
+ ```
156
+
157
+ ### Next Steps
158
+
159
+ - **[Provider Registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)** - Full list of supported providers
160
+ - **[GitHub Repository](https://github.com/kreuzberg-dev/liter-llm)** - Source, issues, and discussions
161
+
162
+ ## Features
163
+
164
+ ### Supported Providers (143+)
165
+
166
+ Route to any provider using the `provider/model` prefix convention:
167
+
168
+ | Provider | Example Model |
169
+ | ------------------ | ------------------------------------------------------------- |
170
+ | **OpenAI** | `openai/gpt-4o`, `openai/gpt-4o-mini` |
171
+ | **Anthropic** | `anthropic/claude-3-5-sonnet-20241022` |
172
+ | **Groq** | `groq/llama-3.1-70b-versatile` |
173
+ | **Mistral** | `mistral/mistral-large-latest` |
174
+ | **Cohere** | `cohere/command-r-plus` |
175
+ | **Together AI** | `together/meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo` |
176
+ | **Fireworks** | `fireworks/accounts/fireworks/models/llama-v3p1-70b-instruct` |
177
+ | **Google Vertex** | `vertexai/gemini-1.5-pro` |
178
+ | **Amazon Bedrock** | `bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0` |
179
+
180
+ **[Complete Provider List](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)**
181
+
182
+ ### Key Capabilities
183
+
184
+ - **Provider Routing** -- Single client for 143+ LLM providers via `provider/model` prefix
185
+ - **Local LLMs** — Connect to locally-hosted models via Ollama, LM Studio, vLLM, llama.cpp, and other local inference servers
186
+ - **Unified API** -- Consistent `chat`, `chat_stream`, `embeddings`, `list_models` interface
187
+ - **Streaming** -- Real-time token streaming via `chat_stream`
188
+ - **Tool Calling** -- Function calling and tool use across all supporting providers
189
+ - **Type Safe** -- Schema-driven types compiled from JSON schemas
190
+ - **Secure** -- API keys never logged or serialized, managed via environment variables
191
+ - **Observability** -- Built-in [OpenTelemetry](https://opentelemetry.io/docs/specs/semconv/gen-ai/) with GenAI semantic conventions
192
+ - **Error Handling** -- Structured errors with provider context and retry hints
193
+
194
+ ### Performance
195
+
196
+ Built on a compiled Rust core for speed and safety:
197
+
198
+ - **Provider resolution** at client construction -- zero per-request overhead
199
+ - **Configurable timeouts** and connection pooling
200
+ - **Zero-copy streaming** with SSE and AWS EventStream support
201
+ - **API keys** wrapped in secure memory, zeroed on drop
202
+
203
+ ## Provider Routing
204
+
205
+ Route to 143+ providers using the `provider/model` prefix convention:
206
+
207
+ ```text
208
+ openai/gpt-4o
209
+ anthropic/claude-3-5-sonnet-20241022
210
+ groq/llama-3.1-70b-versatile
211
+ mistral/mistral-large-latest
212
+ ```
213
+
214
+ See the [provider registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json) for the full list.
215
+
216
+ ## Proxy Server
217
+
218
+ liter-llm also ships as an OpenAI-compatible proxy server with Docker support:
219
+
220
+ ```bash
221
+ docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-dev/liter-llm
222
+ ```
223
+
224
+ See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy-server/) for configuration, CLI usage, and MCP integration.
225
+
226
+ ## Documentation
227
+
228
+ - **[Documentation](https://docs.liter-llm.kreuzberg.dev)** -- Full docs and API reference
229
+ - **[GitHub Repository](https://github.com/kreuzberg-dev/liter-llm)** -- Source, issues, and discussions
230
+ - **[Provider Registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)** -- 143 supported providers
231
+
232
+ ## Part of Kreuzberg.dev
233
+
234
+ - [Kreuzberg](https://github.com/kreuzberg-dev/kreuzberg) — document intelligence: text, tables, metadata from 90+ formats with optional OCR.
235
+ - [Kreuzberg Cloud](https://github.com/kreuzberg-dev/kreuzberg-cloud) — managed extraction API with SDKs, dashboards, and observability.
236
+ - [kreuzcrawl](https://github.com/kreuzberg-dev/kreuzcrawl) — web crawling and scraping with HTML→Markdown and headless-Chrome fallback.
237
+ - [html-to-markdown](https://github.com/kreuzberg-dev/html-to-markdown) — fast, lossless HTML→Markdown engine.
238
+ - [tree-sitter-language-pack](https://github.com/kreuzberg-dev/tree-sitter-language-pack) — tree-sitter grammars and code-intelligence primitives.
239
+ - [alef](https://github.com/kreuzberg-dev/alef) — the polyglot binding generator that produces this README and all per-language bindings.
240
+ - [Discord](https://discord.gg/xt9WY3GnKR) — community, roadmap, announcements.
241
+
242
+ ## Contributing
243
+
244
+ Contributions are welcome! See [CONTRIBUTING.md](https://github.com/kreuzberg-dev/liter-llm/blob/main/CONTRIBUTING.md) for guidelines.
245
+
246
+ Join our [Discord community](https://discord.gg/xt9WY3GnKR) for questions and discussion.
247
+
248
+ ## License
249
+
250
+ MIT -- see [LICENSE](https://github.com/kreuzberg-dev/liter-llm/blob/main/LICENSE) for details.
@@ -422,9 +422,9 @@ dependencies = [
422
422
 
423
423
  [[package]]
424
424
  name = "compact_str"
425
- version = "0.9.0"
425
+ version = "0.9.1"
426
426
  source = "registry+https://github.com/rust-lang/crates.io-index"
427
- checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a"
427
+ checksum = "9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab"
428
428
  dependencies = [
429
429
  "castaway",
430
430
  "cfg-if",
@@ -774,9 +774,9 @@ dependencies = [
774
774
 
775
775
  [[package]]
776
776
  name = "displaydoc"
777
- version = "0.2.5"
777
+ version = "0.2.6"
778
778
  source = "registry+https://github.com/rust-lang/crates.io-index"
779
- checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
779
+ checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
780
780
  dependencies = [
781
781
  "proc-macro2",
782
782
  "quote",
@@ -1662,9 +1662,9 @@ checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
1662
1662
 
1663
1663
  [[package]]
1664
1664
  name = "liter-llm"
1665
- version = "1.4.0-rc.34"
1665
+ version = "1.4.0-rc.35"
1666
1666
  source = "registry+https://github.com/rust-lang/crates.io-index"
1667
- checksum = "c7035d8b7780f5dde50306a77880e602c87c11f939eb051d3e5342a6b8ba9c02"
1667
+ checksum = "94d335ec355f627984aeb293a7a9fd989f3054a5a586c5fda18675b50a4c33b7"
1668
1668
  dependencies = [
1669
1669
  "aws-credential-types",
1670
1670
  "aws-sigv4",
@@ -1696,7 +1696,7 @@ dependencies = [
1696
1696
 
1697
1697
  [[package]]
1698
1698
  name = "liter-llm-rb"
1699
- version = "1.4.0-rc.34"
1699
+ version = "1.4.0-rc.35"
1700
1700
  dependencies = [
1701
1701
  "futures",
1702
1702
  "liter-llm",
@@ -1781,9 +1781,9 @@ dependencies = [
1781
1781
 
1782
1782
  [[package]]
1783
1783
  name = "memchr"
1784
- version = "2.8.0"
1784
+ version = "2.8.1"
1785
1785
  source = "registry+https://github.com/rust-lang/crates.io-index"
1786
- checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
1786
+ checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
1787
1787
 
1788
1788
  [[package]]
1789
1789
  name = "mime"
@@ -1,11 +1,11 @@
1
1
  [package]
2
2
  name = "liter-llm-rb"
3
- version = "1.4.0-rc.34"
3
+ version = "1.4.0-rc.35"
4
4
  edition = "2024"
5
5
  license = "MIT"
6
6
  description = "Universal LLM API client with Rust-powered polyglot bindings."
7
7
  readme = false
8
- keywords = ["llm", "api-client", "openai", "anthropic"]
8
+ keywords = ["anthropic", "api-client", "llm", "openai"]
9
9
  categories = ["text-processing"]
10
10
 
11
11
  [lib]
@@ -15,8 +15,10 @@ crate-type = ["cdylib"]
15
15
 
16
16
  [dependencies]
17
17
  futures = "0.3"
18
- liter-llm = { version = "1.4.0-rc.34", features = ["native-http", "full"] }
18
+ liter-llm = { version = "1.4.0-rc.35", features = ["native-http", "full"] }
19
19
  magnus = "0.8"
20
20
  serde = { version = "1", features = ["derive"] }
21
21
  serde_json = "1"
22
22
  tokio = { version = "1", features = ["rt-multi-thread"] }
23
+ [package.metadata.cargo-machete]
24
+ ignored = ["tokio", "futures"]
@@ -1,5 +1,5 @@
1
1
  // This file is auto-generated by alef. DO NOT EDIT.
2
- // alef:hash:ff001a34677270a79d00a1ffa51eeddf196a06f50a142f13a6fa898976f9c134
2
+ // alef:hash:1092daa0fbc38cf7a1c90013148ab02544a6fa0c536f51a40ee4ecd73d379f4a
3
3
  // Re-generate with: alef generate
4
4
  #![allow(dead_code, unused_imports, unused_variables)]
5
5
  #![allow(
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:d7ebc889faf1ad5e0b0b7d8d28e5cb721652476ad7f37bd8bb22af480f1a8b10
2
+ # alef:hash:391745b92bff8c01fac6d4124476a90d007898a8be2711b4bfd4a3344c41bc54
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # Issues & docs: https://github.com/kreuzberg-dev/alef
@@ -1,10 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:e5d338fe2e959b094ec11cac3f8a259186dd6eb8fd7707ba9bbef8d03d8fc019
2
+ # alef:hash:bb7458b7d52483b32af60b8a6a7acd4b4e8f60863fe557b5ca44065f5617e1d6
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # Issues & docs: https://github.com/kreuzberg-dev/alef
6
6
  # frozen_string_literal: true
7
7
 
8
8
  module LiterLlm
9
- VERSION = "1.4.0.pre.rc.34"
9
+ VERSION = "1.4.0.pre.rc.35"
10
10
  end
data/lib/liter_llm.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:1bfbc98e9f45f9c4ddb5c1c3632aebdfb3f458e41d1c752045804068e525fd35
2
+ # alef:hash:0264c78490a6a0e6414ce7345d2876c2257ba60a9919b0995dc80ce8be08956d
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # Issues & docs: https://github.com/kreuzberg-dev/alef
data/sig/types.rbs CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:c8320fb97fa826de1a7bdb8da29f7e564c40e20844521c8ef6fa5c35f85d017a
2
+ # alef:hash:332d48c060ab6ab903b77b2e89f63df7bd6ff430af5b635cae5e9b8fbeaa074e
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # Issues & docs: https://github.com/kreuzberg-dev/alef
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liter_llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0.pre.rc.34
4
+ version: 1.4.0.pre.rc.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Na'aman Hirschfeld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-05-26 00:00:00.000000000 Z
11
+ date: 2026-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys
@@ -45,6 +45,8 @@ extensions:
45
45
  - ext/liter_llm_rb/extconf.rb
46
46
  extra_rdoc_files: []
47
47
  files:
48
+ - LICENSE
49
+ - README.md
48
50
  - Steepfile
49
51
  - ext/liter_llm_rb/extconf.rb
50
52
  - ext/liter_llm_rb/native/Cargo.lock
@@ -58,7 +60,7 @@ homepage: https://github.com/kreuzberg-dev/liter-llm
58
60
  licenses:
59
61
  - MIT
60
62
  metadata:
61
- keywords: llm,api-client,openai,anthropic
63
+ keywords: anthropic,api-client,llm,openai
62
64
  rubygems_mfa_required: 'true'
63
65
  post_install_message:
64
66
  rdoc_options: []