IOMETE Airflow Plugin
This Plugin helps to trigger/run Spark Jobs created in IOMETE platform.
Requirements
- Apache Airflow
>=2.10.5, <4.0.0 - Python
3.10–3.13
Installation
This plugin could be easily installed with pip. Just run the following in your aiflow server:
pip install iomete-airflow-plugin
Restart you server and check the plugins page on Airflow's admin panel to make sure plugin loaded successfully.
Usage
Pass your IOMETE connection details directly to IometeOperator. A single Airflow instance can trigger jobs against multiple IOMETE clusters by passing different host/domain/access_token values per task.
from airflow import DAG
from iomete_airflow_plugin.iomete_operator import IometeOperator
dag = DAG(dag_id="...", default_args={}, schedule=None)
task = IometeOperator(
task_id="random_task_id",
job_id="1b0fc29b-5491-4c0a-94ea-48e304c3c72e", # Spark Job ID or Name in IOMETE platform.
host="https://YOUR.iomete.host",
domain="YOUR_DOMAIN",
access_token="YOUR_ACCESS_TOKEN",
dag=dag,
)
To avoid repeating credentials on every task, put them in the DAG's default_args:
dag = DAG(
dag_id="...",
default_args={
"host": "https://YOUR.iomete.host",
"domain": "YOUR_DOMAIN",
"access_token": "YOUR_ACCESS_TOKEN",
},
schedule=None,
)
Loading the access token from an Airflow Variable
If you store tokens as Airflow Variables (one per target IOMETE cluster), pass the Variable name via access_token_variable instead of the raw token. The plugin calls Variable.get at task-execute time, so different tasks can target different IOMETE clusters by naming different Variables. We recommend prefixing your Variable names with iomete_ to keep them grouped in Admin → Variables.
# Define an Airflow Variable named "iomete_prod_token" in Admin → Variables, then:
task = IometeOperator(
task_id="run_on_prod",
job_id="...",
host="https://prod.iomete.com",
domain="prod",
access_token_variable="iomete_prod_token",
dag=dag,
)
Specify either access_token or access_token_variable, never both. If the resolved Variable is unset or empty at execute time the task fails with a clear error.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
job_id |
str |
yes | — | Spark Job ID or name in the IOMETE platform. |
host |
str |
yes | — | IOMETE platform host URL. |
domain |
str |
yes | — | IOMETE domain identifier. |
access_token |
str |
one of these two | — | Personal access token, passed as a raw string. |
access_token_variable |
str |
one of these two | — | Name of an Airflow Variable holding the token. Resolved via Variable.get at execute time. |
host_verify |
bool |
no | True |
Verify the TLS certificate of the IOMETE host. |
host, domain, and access_token_variable are Jinja-templatable. access_token is not templatable: Airflow persists rendered template fields to its metadata database and exposes them in the UI, so templating raw tokens would leak them. Use access_token_variable to template the lookup name instead.
Migrating from 2.x
The 2.x plugin read connection details from four Airflow Variables (iomete_host, iomete_access_token, iomete_domain, iomete_host_verify) and exposed a variable_prefix parameter to namespace them. Both are gone in 3.0.0. Pass host, domain, and either access_token or access_token_variable (and optionally host_verify) directly to IometeOperator. If you previously used variable_prefix, set access_token_variable to the full Airflow Variable name instead (e.g. access_token_variable="iomete_prod_token").
Resources
For more information check:
Metadata
Release files for iomete-airflow-plugin 3.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| iomete_airflow_plugin-3.1.0.tar.gz | 5.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iomete_airflow_plugin-3.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.5 kB
Release files / iomete_airflow_plugin-3.1.0.tar.gz
| Download URL | iomete_airflow_plugin-3.1.0.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aac6fe8c6d15acf500004c4b78e3fd62dc53a6bc6fd8a3c66d0e539b79b02a6a
|
|
BLAKE2b-256 checksum How to use checksums |
cb3f8c0f4a8a64404e491a93035ab162c6fe044b3e0809f28e55913b2c946b62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.13.5 Darwin/24.4.0
|
Release files / iomete_airflow_plugin-3.1.0-py3-none-any.whl
| Download URL | iomete_airflow_plugin-3.1.0-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6da728864b90d8beebe426bb20d643ceb4cfb1ecc62c82799cad9a16aeb9585c
|
|
BLAKE2b-256 checksum How to use checksums |
109b8499456eed9db008c9d1725ccfe058adb140e1e19d414a487ab12f7797d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.13.5 Darwin/24.4.0
|
Security for iomete-airflow-plugin 3.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.