Skip to main content

DataDog Dashboard Deployer

A powerful framework for deploying DataDog dashboards as code using CI/CD pipelines. Define, version, and automate your DataDog dashboard deployments using YAML configurations.

versions

PyPI version PyPI version Python

health

Quality Gate Status Overall Coverage Security Rating Maintainability Rating Vulnerabilities Dependabot Status Code style: black

stats

Downloads License: MIT

Features

  • 🚀 Configuration as Code: Define dashboards using YAML configuration files
  • 🔄 Automated Deployment: Deploy dashboards automatically via GitHub Actions
  • 📊 Rich Widget Support: Support for timeseries, query values, heatmaps, and more
  • 🔐 Secure Credentials: Handle DataDog API credentials securely
  • 🎨 Templating Support: Create dynamic dashboards using Jinja2 templating
  • 🔌 Extensible Architecture: Easy to extend and customize

Quick Start

Installation

pip install datadog-dashboard-deployer

Basic Usage

  1. Set up your DataDog credentials:
export DATADOG_API_KEY='your-api-key'
export DATADOG_APP_KEY='your-application-key'
  1. Create a dashboard configuration:
# config/dashboard_config.yaml
version: "1.0"
dashboards:
  - name: "System Overview"
    description: "System performance metrics"
    widgets:
      - title: "CPU Usage"
        type: "timeseries"
        query: "avg:system.cpu.user{*}"
      - title: "Memory Usage"
        type: "timeseries"
        query: "avg:system.mem.used{*}"
  1. Deploy your dashboard:
datadog-dashboard-deploy config/dashboard_config.yaml

Project Structure

datadog-dashboard-deployer/
├── src/
│   └── datadog_dashboard_deployer/
│       ├── __init__.py
│       ├── core.py       # Core logic for dashboard creation
│       ├── config.py     # Configuration handling
│       └── utils.py      # Utility functions
├── config/
│   └── dashboard_config.yaml  # Main dashboard configuration
├── .github/
│   └── workflows/
│       └── deploy.yml      # GitHub Actions workflow
├── tests/                  # Test suite
├── docs/                   # Documentation
├── requirements.txt        # Project dependencies
├── setup.py               # Package configuration
└── README.md

Documentation

GitHub Actions Integration

  1. Add DataDog credentials as secrets:

    • Go to repository Settings > Secrets and Variables > Actions
    • Add DATADOG_API_KEY and DATADOG_APP_KEY
  2. Create a workflow file:

# .github/workflows/deploy.yml
name: Deploy Dashboards
on:
  push:
    branches: [main]
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: "3.x"
      - name: Deploy dashboards
        env:
          DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
          DATADOG_APP_KEY: ${{ secrets.DATADOG_APP_KEY }}
        run: |
          pip install datadog-dashboard-deployer
          datadog-dashboard-deploy config/dashboard_config.yaml

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  1. Clone the repository:
git clone https://github.com/fleXRPL/datadog-dashboard-deployer.git
cd datadog-dashboard-deployer
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install development dependencies:
pip install -r requirements-dev.txt

Security

  • API keys are stored securely as environment variables or GitHub secrets
  • Regular security audits and dependency updates
  • See our Security Policy for details

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Metadata

Release files for datadog-dashboard-deployer 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datadog-dashboard-deployer 0.1.0
File Size Uploaded
datadog_dashboard_deployer-0.1.0.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for datadog-dashboard-deployer 0.1.0
File Interpreter ABI Platform
datadog_dashboard_deployer-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.3 kB

Release files / datadog_dashboard_deployer-0.1.0.tar.gz

Download URL datadog_dashboard_deployer-0.1.0.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
381dae1150a435b1d8dbe519e931b2f01dfe4860c565d09d8ffde618887f4d55
BLAKE2b-256 checksum
How to use checksums
f4aa627561099fdb4c7bfb15fc2c303c13d0c503349191d66bdd27ccdd0d683d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2025.

Transparency log

Release files / datadog_dashboard_deployer-0.1.0-py3-none-any.whl

Download URL datadog_dashboard_deployer-0.1.0-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c59f58901d8dfa9c1817ed6dd39a3bbee5945f55c6b1eb2060244e90b70e7b0
BLAKE2b-256 checksum
How to use checksums
7d68f4386e68cec6417898b19db247c62f217bb7f2dc9af246c4cc680d61e5db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page