vectra-client 0.1.3 → 0.2.1

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: a5178426c0bbeb2d61b133c1709651ddc84e615170949e5d11e956083d068d73
4
- data.tar.gz: 31b847b027651eeb71c5befa3e1ddf2fc385afb57efed9fe4ecaf3b8e99d27f6
3
+ metadata.gz: 6c00aee137978894b5722853a5aa6419c76a4613fd07e7b772df83c0ffddcebd
4
+ data.tar.gz: 92f2e588d62520f695d59feaf74d6e1787efc8c1044cf92a8cf94251dcd9ce3a
5
5
  SHA512:
6
- metadata.gz: 2349f255c5bc410c19a19400989f39e0d91ad7e47892d5480e07be2bf88947763ad373057999ccfe321bb0bed585e48124f9d2f2c63bc672593bee34765cfd12
7
- data.tar.gz: d1162814a0e8b8900f1894800e320302628b44a156ba2bc7e3cdc1fb9804daa9a4232e2a0056c9b377a67e45868ca5cc1684caa3f8cad98a8aa844c0f7b89d0a
6
+ metadata.gz: df1fa8e851978d7167e55d1df5d8718a01923b533ea10d314c24a570f84c1440dcb41bcad20ab9226206d742f03b8f3deb8aaf34d327f63fe5744345a9827127
7
+ data.tar.gz: 0f10f1ffa2f782f018d94d9c24a2311662ee4256f7c68495d233eb018220a023df5732e2fb541d302624ac543928d957f6ed6adb6bf34efe50e31a1f231c7d54
data/.rubocop.yml CHANGED
@@ -10,6 +10,7 @@ AllCops:
10
10
  - 'tmp/**/*'
11
11
  - 'bin/**/*'
12
12
  - 'node_modules/**/*'
13
+ - 'lib/generators/**/templates/**/*'
13
14
 
14
15
  # Layout
15
16
  Layout/LineLength:
@@ -26,14 +27,18 @@ Metrics/BlockLength:
26
27
  - 'spec/**/*'
27
28
  - 'vectra.gemspec'
28
29
  - 'Rakefile'
30
+ - 'benchmarks/**/*'
31
+ ExcludedMethods:
32
+ - 'included'
33
+ - 'class_methods'
29
34
 
30
35
  Metrics/MethodLength:
31
- Max: 25
36
+ Max: 30
32
37
  Exclude:
33
38
  - 'spec/**/*'
34
39
 
35
40
  Metrics/AbcSize:
36
- Max: 25
41
+ Max: 30
37
42
  Exclude:
38
43
  - 'spec/**/*'
39
44
 
@@ -103,6 +108,9 @@ Naming/MethodParameterName:
103
108
  Lint/MissingSuper:
104
109
  Enabled: false # Allow classes without super calls
105
110
 
111
+ Lint/ScriptPermission:
112
+ Enabled: false
113
+
106
114
  # RSpec specific
107
115
  RSpec/ExampleLength:
108
116
  Max: 15
@@ -174,10 +182,22 @@ RSpec/LeadingSubject:
174
182
  Enabled: false
175
183
 
176
184
  RSpec/ExampleLength:
177
- Max: 20
185
+ Max: 25
178
186
 
179
187
  RSpec/MultipleExpectations:
180
188
  Max: 10
181
189
 
190
+ RSpec/NamedSubject:
191
+ Enabled: false
192
+
193
+ RSpec/SubjectStub:
194
+ Enabled: false
195
+
196
+ RSpec/DescribedClass:
197
+ Enabled: false
198
+
199
+ Naming/PredicateName:
200
+ Enabled: false # Allow has_vector DSL method
201
+
182
202
  Gemspec/OrderedDependencies:
183
203
  Enabled: false
data/CHANGELOG.md CHANGED
@@ -7,6 +7,56 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.1] - 2025-01-08
11
+
12
+ ### Added
13
+
14
+ - **Qdrant Provider** - Full Qdrant vector database support:
15
+ - Vector upsert, query, fetch, update, delete operations
16
+ - Collection management (create, list, describe, delete)
17
+ - Multiple similarity metrics: cosine, euclidean, dot product
18
+ - Namespace support via payload filtering
19
+ - Advanced metadata filtering with Qdrant operators ($eq, $ne, $gt, $gte, $lt, $lte, $in, $nin)
20
+ - Automatic point ID hashing for string IDs
21
+ - Support for both local and cloud Qdrant instances
22
+ - Optional API key authentication for local deployments
23
+
24
+ ### Improved
25
+
26
+ - Enhanced error handling with `Faraday::RetriableResponse` support
27
+ - Configuration now allows optional API key for Qdrant and pgvector (local instances)
28
+ - Better retry middleware integration across all providers
29
+
30
+ ### Provider Support
31
+
32
+ - ✅ Pinecone - Fully implemented
33
+ - ✅ pgvector (PostgreSQL) - Fully implemented
34
+ - ✅ Qdrant - Fully implemented
35
+ - 🚧 Weaviate - Stub implementation (planned for v0.3.0)
36
+
37
+ ## [0.2.0] - 2025-01-08
38
+
39
+ ### Added
40
+
41
+ - **Instrumentation & Monitoring** - Track all vector operations with New Relic, Datadog, or custom handlers
42
+ - **ActiveRecord Integration** - `has_vector` DSL for seamless Rails model integration with automatic indexing
43
+ - **Rails Generator** - `rails generate vectra:install` for quick setup
44
+ - **Automatic Retry Logic** - Exponential backoff with jitter for transient database errors
45
+ - **Performance Benchmarks** - Measure batch operations and connection pooling performance
46
+ - **Comprehensive Documentation** - USAGE_EXAMPLES.md, IMPLEMENTATION_GUIDE.md with 10+ real-world examples
47
+
48
+ ### Improved
49
+
50
+ - All Client methods now instrumented (upsert, query, fetch, update, delete)
51
+ - pgvector Connection module includes retry logic with smart error detection
52
+ - Configuration expanded with instrumentation, pool_size, batch_size, max_retries options
53
+
54
+ ### Documentation
55
+
56
+ - Added USAGE_EXAMPLES.md with e-commerce search, RAG chatbot, duplicate detection examples
57
+ - Added IMPLEMENTATION_GUIDE.md for developers implementing new features
58
+ - Added NEW_FEATURES_v0.2.0.md with migration guide
59
+
10
60
  ## [0.1.1] - 2025-01-07
11
61
 
12
62
  ### Added
@@ -26,13 +76,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
26
76
  - Updated gemspec description to include pgvector
27
77
  - Added `pg` gem as development dependency
28
78
 
29
- ### Provider Support
30
-
31
- - ✅ Pinecone - Fully implemented
32
- - ✅ pgvector (PostgreSQL) - Fully implemented
33
- - 🚧 Qdrant - Stub implementation (planned for v0.2.0)
34
- - 🚧 Weaviate - Stub implementation (planned for v0.3.0)
35
-
36
79
  ## [0.1.0] - 2024-XX-XX
37
80
 
38
81
  ### Added
@@ -66,13 +109,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66
109
 
67
110
  ## Planned
68
111
 
69
- ### [0.2.0]
70
-
71
- - Qdrant provider implementation
72
- - Enhanced error messages
73
- - Connection pooling
74
- - Improved retry strategies
75
-
76
112
  ### [0.3.0]
77
113
 
78
114
  - Weaviate provider implementation