mixpeek 0.6.25__py3-none-any.whl → 0.6.27__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"
@@ -16,16 +16,21 @@ class Connections:
16
16
  response = requests.post(url, json=data, headers=self.headers)
17
17
  return response.json()
18
18
 
19
- # mixpeek.connections.data.insert(connection_id="123", payload={"key": "value"})
20
19
  class Data:
21
20
  def __init__(self, parent):
22
21
  self.base_url = parent.base_url
23
22
  self.headers = parent.headers
24
23
 
24
+ # mixpeek.connections.data.insert(connection_id="123", payload={"key": "value"})
25
25
  def insert(self, connection_id: str, payload: list):
26
26
  pass
27
27
 
28
+ # mixpeek.connections.data.delete(connection_id="123", filters={"key": "value"})
28
29
  def delete(self, connection_id: str, filters: dict):
29
30
  pass
31
+
32
+ # mixpeek.connections.data.upsert(connection_id="123", payload={"key": "value"}, filters={"key": "value"})
33
+ def upsert(self, connection_id: str, payload: dict, filters: dict):
34
+ pass
30
35
 
31
36
 
@@ -5,12 +5,51 @@ class Extract:
5
5
  self.base_url = base_url
6
6
  self.headers = headers
7
7
 
8
- def extract(self, modality: str, input: str, input_type: str):
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,48 +1,4 @@
1
1
  import requests
2
- from magika import Magika
3
-
4
-
5
- modality_to_content_types = {
6
- "text": [
7
- "application/pdf",
8
- "text/html",
9
- "text/html; charset=utf-8",
10
- "text/csv",
11
- "text/plain",
12
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
13
- "application/vnd.ms-powerpoint",
14
- "application/vnd.openxmlformats-officedocument.presentationml.presentation",
15
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
16
- "text/plain",
17
- "text/markdown",
18
- "application/xml",
19
- ],
20
- "image": [
21
- "image/png",
22
- "image/jpeg",
23
- "image/gif",
24
- "image/bmp",
25
- "image/tiff",
26
- "image/webp",
27
- ],
28
- "audio": [
29
- "audio/mpeg",
30
- "audio/wav",
31
- "audio/ogg",
32
- "audio/flac",
33
- "audio/mp4",
34
- "audio/aac",
35
- "audio/mp3",
36
- ],
37
- "video": [
38
- "video/mp4",
39
- "video/x-msvideo",
40
- "video/quicktime",
41
- "video/x-ms-wmv",
42
- "video/x-flv",
43
- ],
44
- }
45
-
46
2
 
47
3
 
48
4
  class Tools:
@@ -51,17 +7,6 @@ class Tools:
51
7
  self.headers = headers
52
8
  self.video = self.Video(self)
53
9
 
54
- def detect(self, url: str):
55
- # Fetch the file from the URL
56
- response = requests.get(url)
57
- content_type = response.headers.get('Content-Type', '').split(';')[0] # Get the base MIME type without parameters
58
-
59
- # Determine modality based on MIME type and Magika detection
60
- for modality, types in modality_to_content_types.items():
61
- if content_type in types:
62
- return modality
63
- return 'unknown'
64
-
65
10
  class Video:
66
11
  def __init__(self, parent):
67
12
  self.base_url = parent.base_url
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mixpeek
3
- Version: 0.6.25
3
+ Version: 0.6.27
4
4
  Summary: Mixpeek Python SDK
5
5
  Home-page: https://github.com/mixpeek/mixpeek-python
6
6
  Author: Ethan Steininger
@@ -0,0 +1,14 @@
1
+ mixpeek/__init__.py,sha256=XDdcK7wTEOEcF1cp-GeWmgPJ21Ny1R9pB0PPNrdDTMo,28
2
+ mixpeek/client.py,sha256=mrMHTmWX0c1XIxDqgx404ZNOmWRnjnm8Bs_21MYcNS0,897
3
+ mixpeek/exceptions.py,sha256=Orhdo5UFLn3fcWVJtlgkznW8Iy5ndL96h0qTY8zOlDA,235
4
+ mixpeek/endpoints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ mixpeek/endpoints/connections.py,sha256=H0reF7RSmCJzF62eOavF5tj0kQi82XcdxfbpNsGlEvg,1219
6
+ mixpeek/endpoints/embed.py,sha256=8ds_FinxZRW-ZQyv6LjDAX6Zoek2Cv4OYhwIgSBqwTs,1598
7
+ mixpeek/endpoints/extract.py,sha256=PRY1ZjPPwJ3xEKNKVdWIm_WZeRNc68oJKcwVXNkv-S8,1706
8
+ mixpeek/endpoints/generate.py,sha256=SFjVYfgeuIt4wO0I5ItnB4TEHhRkLgZOvQfWlEioye8,594
9
+ mixpeek/endpoints/pipelines.py,sha256=X2mRsWgOx6FgWbInrAdjLQJbjXjorNqAo9mjFawLpoE,1210
10
+ mixpeek/endpoints/tools.py,sha256=Ni9AYm2-jpDS1SLUohNLTOkXDUxLPnNLpTlhWJLfofs,791
11
+ mixpeek-0.6.27.dist-info/METADATA,sha256=qaT8NfMKJ42gpHGQq0pIVNM1F3lCjQWsvnEKmwX_rxo,1952
12
+ mixpeek-0.6.27.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
13
+ mixpeek-0.6.27.dist-info/top_level.txt,sha256=EJ8Jc4IhqyUwnUlBwKbs498Ju4O9a-IDh2kXc_lo6Vg,8
14
+ mixpeek-0.6.27.dist-info/RECORD,,
@@ -1,14 +0,0 @@
1
- mixpeek/__init__.py,sha256=XDdcK7wTEOEcF1cp-GeWmgPJ21Ny1R9pB0PPNrdDTMo,28
2
- mixpeek/client.py,sha256=aZ6zzSrqbV3RxD2G-W0Aqy06QWDfRux_0DfLr-awdG0,895
3
- mixpeek/exceptions.py,sha256=Orhdo5UFLn3fcWVJtlgkznW8Iy5ndL96h0qTY8zOlDA,235
4
- mixpeek/endpoints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- mixpeek/endpoints/connections.py,sha256=-SdwLhHY1KNnNT9u_V2hx0kiKjYrDXKLzceedZBqa14,917
6
- mixpeek/endpoints/embed.py,sha256=8ds_FinxZRW-ZQyv6LjDAX6Zoek2Cv4OYhwIgSBqwTs,1598
7
- mixpeek/endpoints/extract.py,sha256=1KWxvgbQanRwYcFPWGthyv32LVj2gAhxDERwY3QgHUg,476
8
- mixpeek/endpoints/generate.py,sha256=SFjVYfgeuIt4wO0I5ItnB4TEHhRkLgZOvQfWlEioye8,594
9
- mixpeek/endpoints/pipelines.py,sha256=X2mRsWgOx6FgWbInrAdjLQJbjXjorNqAo9mjFawLpoE,1210
10
- mixpeek/endpoints/tools.py,sha256=R86aFUZDGFzVL8AHEqJHiZM5TQWt6lKlxdf9_s6w1OQ,2289
11
- mixpeek-0.6.25.dist-info/METADATA,sha256=INDNupXayci0bapoCqE8Ig9ZMSZmJ5JLI3QstnUBdiU,1952
12
- mixpeek-0.6.25.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
13
- mixpeek-0.6.25.dist-info/top_level.txt,sha256=EJ8Jc4IhqyUwnUlBwKbs498Ju4O9a-IDh2kXc_lo6Vg,8
14
- mixpeek-0.6.25.dist-info/RECORD,,