mixpeek 0.6.26__py3-none-any.whl → 0.6.28__py3-none-any.whl

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.
mixpeek/client.py CHANGED
@@ -11,7 +11,7 @@ from .endpoints.pipelines import Pipelines
11
11
  class Mixpeek:
12
12
  def __init__(self, api_key: str):
13
13
  self.api_key = api_key
14
- self.base_url = "http://localhost:8000/"
14
+ self.base_url = "https://api.mixpeek.com/"
15
15
  self.headers = {
16
16
  "Authorization": f"Bearer {self.api_key}",
17
17
  "Content-Type": "application/json"
@@ -19,6 +19,8 @@ class Mixpeek:
19
19
  self.extract = Extract(self.base_url, self.headers)
20
20
  self.embed = Embed(self.base_url, self.headers)
21
21
  self.generate = Generate(self.base_url, self.headers)
22
- self.connections = Connections(self.base_url, self.headers)
22
+
23
+ # we include api_key as well because the header is different for upload
24
+ self.connections = Connections(self.base_url, self.headers, self.api_key)
23
25
  self.tools = Tools(self.base_url, self.headers)
24
26
  self.pipelines = Pipelines(self.base_url, self.headers)
@@ -1,10 +1,13 @@
1
1
  import requests
2
+ import os
2
3
 
3
4
  class Connections:
4
- def __init__(self, base_url, headers):
5
+ def __init__(self, base_url, headers, api_key):
5
6
  self.base_url = base_url
6
7
  self.headers = headers
8
+ self.api_key = api_key
7
9
  self.data = self.Data(self)
10
+ self.storage = self.Storage(self)
8
11
 
9
12
  def create(self, alias: str, engine: str, details: dict):
10
13
  url = f"{self.base_url}connections/"
@@ -16,16 +19,51 @@ class Connections:
16
19
  response = requests.post(url, json=data, headers=self.headers)
17
20
  return response.json()
18
21
 
19
- # mixpeek.connections.data.insert(connection_id="123", payload={"key": "value"})
20
22
  class Data:
21
23
  def __init__(self, parent):
22
24
  self.base_url = parent.base_url
23
25
  self.headers = parent.headers
24
26
 
27
+ # mixpeek.connections.data.insert(connection_id="123", payload={"key": "value"})
25
28
  def insert(self, connection_id: str, payload: list):
26
29
  pass
27
30
 
31
+ # mixpeek.connections.data.delete(connection_id="123", filters={"key": "value"})
28
32
  def delete(self, connection_id: str, filters: dict):
29
33
  pass
34
+
35
+ # mixpeek.connections.data.upsert(connection_id="123", payload={"key": "value"}, filters={"key": "value"})
36
+ def upsert(self, connection_id: str, payload: dict, filters: dict):
37
+ pass
38
+
39
+
40
+ class Storage:
41
+ def __init__(self, parent):
42
+ self.base_url = parent.base_url
43
+ self.headers = parent.headers
44
+ self.api_key = parent.api_key
45
+
46
+ def upload(self, connection_id: str, file_path: str):
47
+ url = f"{self.base_url}connections/storage?connection_id={connection_id}"
48
+
49
+ files=[
50
+ ('file',(os.path.basename(file_path),open(file_path,'rb'),'application/octet-stream'))
51
+ ]
52
+ headers = {
53
+ 'Authorization': f'Bearer {self.api_key}'
54
+ }
55
+
56
+ response = requests.request("POST", url, headers=headers, files=files)
57
+
58
+ return response.json()
59
+
60
+
61
+ # mixpeek.connections.storage.delete(connection_id="123", file_name="example.txt")
62
+ def delete(self, connection_id: str, file_name: str):
63
+ url = f"{self.base_url}storage/{connection_id}/delete/{file_name}"
64
+ response = requests.delete(url, headers=self.headers)
65
+ return response.json()
66
+
67
+
30
68
 
31
69
 
@@ -5,12 +5,51 @@ class Extract:
5
5
  self.base_url = base_url
6
6
  self.headers = headers
7
7
 
8
- def extract(self, input: str, input_type: str, modality: str = None):
8
+ def automatic(self, input: str, input_type: str):
9
9
  url = f"{self.base_url}extract/"
10
10
  data = {
11
- "modality": modality,
12
11
  "input": input,
13
12
  "input_type": input_type
14
13
  }
15
14
  response = requests.post(url, json=data, headers=self.headers)
16
15
  return response.json()
16
+
17
+ def video(self, input: str, input_type: str):
18
+ url = f"{self.base_url}extract/"
19
+ data = {
20
+ "modality": "video",
21
+ "input": input,
22
+ "input_type": input_type
23
+ }
24
+ response = requests.post(url, json=data, headers=self.headers)
25
+ return response.json()
26
+
27
+ def audio(self, input: str, input_type: str):
28
+ url = f"{self.base_url}extract/"
29
+ data = {
30
+ "modality": "audio",
31
+ "input": input,
32
+ "input_type": input_type
33
+ }
34
+ response = requests.post(url, json=data, headers=self.headers)
35
+ return response.json()
36
+
37
+ def image(self, input: str, input_type: str):
38
+ url = f"{self.base_url}extract/"
39
+ data = {
40
+ "modality": "image",
41
+ "input": input,
42
+ "input_type": input_type
43
+ }
44
+ response = requests.post(url, json=data, headers=self.headers)
45
+ return response.json()
46
+
47
+ def text(self, input: str, input_type: str):
48
+ url = f"{self.base_url}extract/"
49
+ data = {
50
+ "modality": "text",
51
+ "input": input,
52
+ "input_type": input_type
53
+ }
54
+ response = requests.post(url, json=data, headers=self.headers)
55
+ return response.json()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mixpeek
3
- Version: 0.6.26
3
+ Version: 0.6.28
4
4
  Summary: Mixpeek Python SDK
5
5
  Home-page: https://github.com/mixpeek/mixpeek-python
6
6
  Author: Ethan Steininger
@@ -101,6 +101,15 @@ mixpeek.connections.data.delete(
101
101
  )
102
102
  ```
103
103
 
104
+ Upload file
105
+
106
+ ```python
107
+ mixpeek.connections.storage.upload(
108
+ connection_id="conn_321",
109
+ file_path="/my/local/file.mp4"
110
+ )
111
+ ```
112
+
104
113
  ### Tools
105
114
 
106
115
  ```python
@@ -1,14 +1,14 @@
1
1
  mixpeek/__init__.py,sha256=XDdcK7wTEOEcF1cp-GeWmgPJ21Ny1R9pB0PPNrdDTMo,28
2
- mixpeek/client.py,sha256=aZ6zzSrqbV3RxD2G-W0Aqy06QWDfRux_0DfLr-awdG0,895
2
+ mixpeek/client.py,sha256=ifN-rCXtCbitTj6coUquQjpHgd98V3EVwORzNo8tIMY,992
3
3
  mixpeek/exceptions.py,sha256=Orhdo5UFLn3fcWVJtlgkznW8Iy5ndL96h0qTY8zOlDA,235
4
4
  mixpeek/endpoints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- mixpeek/endpoints/connections.py,sha256=-SdwLhHY1KNnNT9u_V2hx0kiKjYrDXKLzceedZBqa14,917
5
+ mixpeek/endpoints/connections.py,sha256=TLpaJBKvzCNpvb7ul8xfmkZP5rWyl4eTl6ec_5a2qiM,2344
6
6
  mixpeek/endpoints/embed.py,sha256=8ds_FinxZRW-ZQyv6LjDAX6Zoek2Cv4OYhwIgSBqwTs,1598
7
- mixpeek/endpoints/extract.py,sha256=7-d-8Mc7Uj20JyQRURoXeawpvUGvwMeBI8nwtjCYe8k,483
7
+ mixpeek/endpoints/extract.py,sha256=PRY1ZjPPwJ3xEKNKVdWIm_WZeRNc68oJKcwVXNkv-S8,1706
8
8
  mixpeek/endpoints/generate.py,sha256=SFjVYfgeuIt4wO0I5ItnB4TEHhRkLgZOvQfWlEioye8,594
9
9
  mixpeek/endpoints/pipelines.py,sha256=X2mRsWgOx6FgWbInrAdjLQJbjXjorNqAo9mjFawLpoE,1210
10
10
  mixpeek/endpoints/tools.py,sha256=Ni9AYm2-jpDS1SLUohNLTOkXDUxLPnNLpTlhWJLfofs,791
11
- mixpeek-0.6.26.dist-info/METADATA,sha256=PKf1HAukMjpd1omrd6Rxxegqz9_-r-5XEZq93FUjRsE,1952
12
- mixpeek-0.6.26.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
13
- mixpeek-0.6.26.dist-info/top_level.txt,sha256=EJ8Jc4IhqyUwnUlBwKbs498Ju4O9a-IDh2kXc_lo6Vg,8
14
- mixpeek-0.6.26.dist-info/RECORD,,
11
+ mixpeek-0.6.28.dist-info/METADATA,sha256=IidDmjtBsjxat5OdnRqZp5wBxFN_n6a0ofD85JCtU2E,2083
12
+ mixpeek-0.6.28.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
13
+ mixpeek-0.6.28.dist-info/top_level.txt,sha256=EJ8Jc4IhqyUwnUlBwKbs498Ju4O9a-IDh2kXc_lo6Vg,8
14
+ mixpeek-0.6.28.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5