{"id":13573960,"url":"https://github.com/weaveworks/grafanalib","last_synced_at":"2025-05-12T15:24:00.641Z","repository":{"id":14046186,"uuid":"75401165","full_name":"weaveworks/grafanalib","owner":"weaveworks","description":"Python library for building Grafana dashboards","archived":false,"fork":false,"pushed_at":"2025-01-03T21:13:38.000Z","size":873,"stargazers_count":1925,"open_issues_count":79,"forks_count":319,"subscribers_count":59,"default_branch":"main","last_synced_at":"2025-05-12T15:23:55.463Z","etag":null,"topics":["dashboards","edsl","grafana","monitoring"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weaveworks.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"docs/CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-12-02T14:11:13.000Z","updated_at":"2025-05-10T11:54:12.000Z","dependencies_parsed_at":"2023-01-16T20:01:02.106Z","dependency_job_id":"f7af5f1c-fcdb-4c2d-b0bb-37a3a6a8399c","html_url":"https://github.com/weaveworks/grafanalib","commit_stats":{"total_commits":547,"total_committers":115,"mean_commits":4.756521739130434,"dds":0.8482632541133455,"last_synced_commit":"5c3b17edaa437f0bc09b5f1b9275dc8fb91689fb"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fgrafanalib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fgrafanalib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fgrafanalib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaveworks%2Fgrafanalib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaveworks","download_url":"https://codeload.github.com/weaveworks/grafanalib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253764092,"owners_count":21960514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboards","edsl","grafana","monitoring"],"created_at":"2024-08-01T15:00:44.166Z","updated_at":"2025-05-12T15:24:00.611Z","avatar_url":"https://github.com/weaveworks.png","language":"Python","funding_links":[],"categories":["Monitoring","Python","Dashboards as code","📈 Dashboards \u0026 BI","Technologies we used in the Microservices"],"sub_categories":["Grafana","Shell into containers","Tools","Monitoring"],"readme":"===============================\nGetting Started with grafanalib\n===============================\n\n.. image:: https://readthedocs.org/projects/grafanalib/badge/?version=main\n    :alt: Documentation Status\n    :scale: 100%\n    :target: https://grafanalib.readthedocs.io/en/main\n\nDo you like `Grafana \u003chttp://grafana.org/\u003e`_ but wish you could version your\ndashboard configuration? Do you find yourself repeating common patterns? If\nso, grafanalib is for you.\n\ngrafanalib lets you generate Grafana dashboards from simple Python scripts.\n\nHow it works\n============\n\nTake a look at `the examples directory\n\u003chttps://github.com/weaveworks/grafanalib/blob/main/grafanalib/tests/examples/\u003e`_,\ne.g. `this dashboard\n\u003chttps://github.com/weaveworks/grafanalib/blob/main/grafanalib/tests/examples/example.dashboard.py\u003e`_\nwill configure a dashboard with a single row, with one QPS graph broken down\nby status code and another latency graph showing median and 99th percentile\nlatency.\n\nIn the code is a fair bit of repetition here, but once you figure out what\nworks for your needs, you can factor that out.\nSee `our Weave-specific customizations\n\u003chttps://github.com/weaveworks/grafanalib/blob/main/grafanalib/weave.py\u003e`_\nfor inspiration.\n\nYou can read the entire grafanlib documentation on `readthedocs.io\n\u003chttps://grafanalib.readthedocs.io/\u003e`_.\n\nGetting started\n===============\n\ngrafanalib is just a Python package, so:\n\n.. code-block:: console\n\n  $ pip install grafanalib\n\n\nGenerate the JSON dashboard like so:\n\n.. code-block:: console\n\n  $ curl -o example.dashboard.py https://raw.githubusercontent.com/weaveworks/grafanalib/main/grafanalib/tests/examples/example.dashboard.py\n  $ generate-dashboard -o frontend.json example.dashboard.py\n\n\nSupport\n=======\n\nThis library is in its very early stages. We'll probably make changes that\nbreak backwards compatibility, although we'll try hard not to.\n\ngrafanalib works with Python 3.6 through 3.11.\n\nDeveloping\n==========\nIf you're working on the project, and need to build from source, it's done as follows:\n\n.. code-block:: console\n\n  $ virtualenv .env\n  $ . ./.env/bin/activate\n  $ pip install -e .\n\nConfiguring Grafana Datasources\n===============================\n\nThis repo used to contain a program ``gfdatasource`` for configuring\nGrafana data sources, but it has been retired since Grafana now has a\nbuilt-in way to do it.  See https://grafana.com/docs/administration/provisioning/#datasources\n\nCommunity\n=========\n\nWe currently don't follow a roadmap for ``grafanalib`` and both `maintainers\n\u003chttps://github.com/weaveworks/grafanalib/blob/main/MAINTAINERS\u003e` have recently\nbecome somewhat occupied otherwise.\n\nWe'd like you to join the ``grafanalib`` community! If you would like to\nhelp out maintaining ``grafanalib`` that would be great. It's a fairly laid-back\nand straight-forward project. Please talk to us on Slack (see the links below).\n\nWe follow the `CNCF Code of Conduct \u003c/docs/CODE_OF_CONDUCT.rst\u003e`_.\n\nGetting Help\n------------\n\nIf you have any questions about, feedback for or problems with ``grafanalib``:\n\n- Read the documentation at https://grafanalib.readthedocs.io\n- Invite yourself to the `Weave Users Slack \u003chttps://slack.weave.works/\u003e`_.\n- Ask a question on the `#grafanalib \u003chttps://weave-community.slack.com/messages/grafanalib/\u003e`_ slack channel.\n- `File an issue \u003chttps://github.com/weaveworks/grafanalib/issues/new\u003e`_.\n\nYour feedback is always welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaveworks%2Fgrafanalib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweaveworks%2Fgrafanalib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaveworks%2Fgrafanalib/lists"}