vecsai 0.1.0__tar.gz

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.
vecsai-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,14 @@
1
+ Metadata-Version: 2.4
2
+ Name: vecsai
3
+ Version: 0.1.0
4
+ Summary: Vecsai: vector db for everyone
5
+ Author: Vecsai Team
6
+ Requires-Python: >=3.6
7
+ Requires-Dist: requests>=2.25.1
8
+ Dynamic: author
9
+ Dynamic: description
10
+ Dynamic: requires-dist
11
+ Dynamic: requires-python
12
+ Dynamic: summary
13
+
14
+ A Python client for vecsai-db
vecsai-0.1.0/README.md ADDED
File without changes
vecsai-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
vecsai-0.1.0/setup.py ADDED
@@ -0,0 +1,14 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ setup(
4
+ name="vecsai",
5
+ version="0.1.0",
6
+ author="Vecsai Team",
7
+ packages=find_packages(),
8
+ install_requires=[
9
+ "requests>=2.25.1",
10
+ ],
11
+ description="Vecsai: vector db for everyone",
12
+ long_description="A Python client for vecsai-db",
13
+ python_requires='>=3.6',
14
+ )
File without changes
@@ -0,0 +1,44 @@
1
+ import requests
2
+
3
+ class VecsaiClient:
4
+ def __init__(self, host="localhost", port=8108):
5
+ self.base_url = f"http://{host}:{port}"
6
+ self.headers = {"Content-Type": "application/json"}
7
+
8
+ def health(self):
9
+ """curl http://localhost:8108/health"""
10
+ return requests.get(f"{self.base_url}/health").json()
11
+
12
+ def create_collection(self, schema):
13
+ """Koleksiyon oluşturma"""
14
+ url = f"{self.base_url}/collections"
15
+ return requests.post(url, json=schema, headers=self.headers).json()
16
+
17
+ def add_document(self, collection_name, document):
18
+ """Tekil doküman ekleme"""
19
+ url = f"{self.base_url}/collections/{collection_name}/documents"
20
+ return requests.post(url, json=document, headers=self.headers).json()
21
+
22
+ def upload_csv(self, collection_name, file_path, action="create"):
23
+ """
24
+ Görseldeki endpoint: multipart/form-data kullanarak CSV yükler.
25
+ """
26
+ url = f"{self.base_url}/collections/{collection_name}/documents/upload"
27
+ params = {"action": action, "format": "csv"}
28
+
29
+ with open(file_path, 'rb') as f:
30
+ files = {'file': f}
31
+ # requests, files parametresi verildiğinde Content-Type'ı
32
+ # otomatik olarak multipart/form-data yapar.
33
+ response = requests.post(url, params=params, files=files)
34
+
35
+ return response.json()
36
+
37
+ def search(self, collection_name, q, query_by, filter_by=None):
38
+ """Arama ve filtreleme"""
39
+ url = f"{self.base_url}/collections/{collection_name}/documents/search"
40
+ params = {'q': q, 'query_by': query_by}
41
+ if filter_by:
42
+ params['filter_by'] = filter_by
43
+
44
+ return requests.get(url, params=params).json()
@@ -0,0 +1,14 @@
1
+ Metadata-Version: 2.4
2
+ Name: vecsai
3
+ Version: 0.1.0
4
+ Summary: Vecsai: vector db for everyone
5
+ Author: Vecsai Team
6
+ Requires-Python: >=3.6
7
+ Requires-Dist: requests>=2.25.1
8
+ Dynamic: author
9
+ Dynamic: description
10
+ Dynamic: requires-dist
11
+ Dynamic: requires-python
12
+ Dynamic: summary
13
+
14
+ A Python client for vecsai-db
@@ -0,0 +1,9 @@
1
+ README.md
2
+ setup.py
3
+ vecsai/__init__.py
4
+ vecsai/client.py
5
+ vecsai.egg-info/PKG-INFO
6
+ vecsai.egg-info/SOURCES.txt
7
+ vecsai.egg-info/dependency_links.txt
8
+ vecsai.egg-info/requires.txt
9
+ vecsai.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ requests>=2.25.1
@@ -0,0 +1 @@
1
+ vecsai