Implementation:Datahub project Datahub Pip Install Datahub Actions
Appearance
Metadata
| Field | Value |
|---|---|
| Implementation ID | I-DHACT-001 |
| Title | Pip Install Datahub Actions |
| Type | External Tool Doc |
| Status | Active |
| Last Updated | 2026-02-10 |
| Repository | Datahub_project_Datahub |
| Source File | datahub-actions/setup.py (Lines 173-187)
|
| Knowledge Sources | GitHub - datahub-project/datahub, DataHub Documentation |
| Domains | Event_Processing, Automation, Metadata_Management |
Overview
Install the DataHub Actions framework using pip. The package acryl-datahub-actions provides the datahub-actions CLI, the pipeline runtime, and all built-in action plugins registered via Python entry points.
Installation Command
pip install acryl-datahub-actions
To install with all optional plugin dependencies:
pip install 'acryl-datahub-actions[all]'
To install with a specific plugin's dependencies only:
pip install 'acryl-datahub-actions[slack]'
pip install 'acryl-datahub-actions[teams]'
pip install 'acryl-datahub-actions[executor]'
Code Reference
Entry Points (setup.py, Lines 173-187)
entry_points = {
"console_scripts": ["datahub-actions = datahub_actions.entrypoints:main"],
"datahub_actions.action.plugins": [
"executor = datahub_actions.plugin.action.execution.executor_action:ExecutorAction",
"slack = datahub_actions.plugin.action.slack.slack:SlackNotificationAction",
"teams = datahub_actions.plugin.action.teams.teams:TeamsNotificationAction",
"metadata_change_sync = datahub_actions.plugin.action.metadata_change_sync.metadata_change_sync:MetadataChangeSyncAction",
"tag_propagation = datahub_actions.plugin.action.tag.tag_propagation_action:TagPropagationAction",
"term_propagation = datahub_actions.plugin.action.term.term_propagation_action:TermPropagationAction",
"snowflake_tag_propagation = datahub_actions.plugin.action.snowflake.tag_propagator:SnowflakeTagPropagatorAction",
"doc_propagation = datahub_actions.plugin.action.propagation.docs.propagation_action:DocPropagationAction",
],
"datahub_actions.transformer.plugins": [],
"datahub_actions.source.plugins": [],
}
Base Dependencies (setup.py, Lines 47-71)
base_requirements = {
f"acryl-datahub[datahub-kafka]{_self_pin}",
"typing-inspect",
"pydantic>=2.0.0,<3.0.0",
"ratelimit",
"httpcore>=1.0.9",
"azure-identity==1.21.0",
"aws-msk-iam-sasl-signer-python==1.0.2",
"h11>=0.16",
}
framework_common = {
"click>=6.0.0",
"click-default-group",
"prometheus-client",
"PyYAML",
"toml>=0.10.0",
"entrypoints",
"python-dateutil>=2.8.0",
"stackprinter",
"progressbar2",
"tenacity",
}
I/O Contract
| Direction | Description |
|---|---|
| Input | pip install acryl-datahub-actions command
|
| Output | Installed Python package providing:
|
| Prerequisites | Python >= 3.10, network access to PyPI |
Built-in Plugin Details
| Plugin Name | Entry Point Class | Extra Dependencies |
|---|---|---|
executor |
datahub_actions.plugin.action.execution.executor_action:ExecutorAction |
acryl-executor==0.3.2
|
slack |
datahub_actions.plugin.action.slack.slack:SlackNotificationAction |
slack-bolt>=1.15.5
|
teams |
datahub_actions.plugin.action.teams.teams:TeamsNotificationAction |
pymsteams>=0.2.2
|
metadata_change_sync |
datahub_actions.plugin.action.metadata_change_sync.metadata_change_sync:MetadataChangeSyncAction |
(none) |
tag_propagation |
datahub_actions.plugin.action.tag.tag_propagation_action:TagPropagationAction |
(none) |
term_propagation |
datahub_actions.plugin.action.term.term_propagation_action:TermPropagationAction |
(none) |
snowflake_tag_propagation |
datahub_actions.plugin.action.snowflake.tag_propagator:SnowflakeTagPropagatorAction |
acryl-datahub[snowflake-slim]
|
doc_propagation |
datahub_actions.plugin.action.propagation.docs.propagation_action:DocPropagationAction |
(none) |
Usage Examples
Basic Installation
# Install base package
pip install acryl-datahub-actions
# Verify installation
datahub-actions version
Verify Plugin Registration
# Programmatically check registered plugins
from datahub_actions.action.action_registry import action_registry
# The registry discovers plugins via entry points
action_class = action_registry.get("slack")
print(action_class) # <class 'SlackNotificationAction'>
Related
- Implements: Datahub_project_Datahub_Actions_Framework_Installation
- Related implementations: Datahub_project_Datahub_Actions_PipelineConfig, Datahub_project_Datahub_Actions_CLI_Run
- Environment: Environment:Datahub_project_Datahub_Python_3_10_Ingestion_Environment
- Heuristic: Heuristic:Datahub_project_Datahub_Gradle_Formatting_Over_Direct_Tools
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment