sunholo 0.110.4__py3-none-any.whl → 0.111.0__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.
@@ -302,7 +302,7 @@ class AlloyDBClient:
302
302
  SELECT page_content, source, langchain_metadata, images_gsurls, doc_id::text as doc_id
303
303
  FROM "{table_name}"
304
304
  WHERE source ILIKE '%{source}%'
305
- LIMIT 500;
305
+ LIMIT 1000;
306
306
  """
307
307
 
308
308
  return query
@@ -319,7 +319,7 @@ class AlloyDBClient:
319
319
  SELECT page_content, source, langchain_metadata, images_gsurls, doc_id::text as doc_id
320
320
  FROM "{table_name}"
321
321
  WHERE doc_id = '{doc_id}'
322
- LIMIT 50;
322
+ LIMIT 500;
323
323
  """
324
324
 
325
325
  return query
@@ -362,11 +362,16 @@ class AlloyDBClient:
362
362
  conditions = self._and_or_ilike(sources, search_type=search_type)
363
363
 
364
364
  query = f"""
365
- SELECT *
365
+ WITH ranked_sources AS (
366
+ SELECT *,
367
+ ROW_NUMBER() OVER (PARTITION BY source ORDER BY doc_id) as chunk_num
366
368
  FROM {table_name}
367
369
  WHERE {conditions}
368
- ORDER BY source ASC
369
- LIMIT 50;
370
+ )
371
+ SELECT *
372
+ FROM ranked_sources
373
+ ORDER BY source ASC, chunk_num ASC
374
+ LIMIT 1000;
370
375
  """
371
376
 
372
377
  return query
@@ -378,10 +383,9 @@ class AlloyDBClient:
378
383
  if sources:
379
384
  conditions = self._and_or_ilike(sources, search_type=search_type)
380
385
  query = f"""
381
- SELECT source AS objectId
386
+ SELECT DISTINCT source AS objectId
382
387
  FROM {table_name}
383
388
  WHERE {conditions}
384
- GROUP BY source
385
389
  ORDER BY source ASC
386
390
  LIMIT 500;
387
391
  """
