hexdag-plugins 0.1.0__tar.gz → 0.2.0.dev5__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,17 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hexdag-plugins
3
- Version: 0.1.0
4
- Summary: Official plugins for hexDAG framework - Azure, MySQL, ETL, and storage adapters
3
+ Version: 0.2.0.dev5
4
+ Summary: Official plugins for hexDAG framework - Azure, Google, Ollama, Email, MySQL, ETL, and storage adapters
5
5
  Project-URL: Homepage, https://hexdag.ai
6
6
  Project-URL: Repository, https://github.com/omniviser/hexdag
7
7
  Project-URL: Documentation, https://hexdag.ai/docs/plugins
8
8
  Project-URL: Bug Reports, https://github.com/omniviser/hexdag/issues
9
- Author-email: hexDAG Team <team@hexdag.ai>
10
- License: MIT
11
- Keywords: adapter,azure,etl,hexdag,mysql,plugins,storage
9
+ Author-email: hexDAG Team <developers@omniviser.ai>
10
+ License: Apache-2.0
11
+ Keywords: adapter,azure,email,etl,gemini,google,hexdag,mysql,ollama,plugins,storage,vertex
12
12
  Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
15
  Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
@@ -27,6 +27,8 @@ Requires-Dist: azure-identity>=1.13.0; extra == 'all'
27
27
  Requires-Dist: azure-keyvault-secrets>=4.4.0; extra == 'all'
28
28
  Requires-Dist: azure-storage-blob>=12.13.0; extra == 'all'
29
29
  Requires-Dist: chromadb>=0.4.0; extra == 'all'
30
+ Requires-Dist: google-auth>=2.0.0; extra == 'all'
31
+ Requires-Dist: httpx>=0.24.0; extra == 'all'
30
32
  Requires-Dist: openai>=1.0.0; extra == 'all'
31
33
  Requires-Dist: pandas>=2.0.0; extra == 'all'
32
34
  Requires-Dist: pgvector>=0.3.0; extra == 'all'
@@ -59,8 +61,19 @@ Requires-Dist: ruff>=0.1.0; extra == 'dev'
59
61
  Provides-Extra: etl
60
62
  Requires-Dist: aiohttp>=3.8.0; extra == 'etl'
61
63
  Requires-Dist: pandas>=2.0.0; extra == 'etl'
64
+ Provides-Extra: google
65
+ Requires-Dist: google-auth>=2.0.0; extra == 'google'
66
+ Requires-Dist: httpx>=0.24.0; extra == 'google'
67
+ Provides-Extra: mail-all
68
+ Requires-Dist: httpx>=0.24.0; extra == 'mail-all'
69
+ Provides-Extra: mail-graph
70
+ Requires-Dist: httpx>=0.24.0; extra == 'mail-graph'
71
+ Provides-Extra: mail-sendgrid
72
+ Requires-Dist: httpx>=0.24.0; extra == 'mail-sendgrid'
62
73
  Provides-Extra: mysql
63
74
  Requires-Dist: pymysql>=1.1.0; extra == 'mysql'
75
+ Provides-Extra: ollama
76
+ Requires-Dist: httpx>=0.24.0; extra == 'ollama'
64
77
  Provides-Extra: storage-all
65
78
  Requires-Dist: aiomysql>=0.2.0; extra == 'storage-all'
66
79
  Requires-Dist: asyncpg>=0.29.0; extra == 'storage-all'
@@ -62,7 +62,7 @@ spec:
62
62
 
