Skip to content

WagPTech/grafana_api

 
 

Repository files navigation

grafana_api Github Actions Test GitHub license Codecov

PyPI Conda

What is this library for?

Yet another Grafana API library for Python. Support Python 3 only.

Requirements

You need Python 3 and only the requests library installed.

Quick start

Install the pip package:

pip install -U grafana_api

And then connect to your Grafana API endpoint:

from grafana_api.grafana_face import GrafanaFace

grafana_api = GrafanaFace(auth='abcde....', host='api.my-grafana-host.com')

# Create user
user = grafana_api.admin.create_user({"name": "User", "email": "[email protected]", "login": "user", "password": "userpassword", "OrgId": 1})

# Change user password
user = grafana_api.admin.change_user_password(2, "newpassword")

# Search dashboards based on tag
grafana_api.search.search_dashboards(tag='applications')

# Find a user by email
user = grafana_api.users.find_user('[email protected]')

# Add user to team 2
grafana_api.teams.add_team_member(2, user["id"])

# Create or update a dashboard
grafana_api.dashboard.update_dashboard(dashboard={'dashboard': {...}, 'folderId': 0, 'overwrite': True})

# Delete a dashboard by UID
grafana_api.dashboard.delete_dashboard(dashboard_uid='abcdefgh')

# Create organization
grafana_api.organization.create_organization({"name":"new_organization"})

Authentication

There are two ways to autheticate to grafana api. Either use api token or basic auth.

To use admin API you need to use basic auth as stated here

# Use basic authentication:

grafana_api = GrafanaFace(
          auth=("username","password"),
          host='api.my-grafana-host.com'
          )

# Use token
grafana_api = GrafanaFace(
          auth='abcdetoken...',
          host='api.my-grafana-host.com'
          )

Status of REST API realization

Work on API implementation still in progress.

API Status
Admin +
Alerting -
Alerting Notification Channels +
Annotations +
Authentication +-
Dashboard +
Dashboard Versions -
Dashboard Permissions +
Data Source +
Folder +
Folder Permissions +
Folder/Dashboard Search +-
Organisation +
Other +
Preferences +
Snapshot +
Teams +
User +

Issue tracker

Please report any bugs and enhancement ideas using the grafana_api issue tracker:

https://github.com/m0nhawk/grafana_api/issues

Feel free to also ask questions on the tracker.

License

grafana_api is licensed under the terms of the MIT License (see the file LICENSE).

About

Yet another Python library for Grafana API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%