@@ -0,0 +1,209 @@
1
+ Metadata-Version: 2.1
2
+ Name: sunholo
3
+ Version: 0.111.0
4
+ Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
+ Home-page: https://github.com/sunholo-data/sunholo-py
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.111.0.tar.gz
7
+ Author: Holosun ApS
8
+ Author-email: multivac@sunholo.com
9
+ License: Apache License, Version 2.0
10
+ Keywords: llms,devops,google_cloud_platform
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Topic :: Software Development :: Build Tools
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE.txt
21
+ Requires-Dist: google-auth
22
+ Requires-Dist: ruamel.yaml
23
+ Requires-Dist: langchain==0.2.16
24
+ Requires-Dist: langchain_experimental==0.0.65
25
+ Requires-Dist: langchain-community==0.2.17
26
+ Requires-Dist: langsmith==0.1.143
27
+ Provides-Extra: all
28
+ Requires-Dist: anthropic[vertex]; extra == "all"
29
+ Requires-Dist: asyncpg; extra == "all"
30
+ Requires-Dist: azure-identity; extra == "all"
31
+ Requires-Dist: azure-storage-blob; extra == "all"
32
+ Requires-Dist: fastapi; extra == "all"
33
+ Requires-Dist: flask; extra == "all"
34
+ Requires-Dist: google-auth; extra == "all"
35
+ Requires-Dist: google-auth-httplib2; extra == "all"
36
+ Requires-Dist: google-auth-oauthlib; extra == "all"
37
+ Requires-Dist: google-cloud-aiplatform>=1.58.0; extra == "all"
38
+ Requires-Dist: google-api-python-client; extra == "all"
39
+ Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "all"
40
+ Requires-Dist: google-cloud-bigquery; extra == "all"
41
+ Requires-Dist: google-cloud-build; extra == "all"
42
+ Requires-Dist: google-cloud-service-control; extra == "all"
43
+ Requires-Dist: google-cloud-logging; extra == "all"
44
+ Requires-Dist: google-cloud-storage; extra == "all"
45
+ Requires-Dist: google-cloud-pubsub; extra == "all"
46
+ Requires-Dist: google-cloud-discoveryengine; extra == "all"
47
+ Requires-Dist: google-cloud-texttospeech; extra == "all"
48
+ Requires-Dist: google-generativeai>=0.7.1; extra == "all"
49
+ Requires-Dist: gunicorn; extra == "all"
50
+ Requires-Dist: httpcore; extra == "all"
51
+ Requires-Dist: httpx; extra == "all"
52
+ Requires-Dist: jsonschema; extra == "all"
53
+ Requires-Dist: lancedb; extra == "all"
54
+ Requires-Dist: langchain>=0.2.16; extra == "all"
55
+ Requires-Dist: langchain-experimental>=0.0.61; extra == "all"
56
+ Requires-Dist: langchain-community>=0.2.11; extra == "all"
57
+ Requires-Dist: langchain-openai==0.1.25; extra == "all"
58
+ Requires-Dist: langchain-google-genai==1.0.10; extra == "all"
59
+ Requires-Dist: langchain_google_alloydb_pg; extra == "all"
60
+ Requires-Dist: langchain-anthropic==0.1.23; extra == "all"
61
+ Requires-Dist: langchain-google-vertexai; extra == "all"
62
+ Requires-Dist: langfuse; extra == "all"
63
+ Requires-Dist: numpy; extra == "all"
64
+ Requires-Dist: pg8000; extra == "all"
65
+ Requires-Dist: pgvector; extra == "all"
66
+ Requires-Dist: pillow; extra == "all"
67
+ Requires-Dist: playwright; extra == "all"
68
+ Requires-Dist: psutil; extra == "all"
69
+ Requires-Dist: psycopg2-binary; extra == "all"
70
+ Requires-Dist: pypdf; extra == "all"
71
+ Requires-Dist: python-hcl2; extra == "all"
72
+ Requires-Dist: python-socketio; extra == "all"
73
+ Requires-Dist: pytesseract; extra == "all"
74
+ Requires-Dist: rich; extra == "all"
75
+ Requires-Dist: sounddevice; extra == "all"
76
+ Requires-Dist: supabase; extra == "all"
77
+ Requires-Dist: tabulate; extra == "all"
78
+ Requires-Dist: tantivy; extra == "all"
79
+ Requires-Dist: tenacity; extra == "all"
80
+ Requires-Dist: tiktoken; extra == "all"
81
+ Requires-Dist: unstructured[local-inference]==0.14.9; extra == "all"
82
+ Requires-Dist: xlwings; extra == "all"
83
+ Provides-Extra: azure
84
+ Requires-Dist: azure-identity; extra == "azure"
85
+ Requires-Dist: azure-storage-blob; extra == "azure"
86
+ Provides-Extra: cli
87
+ Requires-Dist: jsonschema>=4.21.1; extra == "cli"
88
+ Requires-Dist: rich; extra == "cli"
89
+ Provides-Extra: database
90
+ Requires-Dist: asyncpg; extra == "database"
91
+ Requires-Dist: supabase; extra == "database"
92
+ Requires-Dist: sqlalchemy; extra == "database"
93
+ Requires-Dist: pg8000; extra == "database"
94
+ Requires-Dist: pgvector; extra == "database"
95
+ Requires-Dist: psycopg2-binary; extra == "database"
96
+ Requires-Dist: lancedb; extra == "database"
97
+ Requires-Dist: tantivy; extra == "database"
98
+ Provides-Extra: pipeline
99
+ Requires-Dist: GitPython; extra == "pipeline"
100
+ Requires-Dist: lark; extra == "pipeline"
101
+ Requires-Dist: psutil; extra == "pipeline"
102
+ Requires-Dist: pypdf; extra == "pipeline"
103
+ Requires-Dist: pytesseract; extra == "pipeline"
104
+ Requires-Dist: tabulate; extra == "pipeline"
105
+ Requires-Dist: unstructured[local-inference]==0.14.9; extra == "pipeline"
106
+ Provides-Extra: gcp
107
+ Requires-Dist: anthropic[vertex]; extra == "gcp"
108
+ Requires-Dist: google-api-python-client; extra == "gcp"
109
+ Requires-Dist: google-cloud-alloydb-connector[pg8000]; extra == "gcp"
110
+ Requires-Dist: google-auth-httplib2; extra == "gcp"
111
+ Requires-Dist: google-auth-oauthlib; extra == "gcp"
112
+ Requires-Dist: google-cloud-aiplatform>=1.58.0; extra == "gcp"
113
+ Requires-Dist: google-cloud-bigquery; extra == "gcp"
114
+ Requires-Dist: google-cloud-build; extra == "gcp"
115
+ Requires-Dist: google-cloud-service-control; extra == "gcp"
116
+ Requires-Dist: google-cloud-storage; extra == "gcp"
117
+ Requires-Dist: google-cloud-logging; extra == "gcp"
118
+ Requires-Dist: google-cloud-pubsub; extra == "gcp"
119
+ Requires-Dist: google-cloud-discoveryengine; extra == "gcp"
120
+ Requires-Dist: google-cloud-texttospeech; extra == "gcp"
121
+ Requires-Dist: google-generativeai>=0.7.1; extra == "gcp"
122
+ Requires-Dist: langchain-google-genai==1.0.10; extra == "gcp"
123
+ Requires-Dist: langchain_google_alloydb_pg>=0.2.2; extra == "gcp"
124
+ Requires-Dist: langchain-google-vertexai; extra == "gcp"
125
+ Requires-Dist: pillow; extra == "gcp"
126
+ Provides-Extra: openai
127
+ Requires-Dist: langchain-openai==0.1.25; extra == "openai"
128
+ Requires-Dist: tiktoken; extra == "openai"
129
+ Provides-Extra: anthropic
130
+ Requires-Dist: langchain-anthropic==0.1.23; extra == "anthropic"
131
+ Provides-Extra: tools
132
+ Requires-Dist: openapi-spec-validator; extra == "tools"
133
+ Requires-Dist: playwright; extra == "tools"
134
+ Provides-Extra: http
135
+ Requires-Dist: fastapi; extra == "http"
136
+ Requires-Dist: flask; extra == "http"
137
+ Requires-Dist: gunicorn; extra == "http"
138
+ Requires-Dist: httpcore; extra == "http"
139
+ Requires-Dist: httpx; extra == "http"
140
+ Requires-Dist: langfuse; extra == "http"
141
+ Requires-Dist: python-socketio; extra == "http"
142
+ Requires-Dist: requests; extra == "http"
143
+ Requires-Dist: tenacity; extra == "http"
144
+ Provides-Extra: excel
145
+ Requires-Dist: xlwings; extra == "excel"
146
+ Requires-Dist: requests; extra == "excel"
147
+ Requires-Dist: rich; extra == "excel"
148
+ Provides-Extra: iac
149
+ Requires-Dist: python-hcl2; extra == "iac"
150
+ Provides-Extra: tts
151
+ Requires-Dist: google-cloud-texttospeech; extra == "tts"
152
+ Requires-Dist: numpy; extra == "tts"
153
+ Requires-Dist: sounddevice; extra == "tts"
154
+
155
+ ## Introduction
156
+ This is the Sunholo Python project, a comprehensive toolkit for working with language models and vector stores on Google Cloud Platform. It provides a wide range of functionalities and utilities to facilitate the development and deployment of language model applications.
157
+
158
+ Please refer to the website for full documentation at https://dev.sunholo.com/
159
+
160
+ ## Listen to the audio file:
161
+
162
+ A [NotebookLM](https://notebooklm.google/) generated podcast of the codebase that may help give you an overview of what the library is capable of:
163
+
164
+ [Listen to the audio file from Google Drive](https://drive.google.com/file/d/1GvwRmiYDjPjN2hXQ8plhnVDByu6TmgCQ/view?usp=drive_link) or on the website at https://dev.sunholo.com/docs/
165
+
166
+ > "Ever wish you could build your own AI?..."
167
+
168
+ ## Tests via pytest
169
+
170
+ If loading from GitHub, run tests:
171
+
172
+ ```bash
173
+ pip install pytest
174
+ pip install . --use-feature=in-tree-build
175
+ pytest tests
176
+ ```
177
+
178
+ ## Demos
179
+
180
+ Using https://github.com/charmbracelet/vhs
181
+
182
+ ```sh
183
+ vhs record > cassette.tape
184
+ ```
185
+
186
+ Then make gif:
187
+
188
+ ```sh
189
+ vhs docs/tapes/config-list.tape
190
+ ```
191
+
192
+
193
+
194
+ ```
195
+ Copyright [2024] [Holosun ApS]
196
+
197
+ Licensed under the Apache License, Version 2.0 (the "License");
198
+ you may not use this file except in compliance with the License.
199
+ You may obtain a copy of the License at
200
+
201
+ http://www.apache.org/licenses/LICENSE-2.0
202
+
203
+ Unless required by applicable law or agreed to in writing, software
204
+ distributed under the License is distributed on an "AS IS" BASIS,
205
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
206
+ See the License for the specific language governing permissions and
207
+ limitations under the License.
208
+ ```
209
+
@@ -59,7 +59,7 @@ sunholo/components/retriever.py,sha256=bKIVT7_18Ut3OJd0E0jyiISPnD9qkHWVjcQPT4i1_
59
59
  sunholo/components/vectorstore.py,sha256=xKk7micTRwZckaI7U6PxvFz_ZSjCH48xPTDYiDcv2tc,5913
60
60
  sunholo/database/__init__.py,sha256=bpB5Nk21kwqYj-qdVnvNgXjLsbflnH4g-San7OHMqR4,283
61
61
  sunholo/database/alloydb.py,sha256=x1zUMB-EVWbE2Zvp4nAs2Z-tB_kOZmS45H2lwVHdYnk,11678
62
- sunholo/database/alloydb_client.py,sha256=kg6J8pCqBkjfEkXdhU8mwxdaI7w-cSE9AxKHWuYmzaM,18943
62
+ sunholo/database/alloydb_client.py,sha256=q732tmRdSDutnUk7vRUPUPpi-yU5FK5rQko8co6yke0,19132
63
63
  sunholo/database/database.py,sha256=VqhZdkXUNdvWn8sUcUV3YNby1JDVf7IykPVXWBtxo9U,7361
64
64
  sunholo/database/lancedb.py,sha256=DyfZntiFKBlVPaFooNN1Z6Pl-LAs4nxWKKuq8GBqN58,715
65
65
  sunholo/database/static_dbs.py,sha256=8cvcMwUK6c32AS2e_WguKXWMkFf5iN3g9WHzsh0C07Q,442
@@ -150,9 +150,9 @@ sunholo/vertex/init.py,sha256=1OQwcPBKZYBTDPdyU7IM4X4OmiXLdsNV30C-fee2scQ,2875
150
150
  sunholo/vertex/memory_tools.py,sha256=tBZxqVZ4InTmdBvLlOYwoSEWu4-kGquc-gxDwZCC4FA,7667
151
151
  sunholo/vertex/safety.py,sha256=S9PgQT1O_BQAkcqauWncRJaydiP8Q_Jzmu9gxYfy1VA,2482
152
152
  sunholo/vertex/type_dict_to_json.py,sha256=uTzL4o9tJRao4u-gJOFcACgWGkBOtqACmb6ihvCErL8,4694
153
- sunholo-0.110.4.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
154
- sunholo-0.110.4.dist-info/METADATA,sha256=4EZvfegaiERNSi6qN-RUVWy1CojNXbCjGg4sZ89g2cI,8705
155
- sunholo-0.110.4.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
156
- sunholo-0.110.4.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
157
- sunholo-0.110.4.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
158
- sunholo-0.110.4.dist-info/RECORD,,
153
+ sunholo-0.111.0.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
154
+ sunholo-0.111.0.dist-info/METADATA,sha256=DC7Aa6AgAANAsvuyg3h0DLz-d0auWyaZu5oviSIgwpU,8570
155
+ sunholo-0.111.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
156
+ sunholo-0.111.0.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
157
+ sunholo-0.111.0.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
158
+ sunholo-0.111.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.5.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,209 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: sunholo
3
- Version: 0.110.4
4
- Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
5
- Home-page: https://github.com/sunholo-data/sunholo-py
6
- Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.110.4.tar.gz
7
- Author: Holosun ApS
8
- Author-email: multivac@sunholo.com
9
- License: Apache License, Version 2.0
10
- Keywords: llms,devops,google_cloud_platform
11
- Classifier: Development Status :: 3 - Alpha
12
- Classifier: Intended Audience :: Developers
13
- Classifier: Topic :: Software Development :: Build Tools
14
- Classifier: License :: OSI Approved :: Apache Software License
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.10
17
- Classifier: Programming Language :: Python :: 3.11
18
- Classifier: Programming Language :: Python :: 3.12
19
- Description-Content-Type: text/markdown
20
- License-File: LICENSE.txt
21
- Requires-Dist: google-auth
22
- Requires-Dist: ruamel.yaml
23
- Requires-Dist: langchain ==0.2.16
24
- Requires-Dist: langchain-experimental ==0.0.65
25
- Requires-Dist: langchain-community ==0.2.17
26
- Requires-Dist: langsmith ==0.1.143
27
- Provides-Extra: all
28
- Requires-Dist: anthropic[vertex] ; extra == 'all'
29
- Requires-Dist: asyncpg ; extra == 'all'
30
- Requires-Dist: azure-identity ; extra == 'all'
31
- Requires-Dist: azure-storage-blob ; extra == 'all'
32
- Requires-Dist: fastapi ; extra == 'all'
33
- Requires-Dist: flask ; extra == 'all'
34
- Requires-Dist: google-auth ; extra == 'all'
35
- Requires-Dist: google-auth-httplib2 ; extra == 'all'
36
- Requires-Dist: google-auth-oauthlib ; extra == 'all'
37
- Requires-Dist: google-cloud-aiplatform >=1.58.0 ; extra == 'all'
38
- Requires-Dist: google-api-python-client ; extra == 'all'
39
- Requires-Dist: google-cloud-alloydb-connector[pg8000] ; extra == 'all'
40
- Requires-Dist: google-cloud-bigquery ; extra == 'all'
41
- Requires-Dist: google-cloud-build ; extra == 'all'
42
- Requires-Dist: google-cloud-service-control ; extra == 'all'
43
- Requires-Dist: google-cloud-logging ; extra == 'all'
44
- Requires-Dist: google-cloud-storage ; extra == 'all'
45
- Requires-Dist: google-cloud-pubsub ; extra == 'all'
46
- Requires-Dist: google-cloud-discoveryengine ; extra == 'all'
47
- Requires-Dist: google-cloud-texttospeech ; extra == 'all'
48
- Requires-Dist: google-generativeai >=0.7.1 ; extra == 'all'
49
- Requires-Dist: gunicorn ; extra == 'all'
50
- Requires-Dist: httpcore ; extra == 'all'
51
- Requires-Dist: httpx ; extra == 'all'
52
- Requires-Dist: jsonschema ; extra == 'all'
53
- Requires-Dist: lancedb ; extra == 'all'
54
- Requires-Dist: langchain >=0.2.16 ; extra == 'all'
55
- Requires-Dist: langchain-experimental >=0.0.61 ; extra == 'all'
56
- Requires-Dist: langchain-community >=0.2.11 ; extra == 'all'
57
- Requires-Dist: langchain-openai ==0.1.25 ; extra == 'all'
58
- Requires-Dist: langchain-google-genai ==1.0.10 ; extra == 'all'
59
- Requires-Dist: langchain-google-alloydb-pg ; extra == 'all'
60
- Requires-Dist: langchain-anthropic ==0.1.23 ; extra == 'all'
61
- Requires-Dist: langchain-google-vertexai ; extra == 'all'
62
- Requires-Dist: langfuse ; extra == 'all'
63
- Requires-Dist: numpy ; extra == 'all'
64
- Requires-Dist: pg8000 ; extra == 'all'
65
- Requires-Dist: pgvector ; extra == 'all'
66
- Requires-Dist: pillow ; extra == 'all'
67
- Requires-Dist: playwright ; extra == 'all'
68
- Requires-Dist: psutil ; extra == 'all'
69
- Requires-Dist: psycopg2-binary ; extra == 'all'
70
- Requires-Dist: pypdf ; extra == 'all'
71
- Requires-Dist: python-hcl2 ; extra == 'all'
72
- Requires-Dist: python-socketio ; extra == 'all'
73
- Requires-Dist: pytesseract ; extra == 'all'
74
- Requires-Dist: rich ; extra == 'all'
75
- Requires-Dist: sounddevice ; extra == 'all'
76
- Requires-Dist: supabase ; extra == 'all'
77
- Requires-Dist: tabulate ; extra == 'all'
78
- Requires-Dist: tantivy ; extra == 'all'
79
- Requires-Dist: tenacity ; extra == 'all'
80
- Requires-Dist: tiktoken ; extra == 'all'
81
- Requires-Dist: unstructured[local-inference] ==0.14.9 ; extra == 'all'
82
- Requires-Dist: xlwings ; extra == 'all'
83
- Provides-Extra: anthropic
84
- Requires-Dist: langchain-anthropic ==0.1.23 ; extra == 'anthropic'
85
- Provides-Extra: azure
86
- Requires-Dist: azure-identity ; extra == 'azure'
87
- Requires-Dist: azure-storage-blob ; extra == 'azure'
88
- Provides-Extra: cli
89
- Requires-Dist: jsonschema >=4.21.1 ; extra == 'cli'
90
- Requires-Dist: rich ; extra == 'cli'
91
- Provides-Extra: database
92
- Requires-Dist: asyncpg ; extra == 'database'
93
- Requires-Dist: supabase ; extra == 'database'
94
- Requires-Dist: sqlalchemy ; extra == 'database'
95
- Requires-Dist: pg8000 ; extra == 'database'
96
- Requires-Dist: pgvector ; extra == 'database'
97
- Requires-Dist: psycopg2-binary ; extra == 'database'
98
- Requires-Dist: lancedb ; extra == 'database'
99
- Requires-Dist: tantivy ; extra == 'database'
100
- Provides-Extra: excel
101
- Requires-Dist: xlwings ; extra == 'excel'
102
- Requires-Dist: requests ; extra == 'excel'
103
- Requires-Dist: rich ; extra == 'excel'
104
- Provides-Extra: gcp
105
- Requires-Dist: anthropic[vertex] ; extra == 'gcp'
106
- Requires-Dist: google-api-python-client ; extra == 'gcp'
107
- Requires-Dist: google-cloud-alloydb-connector[pg8000] ; extra == 'gcp'
108
- Requires-Dist: google-auth-httplib2 ; extra == 'gcp'
109
- Requires-Dist: google-auth-oauthlib ; extra == 'gcp'
110
- Requires-Dist: google-cloud-aiplatform >=1.58.0 ; extra == 'gcp'
111
- Requires-Dist: google-cloud-bigquery ; extra == 'gcp'
112
- Requires-Dist: google-cloud-build ; extra == 'gcp'
113
- Requires-Dist: google-cloud-service-control ; extra == 'gcp'
114
- Requires-Dist: google-cloud-storage ; extra == 'gcp'
115
- Requires-Dist: google-cloud-logging ; extra == 'gcp'
116
- Requires-Dist: google-cloud-pubsub ; extra == 'gcp'
117
- Requires-Dist: google-cloud-discoveryengine ; extra == 'gcp'
118
- Requires-Dist: google-cloud-texttospeech ; extra == 'gcp'
119
- Requires-Dist: google-generativeai >=0.7.1 ; extra == 'gcp'
120
- Requires-Dist: langchain-google-genai ==1.0.10 ; extra == 'gcp'
121
- Requires-Dist: langchain-google-alloydb-pg >=0.2.2 ; extra == 'gcp'
122
- Requires-Dist: langchain-google-vertexai ; extra == 'gcp'
123
- Requires-Dist: pillow ; extra == 'gcp'
124
- Provides-Extra: http
125
- Requires-Dist: fastapi ; extra == 'http'
126
- Requires-Dist: flask ; extra == 'http'
127
- Requires-Dist: gunicorn ; extra == 'http'
128
- Requires-Dist: httpcore ; extra == 'http'
129
- Requires-Dist: httpx ; extra == 'http'
130
- Requires-Dist: langfuse ; extra == 'http'
131
- Requires-Dist: python-socketio ; extra == 'http'
132
- Requires-Dist: requests ; extra == 'http'
133
- Requires-Dist: tenacity ; extra == 'http'
134
- Provides-Extra: iac
135
- Requires-Dist: python-hcl2 ; extra == 'iac'
136
- Provides-Extra: openai
137
- Requires-Dist: langchain-openai ==0.1.25 ; extra == 'openai'
138
- Requires-Dist: tiktoken ; extra == 'openai'
139
- Provides-Extra: pipeline
140
- Requires-Dist: GitPython ; extra == 'pipeline'
141
- Requires-Dist: lark ; extra == 'pipeline'
142
- Requires-Dist: psutil ; extra == 'pipeline'
143
- Requires-Dist: pypdf ; extra == 'pipeline'
144
- Requires-Dist: pytesseract ; extra == 'pipeline'
145
- Requires-Dist: tabulate ; extra == 'pipeline'
146
- Requires-Dist: unstructured[local-inference] ==0.14.9 ; extra == 'pipeline'
147
- Provides-Extra: tools
148
- Requires-Dist: openapi-spec-validator ; extra == 'tools'
149
- Requires-Dist: playwright ; extra == 'tools'
150
- Provides-Extra: tts
151
- Requires-Dist: google-cloud-texttospeech ; extra == 'tts'
152
- Requires-Dist: numpy ; extra == 'tts'
153
- Requires-Dist: sounddevice ; extra == 'tts'
154
-
155
- ## Introduction
156
- This is the Sunholo Python project, a comprehensive toolkit for working with language models and vector stores on Google Cloud Platform. It provides a wide range of functionalities and utilities to facilitate the development and deployment of language model applications.
157
-
158
- Please refer to the website for full documentation at https://dev.sunholo.com/
159
-
160
- ## Listen to the audio file:
161
-
162
- A [NotebookLM](https://notebooklm.google/) generated podcast of the codebase that may help give you an overview of what the library is capable of:
163
-
164
- [Listen to the audio file from Google Drive](https://drive.google.com/file/d/1GvwRmiYDjPjN2hXQ8plhnVDByu6TmgCQ/view?usp=drive_link) or on the website at https://dev.sunholo.com/docs/
165
-
166
- > "Ever wish you could build your own AI?..."
167
-
168
- ## Tests via pytest
169
-
170
- If loading from GitHub, run tests:
171
-
172
- ```bash
173
- pip install pytest
174
- pip install . --use-feature=in-tree-build
175
- pytest tests
176
- ```
177
-
178
- ## Demos
179
-
180
- Using https://github.com/charmbracelet/vhs
181
-
182
- ```sh
183
- vhs record > cassette.tape
184
- ```
185
-
186
- Then make gif:
187
-
188
- ```sh
189
- vhs docs/tapes/config-list.tape
190
- ```
191
-
192
-
193
-
194
- ```
195
- Copyright [2024] [Holosun ApS]
196
-
197
- Licensed under the Apache License, Version 2.0 (the "License");
198
- you may not use this file except in compliance with the License.
199
- You may obtain a copy of the License at
200
-
201
- http://www.apache.org/licenses/LICENSE-2.0
202
-
203
- Unless required by applicable law or agreed to in writing, software
204
- distributed under the License is distributed on an "AS IS" BASIS,
205
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
206
- See the License for the specific language governing permissions and
207
- limitations under the License.
208
- ```
209
-