mixpeek 0.6.27__tar.gz → 0.6.28__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mixpeek
3
- Version: 0.6.27
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
@@ -86,6 +86,15 @@ mixpeek.connections.data.delete(
86
86
  )
87
87
  ```
88
88
 
89
+ Upload file
90
+
91
+ ```python
92
+ mixpeek.connections.storage.upload(
93
+ connection_id="conn_321",
94
+ file_path="/my/local/file.mp4"
95
+ )
96
+ ```
97
+
89
98
  ### Tools
90
99
 
91
100
  ```python
@@ -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/"
@@ -32,5 +35,35 @@ class Connections:
32
35
  # mixpeek.connections.data.upsert(connection_id="123", payload={"key": "value"}, filters={"key": "value"})
33
36
  def upsert(self, connection_id: str, payload: dict, filters: dict):
34
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
+
35
68
 
36
69
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mixpeek
3
- Version: 0.6.27
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
@@ -6,7 +6,7 @@ with open('requirements.txt') as f:
6
6
 
7
7
  setup(
8
8
  name='mixpeek',
9
- version='0.6.27',
9
+ version='0.6.28',
10
10
  author='Ethan Steininger',
11
11
  author_email='ethan@mixpeek.com',
12
12
  description='Mixpeek Python SDK',
File without changes
File without changes
File without changes
File without changes
File without changes