Skip to main content

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 / Role
mysql_adapter Production MySQL adapter with JSON support database
langfuse Langfuse LLM observability (traces, spans, generations) observer

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

  1. Copy an existing plugin directory as a template
  2. Update pyproject.toml with your plugin details
  3. Implement the required port interface
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hexdag_plugins-0.2.0.tar.gz (72.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hexdag_plugins-0.2.0-py3-none-any.whl (102.5 kB view details)

Uploaded Python 3

File details

Details for the file hexdag_plugins-0.2.0.tar.gz.

File metadata

  • Download URL: hexdag_plugins-0.2.0.tar.gz
  • Upload date:
  • Size: 72.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hexdag_plugins-0.2.0.tar.gz
Algorithm Hash digest
SHA256 64db0c1aacb27ddfd1940b3388610723ddf05bc493d47419a57d5c7eb719ab86
MD5 5095985af421ca3b50fef0c8eee3216a
BLAKE2b-256 b2555f40aff9a4f1f833ad14024e5304f969091cbfb68f46bb52f59a46aaddcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexdag_plugins-0.2.0.tar.gz:

Publisher: release.yml on omniviser/hexDAG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hexdag_plugins-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: hexdag_plugins-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 102.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hexdag_plugins-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f01f0cd8d8506b7a0409b2e07f2a4d7fc1f617d52301d3ef8cb91c52e02f18f
MD5 8da635bad1f159aaa4cfd06e6099d6f4
BLAKE2b-256 f9a4a6b779a62d9629b6061086aae850cdeecd134dabaab93e32352de27f5aa7

See more details on using hashes here.

Provenance

The following attestation bundles were made for hexdag_plugins-0.2.0-py3-none-any.whl:

Publisher: release.yml on omniviser/hexDAG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page