Official plugins for hexDAG framework - Azure, Google, Ollama, Email, MySQL, ETL, and storage adapters
Project description
hexDAG Plugins
This directory contains plugins that extend hexDAG's functionality.
Available Plugins
| Plugin | Description | Port |
|---|---|---|
mysql_adapter |
Production MySQL adapter with JSON support | database |
Simple Plugin Workflow
Each plugin is a standalone Python package. Just use standard Python tools:
Install & Test
# Install a plugin
uv pip install -e hexdag_plugins/mysql_adapter/
# Run tests
uv run pytest hexdag_plugins/mysql_adapter/tests/
# Format code (uses settings from plugin's pyproject.toml)
cd hexdag_plugins/mysql_adapter
uv run ruff format .
uv run ruff check --fix .
Pre-commit Integration
Plugin files are automatically handled by the main pre-commit configuration. When you commit:
- Plugin files (
hexdag_plugins/) use plugin-specific hooks with relaxed rules - Main code (
hexdag/) uses strict project hooks
This happens automatically - just commit normally and the right hooks run!
Plugin Structure
hexdag_plugins/
└── my_plugin/
├── pyproject.toml # Plugin configuration & dependencies
├── __init__.py
├── my_plugin.py # Implementation
└── tests/
└── test_my_plugin.py
Creating a New Plugin
- Copy an existing plugin directory as a template
- Update
pyproject.tomlwith your plugin details - Implement the required port interface
- Write tests
The pyproject.toml contains all configuration:
- Dependencies
- Tool settings (ruff, mypy, pytest)
- Plugin metadata for hexDAG
Using Plugins
Plugins are used by referencing their full module path in YAML:
spec:
ports:
database:
adapter: hexdag_plugins.mysql_adapter.MySQLAdapter
Or import directly in Python:
from hexdag_plugins.mysql_adapter import MySQLAdapter
adapter = MySQLAdapter(host="localhost", database="mydb")
That's it! No complex scripts or build tools needed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hexdag_plugins-0.2.0.dev6.tar.gz.
File metadata
- Download URL: hexdag_plugins-0.2.0.dev6.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a61a918c21078737061c5bc0543023e52e92060ff4a3ef730f83ed7175b0a8b2
|
|
| MD5 |
60ccdfe5eb764f796a4fe3819fb3c6ad
|
|
| BLAKE2b-256 |
54861518e54ae856aade456f517cd0692b3be0af4036f4024600edc508496227
|
Provenance
The following attestation bundles were made for hexdag_plugins-0.2.0.dev6.tar.gz:
Publisher:
release.yml on omniviser/hexDAG
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hexdag_plugins-0.2.0.dev6.tar.gz -
Subject digest:
a61a918c21078737061c5bc0543023e52e92060ff4a3ef730f83ed7175b0a8b2 - Sigstore transparency entry: 1620479193
- Sigstore integration time:
-
Permalink:
omniviser/hexDAG@3af5a11bd460aae33bac0bc0267f464aba9a552b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/omniviser
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3af5a11bd460aae33bac0bc0267f464aba9a552b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file hexdag_plugins-0.2.0.dev6-py3-none-any.whl.
File metadata
- Download URL: hexdag_plugins-0.2.0.dev6-py3-none-any.whl
- Upload date:
- Size: 2.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a946895eab01a24f43694e6e30b4a7601fa3eebef1438761b6e81b89fe5c1ee
|
|
| MD5 |
27fcf86b6bc1bde47fc99a5f1242e0a1
|
|
| BLAKE2b-256 |
f1c8c201e52f0694fb16ada3b177ca8f4b63be12eb24619dabe9f3b63b10b767
|
Provenance
The following attestation bundles were made for hexdag_plugins-0.2.0.dev6-py3-none-any.whl:
Publisher:
release.yml on omniviser/hexDAG
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hexdag_plugins-0.2.0.dev6-py3-none-any.whl -
Subject digest:
6a946895eab01a24f43694e6e30b4a7601fa3eebef1438761b6e81b89fe5c1ee - Sigstore transparency entry: 1620479398
- Sigstore integration time:
-
Permalink:
omniviser/hexDAG@3af5a11bd460aae33bac0bc0267f464aba9a552b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/omniviser
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3af5a11bd460aae33bac0bc0267f464aba9a552b -
Trigger Event:
workflow_dispatch
-
Statement type: