{"id":9644,"library":"dbnd","title":"Databand (dbnd)","description":"Databand (dbnd) is a Python library for MLOps, providing orchestration, monitoring, and debugging capabilities for data pipelines. It allows users to define ML tasks and pipelines, track metadata, and integrate with orchestrators like Apache Airflow. The current version is 1.0.34.1, with releases occurring periodically, though core independent development appears to have slowed following an acquisition by IBM.","status":"maintenance","version":"1.0.34.1","language":"en","source_language":"en","source_url":"https://github.com/databand-ai/dbnd","tags":["mlops","orchestration","data-science","workflow","pipeline","tracking"],"install":[{"cmd":"pip install dbnd","lang":"bash","label":"Base installation"},{"cmd":"pip install dbnd[airflow]","lang":"bash","label":"With Airflow integration"}],"dependencies":[{"reason":"Commonly used for pipeline orchestration, enabled via `dbnd[airflow]` extra.","package":"apache-airflow","optional":true}],"imports":[{"symbol":"task","correct":"from dbnd import task"},{"symbol":"pipeline","correct":"from dbnd import pipeline"},{"symbol":"dbnd_context","correct":"from dbnd import dbnd_context"},{"symbol":"band","correct":"from dbnd import band"}],"quickstart":{"code":"import os\nfrom dbnd import task, pipeline, dbnd_context\n\n# Configure DBND to log to console for demonstration\n# In a real scenario, you'd typically integrate with a Databand tracking server\nos.environ['DBND__CORE__TRACKER'] = 'console' # Ensure console logging is enabled\nos.environ['DBND__CORE__DATABAND_URL'] = os.environ.get('DATABAND_URL', 'http://localhost:8080') # Placeholder\nos.environ['DBND__CORE__DATABAND_ACCESS_TOKEN'] = os.environ.get('DATABAND_ACCESS_TOKEN', 'YOUR_API_KEY') # Placeholder\n\n@task\ndef calculate_alpha(alpha: float) -> float:\n    print(f\"Alpha is: {alpha}\")\n    return alpha * 2\n\n@pipeline\ndef alpha_pipeline() -> float:\n    val1 = calculate_alpha(alpha=1.0)\n    val2 = calculate_alpha(alpha=val1)\n    return val2\n\nif __name__ == \"__main__\":\n    # Using dbnd_context to ensure configuration is applied for programmatic runs\n    with dbnd_context(conf={\"core\": {\"tracker\": [\"console\"]}}):\n        result = alpha_pipeline()\n        print(f\"\\nPipeline finished with result: {result}\")\n\n    print(\"\\nTo run via CLI with full tracking (if configured): dbnd run alpha_pipeline\")","lang":"python","description":"This quickstart defines a simple ML pipeline with two tasks using Databand's decorators. It configures the library to output tracking information to the console and demonstrates how to run a pipeline programmatically using `dbnd_context`. For full tracking, a Databand tracking server URL and API key would typically be configured via environment variables or a `dbnd.cfg` file."},"warnings":[{"fix":"Be aware that community support and independent feature velocity might be lower compared to actively developed open-source projects. Ensure your deployment aligns with expected long-term support plans.","message":"The `dbnd` library is currently in maintenance mode, with primary development efforts likely redirected towards IBM's enterprise MLOps offerings (Watsonx.data). While actively maintained, independent feature development may be limited.","severity":"gotcha","affected_versions":"1.x.x"},{"fix":"If using Airflow, install with `pip install dbnd[airflow]` to ensure all integration components are available.","message":"Full integration with orchestrators like Apache Airflow requires installing the optional `dbnd[airflow]` extra package, which adds necessary dependencies and plugins.","severity":"gotcha","affected_versions":"All 1.x.x"},{"fix":"Establish a clear configuration strategy. For production, centralize settings in `dbnd.cfg` or environment variables. For programmatic local runs, use `dbnd_context` for specific overrides.","message":"Databand's configuration system allows settings via environment variables (e.g., `DBND__CORE__TRACKER`), `dbnd.cfg` files, and programmatic `dbnd_context`. Inconsistent or missing configuration can lead to jobs not being tracked or failing.","severity":"gotcha","affected_versions":"All 1.x.x"},{"fix":"For basic local testing or programmatic embedding, direct Python execution is fine. For production or complex orchestrations, prefer the `dbnd run` CLI as it leverages `dbnd`'s full configuration and orchestrator integration capabilities.","message":"Running `dbnd` pipelines can be done either directly as Python scripts (wrapped in `dbnd_context`) or via the `dbnd run <pipeline_name>` CLI command. The CLI provides more robust control over execution and integration with tracking.","severity":"gotcha","affected_versions":"All 1.x.x"}],"env_vars":null,"last_verified":"2026-04-17T00:00:00.000Z","next_check":"2026-07-16T00:00:00.000Z","problems":[{"fix":"Install the Airflow integration package: `pip install dbnd[airflow]`","cause":"Attempting to use Databand features designed for Apache Airflow integration without installing the `dbnd-airflow` package (part of the `dbnd[airflow]` extra).","error":"ModuleNotFoundError: No module named 'dbnd_airflow'"},{"fix":"Enable console tracking via an environment variable: `export DBND__CORE__TRACKER=console` or by creating a `dbnd.cfg` file with `[core]\ntracker=console`.","cause":"Databand requires a tracking method (e.g., a remote server API or local console logging) to be explicitly configured. This error indicates neither was found.","error":"No tracking server configured and console tracking is disabled. To enable console tracking, add \"dbnd__core__tracker=console\" to your configuration."},{"fix":"Verify the `DBND__CORE__DATABAND_URL` and `DBND__CORE__DATABAND_ACCESS_TOKEN` environment variables or `dbnd.cfg` settings. Ensure the Databand tracking server is operational and accessible from your environment.","cause":"The `DBND__CORE__DATABAND_URL` is incorrectly set, the tracking server is not running, or there's a network connectivity issue preventing `dbnd` from reaching it.","error":"Cannot connect to Databand tracking server at <URL>. Please check your network connection and server availability. (Error: HTTPConnectionPool...)"}]}