epsilla-ruby 0.0.2 → 0.0.4
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 +4 -4
- data/README.md +3 -1
- data/epsilla.gemspec +94 -0
- data/examples/hello_epsilla.rb +4 -0
- data/lib/epsilla/database.rb +13 -0
- data/lib/epsilla/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ec99c8b07778663d894ff6fd745a434fc38777314f2f5db1159edc854f2b980
|
4
|
+
data.tar.gz: abab61ae4eb6ce9f8d09fed22d946413308804b3faca5da244a75aea93750a6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d78ee69fdeee4aba9fce1671f590606ba7e8a212944580c2cd83b73cb96331f62a0b03b47d8f4fce8d2ed3fbc961e05e885d871ab11183e69a1f74cd4f4f41b
|
7
|
+
data.tar.gz: 6d689607f4fdfd0b07ec9c673f02601986aa0baf0ae6fb76ec2b451a94ffbdea79ef592e7aa42d8b469f9720db08b5a71aee064e09c9441c49a8081924fb82a0
|
data/README.md
CHANGED
@@ -80,4 +80,6 @@ puts status_code, response
|
|
80
80
|
```
|
81
81
|
|
82
82
|
## Contributing
|
83
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/epsilla-cloud/epsilla-ruby
|
83
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/epsilla-cloud/epsilla-ruby-client
|
84
|
+
|
85
|
+
If you have any question or problem, please join our discord https://discord.com/invite/cDaY2CxZc5
|
data/epsilla.gemspec
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/epsilla/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "epsilla"
|
7
|
+
spec.version = Epsilla::VERSION
|
8
|
+
spec.authors = ["Epsilla Team"]
|
9
|
+
spec.email = ["eric@epsilla.com"]
|
10
|
+
|
11
|
+
spec.summary = "Ruby client for Epsilla Vector Database"
|
12
|
+
spec.description = "EpsillaDB is a scalable, high-performance, and cost-effective vector database"
|
13
|
+
spec.homepage = "https://github.com/epsilla-cloud/vectordb"
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.required_ruby_version = ">= 2.6.0"
|
16
|
+
|
17
|
+
# spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
|
18
|
+
|
19
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
20
|
+
spec.metadata["source_code_uri"] = "https://github.com/epsilla-cloud/epsilla-ruby-client"
|
21
|
+
spec.metadata["changelog_uri"] = "https://github.com/epsilla-cloud/epsilla-ruby-client/blob/main/CHANGELOG.md"
|
22
|
+
|
23
|
+
# Specify which files should be added to the gem when it is released.
|
24
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
25
|
+
spec.files = Dir.chdir(__dir__) do
|
26
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
27
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor|Gemfile)})
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
spec.bindir = "exe"
|
32
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
33
|
+
spec.require_paths = ["lib"]
|
34
|
+
|
35
|
+
# Uncomment to register a new dependency of your gem
|
36
|
+
# spec.add_dependency "example-gem", "~> 1.0"
|
37
|
+
spec.add_dependency "faraday", ">= 1"
|
38
|
+
|
39
|
+
# For more information and examples about making a new gem, check out our
|
40
|
+
# guide at: https://bundler.io/guides/creating_gem.html
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
# lib = File.expand_path("../lib", __FILE__)
|
55
|
+
# $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
56
|
+
# require "epsilla/version"
|
57
|
+
|
58
|
+
# Gem::Specification.new do |spec|
|
59
|
+
# spec.name = "epsilla"
|
60
|
+
# spec.version = Epsilla::VERSION
|
61
|
+
# spec.authors = ["Epsilla Team"]
|
62
|
+
# spec.email = ["eric@epsilla.com", "admin@epsilla.com"]
|
63
|
+
|
64
|
+
# spec.summary = "A scalable, high-performance, and cost-effective vector database"
|
65
|
+
# spec.description = "A scalable, high-performance, and cost-effective vector database"
|
66
|
+
# spec.homepage = "https://github.com/epsilla-cloud/vectordb"
|
67
|
+
# spec.license = "MIT"
|
68
|
+
# # spec.required_ruby_version = ">= 3.0.0"
|
69
|
+
|
70
|
+
# # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
71
|
+
# # to allow pushing to a single host or delete this section to allow pushing to any host.
|
72
|
+
# if spec.respond_to?(:metadata)
|
73
|
+
# #spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
74
|
+
# spec.metadata["homepage_uri"] = spec.homepage
|
75
|
+
# spec.metadata["source_code_uri"] = "https://github.com/eric-epsilla/epsilla-ruby"
|
76
|
+
# spec.metadata["changelog_uri"] = "https://github.com/eric-epsilla/epsilla-ruby"
|
77
|
+
# else
|
78
|
+
# raise "RubyGems 3.0 or newer is required to protect against " \
|
79
|
+
# "public gem pushes."
|
80
|
+
# end
|
81
|
+
|
82
|
+
# # Specify which files should be added to the gem when it is released.
|
83
|
+
# # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
84
|
+
# spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
85
|
+
# `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
86
|
+
# end
|
87
|
+
# spec.bindir = "exe"
|
88
|
+
# spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
89
|
+
# spec.require_paths = ["lib"]
|
90
|
+
|
91
|
+
# spec.add_dependency "faraday", "~> 1"
|
92
|
+
# spec.add_development_dependency "bundler", "~> 1.17"
|
93
|
+
# end
|
94
|
+
|
data/examples/hello_epsilla.rb
CHANGED
@@ -30,6 +30,10 @@ table_fields= [
|
|
30
30
|
status_code, response = client.database.create_table(table_name="MyTable", table_fields=table_fields)
|
31
31
|
puts status_code, response
|
32
32
|
|
33
|
+
# List tables
|
34
|
+
status_code, response = client.database.list_tables()
|
35
|
+
puts status_code, response
|
36
|
+
|
33
37
|
# Insert new vector records into table
|
34
38
|
table_records = [
|
35
39
|
{"ID" => 1, "Doc" => "Berlin", "Embedding" => [0.05, 0.61, 0.76, 0.74]},
|
data/lib/epsilla/database.rb
CHANGED
@@ -45,6 +45,19 @@ module Epsilla
|
|
45
45
|
return response.status, response.body
|
46
46
|
end
|
47
47
|
|
48
|
+
# get a list of table names in current DB
|
49
|
+
def list_tables()
|
50
|
+
unless @db_name
|
51
|
+
raise Exception("[ERROR] Please use_db() first!")
|
52
|
+
end
|
53
|
+
|
54
|
+
response = client.connection.post do |req|
|
55
|
+
req.url "/api/#{@db_name}/schema/tables/show"
|
56
|
+
end
|
57
|
+
|
58
|
+
return response.status, response.body
|
59
|
+
end
|
60
|
+
|
48
61
|
# insert data into table
|
49
62
|
def insert(table_name = "MyTable", table_records = nil)
|
50
63
|
unless @db_name
|
data/lib/epsilla/version.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epsilla-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Epsilla Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1'
|
27
27
|
description: EpsillaDB is a scalable, high-performance, and cost-effective vector
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- CHANGELOG.md
|
36
36
|
- README.md
|
37
37
|
- Rakefile
|
38
|
+
- epsilla.gemspec
|
38
39
|
- examples/hello_epsilla.rb
|
39
40
|
- lib/epsilla.rb
|
40
41
|
- lib/epsilla/base.rb
|