63
63
  ```python
64
64
  from hexdag_plugins.azure import AzureOpenAIAdapter
65
- from hexdag.core.ports.llm import Message
65
+ from hexdag.kernel.ports.llm import Message
66
66
 
67
67
  # Create adapter (API key auto-resolved from AZURE_OPENAI_API_KEY)
68
68
  adapter = AzureOpenAIAdapter(
@@ -1,15 +1,20 @@
1
1
  [project]
2
2
  name = "hexdag-plugins"
3
- version = "0.1.0"
4
- description = "Official plugins for hexDAG framework - Azure, MySQL, ETL, and storage adapters"
3
+ version = "0.2.0.dev5"
4
+ description = "Official plugins for hexDAG framework - Azure, Google, Ollama, Email, MySQL, ETL, and storage adapters"
5
5
  readme = "README.md"
6
- license = { text = "MIT" }
7
- authors = [{ name = "hexDAG Team", email = "team@hexdag.ai" }]
6
+ license = { text = "Apache-2.0" }
7
+ authors = [{ name = "hexDAG Team", email = "developers@omniviser.ai" }]
8
8
  requires-python = ">=3.12"
9
9
  keywords = [
10
10
  "hexdag",
11
11
  "plugins",
12
12
  "azure",
13
+ "google",
14
+ "gemini",
15
+ "vertex",
16
+ "ollama",
17
+ "email",
13
18
  "mysql",
14
19
  "etl",
15
20
  "storage",
@@ -18,7 +23,7 @@ keywords = [
18
23
  classifiers = [
19
24
  "Development Status :: 4 - Beta",
20
25
  "Intended Audience :: Developers",
21
- "License :: OSI Approved :: MIT License",
26
+ "License :: OSI Approved :: Apache Software License",
22
27
  "Programming Language :: Python :: 3",
23
28
  "Programming Language :: Python :: 3.12",
24
29
  "Topic :: Software Development :: Libraries :: Python Modules",
@@ -58,9 +63,26 @@ storage-all = [
58
63
  "hexdag-plugins[storage-chromadb]",
59
64
  ]
60
65
 
66
+ # Google Cloud plugins
67
+ google = ["google-auth>=2.0.0", "httpx>=0.24.0"]
68
+
69
+ # Ollama plugin
70
+ ollama = ["httpx>=0.24.0"]
71
+
72
+ # Email plugins
73
+ mail-graph = ["httpx>=0.24.0"]
74
+ mail-sendgrid = ["httpx>=0.24.0"]
75
+ mail-all = [
76
+ "hexdag-plugins[mail-graph]",
77
+ "hexdag-plugins[mail-sendgrid]",
78
+ ]
79
+
61
80
  # All plugins
62
81
  all = [
63
82
  "hexdag-plugins[azure-all]",
83
+ "hexdag-plugins[google]",
84
+ "hexdag-plugins[ollama]",
85
+ "hexdag-plugins[mail-all]",
64
86
  "hexdag-plugins[mysql]",
65
87
  "hexdag-plugins[etl]",
66
88
  "hexdag-plugins[storage-all]",
@@ -131,7 +153,7 @@ warn_unused_configs = true
131
153
  disallow_untyped_defs = true
132
154
 
133
155
  [tool.pytest.ini_options]
134
- testpaths = ["azure/tests", "mysql_adapter/tests", "hexdag_etl/tests", "storage/tests"]
156
+ testpaths = ["azure/tests", "mysql_adapter/tests", "hexdag_etl/tests", "storage/tests", "google/tests", "ollama/tests", "mail/tests"]
135
157
  python_files = ["test_*.py"]
136
158
  python_classes = ["Test*"]
137
159
  python_functions = ["test_*"]
@@ -109,8 +109,8 @@ health = await storage.ahealth_check()
109
109
  ### Ports
110
110
 
111
111
  **In hexDAG Core:**
112
- - `DatabasePort` - SQL database operations
113
- - `FileStoragePort` - File storage operations
112
+ - `Database` - SQL database operations
113
+ - `FileStorage` - File storage operations
114
114
 
115
115
  **In hexdag-storage:**
116
116
  - `VectorStorePort` - Specialized for vector similarity search
@@ -119,7 +119,7 @@ health = await storage.ahealth_check()
119
119
 
120
120
  ```
121
121
  hexdag_plugins/storage/
122
- ├── sql/ # DatabasePort implementations
122
+ ├── sql/ # Database implementations
123
123
  │ ├── postgresql.py
124
124
  │ ├── mysql.py
125
125
  │ └── sqlite.py
@@ -129,7 +129,7 @@ hexdag_plugins/storage/
129
129
  │ ├── chromadb.py # ChromaDB
130
130
  │ └── in_memory.py # In-memory (testing)
131
131
 
132
- └── file/ # FileStoragePort implementations
132
+ └── file/ # FileStorage implementations
133
133
  └── local.py # Local filesystem
134
134
  ```
135
135