- CI: Verified support on Python 3.13
- Allowed setting the session pool size in
niquests
. Thanks, @sjoeboo.
- Added page support for search API. Thanks, @vbichov.
- Fix release process
- Return
None
when version info is disabled in Grafana. Thanks, @schmiddim. - Improve Grafana version parsing for patch releases like
11.3.0-75420.patch2-75797
Thanks, @Zhuse.
- Fixed dashboard search endpoint wrapper.
- Added support for query parameters on endpoints, also fixing
get_all_folders
. - Added missing API wrapper for Library Elements to the Async client.
- Implemented teams read endpoints for user and actual user.
All fixes and improvements submitted by @chintal. Thank you so much.
- Packaging: Do not mark package as "universal wheel" py2, py3. Thanks, @Ousret.
- Add asynchronous interface via
AsyncGrafanaClient
. Thanks, @Ousret. Changed the HTTP backend fromrequests
toniquests
. BREAKING CHANGE: In certain conditions, you will need to adjust your code, as it no longer propagatesrequests.exceptions.Timeout
exceptions, but usesGrafanaTimeoutError
instead. Other than this, Niquests is a drop- in replacement for [Requests] and therefore is largely compatible. - Remove Python 3.6 support. Thanks, @Ousret.
- Improve support for folders, by adding
parent_uid
option to relevant endpoints, and by adding missingmove_folder
. Thanks, @grafuls. - Service Accounts: Unlock endpoint to update service account by id. Thanks, @einar-lanfranco.
- Data Source API: Add support for Amazon Redshift and Clickhouse. Thanks, @lpfann and @mysuperai.
- Fixed delete operation on "teams" API endpoint. Grafana introduced a breaking change in 10.2.0, see grafana/grafana#76325. This fix handles it. Thanks, @hamelg.
- Adjust data source permissions APIs changed with Grafana Enterprise 10.2.3. Thanks, @hamelg.
- Add support for service accounts. Thanks, @einar-lanfranco and @feerbau.
- Fix querying InfluxDB with InfluxQL. Thanks, @storg2001.
- Fix
add_annotation
to also acceptdashboard_uid
argument. Thanks, @IBUMBLEBEE.
- Add dashboard methods
get_permissions_by_uid
andupdate_permissions_by_uid
. Thanks, @meyerder. - Add
organization_id
argument toGrafanaApi
andGrafanaClient
, for targeting all requests to a Grafana organization using theX-Grafana-Org-Id
HTTP header. Thanks, @lilatomic.
- Add support for Python 3.12, remove use of deprecated
distutils
. Thanks, @foreverhy.
- Plugins: Accept empty JSON response on plugin uninstall
- Refine API wrapper for "Plugins" once more. Please note this adjustment changes all the method names of the recently added "plugins" API wrappers, so it is effectively a BREAKING CHANGE, if you used it already.
- Fix release workflow
- Refine API wrapper for "Plugins"
- Add API wrapper for "Plugins". Thanks, @bhks.
- Improve
smartquery
andquery_factory
beyond data source health checks. Thanks, @peekjef72.
- Deprecate
get_dashboard_by_name
on Grafana 8 and higher, as it no longer supports getting dashboards by slug. Thanks, @oz123. - Add
disable_provenance
parameter to applicable method calls. Thanks, @beeradb. - Add
get_rule_group
method. Thanks, @beeradb.
- Add missing argument
dashboard_uid
toget_annotation
method. Thanks, @nikita-b. - Add API method
get_alertrules_all
. Thanks, @harish422. - Improve usability and documentation for changing timeout settings. Thanks, @bukem and @dheeg.
- Add support for a subset of the "RBAC" API. Thanks, @hamelg.
- Add support for "Datasource Permissions" API. Thanks, @hamelg.
- Add support for "External Group Sync" API. Thanks, @hamelg.
- Add support for "User Preferences" API. Thanks, @autokilla47.
- Improve "Organization and Teams Preferences" APIs. Thanks, @autokilla47.
- Alerting Provisioning: Add support for
X-Disable-Provenance
header. Thanks, @jyepesr1 and @alexmobo.
- Implement foundation for accessing the Alerting API. Thanks, @Maharacha.
- Fix handling
204 No Content
responses from Grafana HTTP API.
- Implement foundation for accessing the Alerting Provisioning API. Thanks, @bursztyn-pl.
- Update the
update_folder
method of the folder API to allow changing the UID of the folder. Thanks, @iNoahNothing. - Add
update_datasource_by_uid
to the datasource API. Thanks, @mgreen-sm. - Add
HeaderAuth
authentication mechanism, using an arbitrary HTTP header for authentication, where the user can specify both its name and value. Thanks, @l0tzi.
- Add example program
examples/team.py
. Thanks, @ricmano! - Improve data source API by adding the
_by_uid
variants. - Improve data source API by adding universal
datasource.get()
method. - Improve data source API by adding a data source health-check probe.
- Support data source health check endpoint introduced with Grafana 9. Thanks, @jangaraj!
- Add gracefulness when using the new data source health check endpoint. Apparently, this is not implemented thoroughly for all data source types yet.
- Add new factory methods
GrafanaApi.{from_url(),from_env()}
. - Add
GrafanaApi.connect()
andGrafanaApi.version()
. - Data source health check subsystem refactoring, many software tests.
- Improve example programs
datasource-health-*
- Add example program
datasource-query.py
- Add example program
grafanalib-upload-dashboard.py
- Fix endless-loop bug in the
search_teams
function. Thanks, @changdingfang! - Set the
User-Agent
header tografana-client/{version}
- Don't permit scalar value as JSON request body to the Grafana HTTP API, it is always wrong. Thanks, @ricmano!
- Example
datasource-health-check
: Without--uid
option, scan the whole Grafana instance - Data source health check: Be graceful on network read timeouts
- Data source health check: Improve acceptance criteria when probing Prometheus
- Data source health check: Clean up core implementation, add more tests Code coverage is now at 100%.
- Add support for "Dashboard Versions" API. Thanks, @DrMxxxxx!
- Add
datasource.query_range()
anddatasource.series()
functions to retrieve metric values. Thanks, @RalfHerzog!
- Make
GrafanaApi(auth=)
an optional argument. This makes it easier to connect to Grafana instances that do not require authentication. - Add basic example program, inquiring
play.grafana.org
.
- Fix annotations query string parameter
dashboardId
. Thanks, @richbon75!
- Retrieve dashboard by name/title. Thanks, @luixx!
- Fixed annotations tags and userid params. Thanks, @Lasica!
- Add handler for health API. Thanks, @peekjef72!
- Add support for datasource proxying. Thanks, @peekjef72!
- Fix compatibility between
actions/checkout@v2
andsetuptools_scm
- Fix
folderId
propagation forupdate_dashboard
- Another release fixup, because GHA still wants to build 2.0.0.
- Just a release fixup, because 2.0.0 has accidentally been published during testing already.
2.0.0 (2022-02-03)
- CI: Make release job grab the complete repository history. Thanks, @m0nhawk!
- CI: Fix path to
conda/setup.py
. Thanks, @m0nhawk! - Improve README: Add examples for creating a user and an organization. Thanks, @patsevanton!
- Fork the repository to https://github.com/panodata/grafana-client. Discussion: m0nhawk/grafana_api#88.
- Rename Python package from
grafana_api
tografana-client
and update the repository location. - CI: Fix tests on PyPy by installing
libxml2-dev
andlibxslt-dev
- CI: Fix Codecov uploader by using GitHub Action recipe
- CI: Remove CodeQL analysis
- Adjust documentation to project fork
- CI: Expand test matrix by Python 3.9 and 3.10
- Add
CHANGELOG.md
, generated withchglog
- CI: Remove automatic changelog generation with
chglog
- Refactoring: Rename module names and references
- Format code with
black
andisort
- Improve inline documentation
- Add
MANIFEST.in
to exclude specific files fromsdist
package - CI: Update from
pep517.build
tobuild
- CI: Modernize package versions
- CI: Don't fail run when upload to Codecov fails
1.0.3 (2020-08-16)
- git history for tests (00c9331)
- add test for install (3ff0d7d)
- wrong tag for gh-action-pypi-publish (5e2bbf2)
- wrong tag for checkout action (9d20cd3)
- update (6bd5807)
- skip existing package on Test PyPi (599cdf2)
- update Conda package publish (8d19a25)
- update test workflow (088fd9d)
- updates (e3f59a2)
- add Markdown for long description (a870f80)
- move to PEP-517 (7aab182)
- run on "push" (5034f17)
- updated workflow (56f9010)
- remove poetry.lock (6c35d9b)
- update poetry.lock (ecf18f2)
- update dev packages (f330f24)
- remove setup.py (6d8c744)
- update to Poetry (a1a3f57)
- Merge pull request #73 from m0nhawk/feat/new-workflows
- Merge pull request #72 from m0nhawk/feat/poetry
- Merge pull request #71 from mottish/master
- Merge pull request #67 from Frantisek12/feat/readme
1.0.2 (2020-05-18)
- verbose output (b37fc07)
- update Github Secret name :/ (1aa3e36)
- binary name (a610d41)
- release workflow (4f64a1e)
- Merge pull request #66 from beingnikhilarora/master
- Merge pull request #65 from djessedirckx/feature/notifications
1.0.1 (2020-03-18)
- new release pipeline (ae1bad3)
- Merge pull request #60 from teodoryantcheff/master
- Merge pull request #57 from m0nhawk/dependabot/pip/unittest-xml-reporting-approx-eq-3.0
1.0.0 (2020-02-07)
- remove CircleCI (70994fd)
- update to Github Actions PyPa (f4f3ae1)
- Github actions tests (74b5c75)
0.9.3 (2020-01-22)
- Merge pull request #55 from megamorf/hotfix/fix_tags_parameter
0.9.2 (2019-12-17)
- Merge pull request #52 from larsderidder/improve-errors
- Merge pull request #53 from m0nhawk/dependabot/pip/coverage-approx-eq-5.0
0.9.1 (2019-10-19)
0.9.0 (2019-09-16)
0.8.6 (2019-09-16)
- Merge pull request #46 from Sytten/master
0.8.5 (2019-09-09)
- Merge pull request #43 from Sytten/master
- Merge pull request #41 from m0nhawk/dependabot/pip/requests-mock-approx-eq-1.7
0.8.4 (2019-08-19)
- README: remove coveralls badge (f36e976)
- api: python2 Teams support, fix #24 (c8cfd37)
- circleci: do not put VERSION file to Github release (59d3e7d)
- organization: fix #11, rename to “Organization” the same as in Grafana API (d445d91)
- python: error handling which doesn't hide exceptions, addresses #37 (ba76dc6)
- auto-deploy: build package automatically (5b16e31)
- circleci: test on Python 2.7, 3.6 & 3.7 (3906264)
- circleci: remove debug statements (a4c29f8)
- circleci: pre-create git version (27fac5a)
- dep: adding missing dependency for Python 2 testing (d1324ad)
- travis: remove (a4f65ae)
- Merge pull request #39 from m0nhawk/error-handling
- Merge pull request #36 from m0nhawk/chore/migrating-to-yaml-syntax
- Merge pull request #35 from Panchorn/master
- Merge pull request #33 from ohmrefresh/master
- Merge pull request #31 from m0nhawk/feat/circleci
- Merge pull request #30 from mbovo/issue/29
- Merge pull request #1 from m0nhawk/master
- Merge pull request #28 from m0nhawk/fix/python2
- Merge pull request #27 from mbovo/issue/26
- Merge pull request #25 from m0nhawk/dependabot/pip/requests-2.22.0
- Merge pull request #23 from sedan07/adding-teams-support
- Merge pull request #22 from OlegKorchagin/backward-compatibility-with-python2.7
- Merge pull request #21 from ZubAnt/master
- Merge pull request #20 from m0nhawk/fix/readme
- Merge pull request #19 from m0nhawk/feat/auto-deploy
- Merge pull request #18 from m0nhawk/fix/organization
0.8.3 (2019-08-08)
- Merge pull request #35 from Panchorn/master
0.8.2 (2019-07-23)
0.8.1 (2019-07-20)
0.8.0 (2019-07-20)
- circleci: test on Python 2.7, 3.6 & 3.7 (3906264)
- dep: adding missing dependency for Python 2 testing (d1324ad)
- travis: remove (a4f65ae)
0.7.5 (2019-06-06)
0.7.4 (2019-06-05)
- api: python2 Teams support, fix #24 (c8cfd37)
- Merge pull request #28 from m0nhawk/fix/python2
- Merge pull request #27 from mbovo/issue/26
- Merge pull request #25 from m0nhawk/dependabot/pip/requests-2.22.0
0.7.3 (2019-05-04)
- Merge pull request #23 from sedan07/adding-teams-support
0.7.2 (2019-04-28)
- Merge pull request #22 from OlegKorchagin/backward-compatibility-with-python2.7
0.7.1 (2019-04-22)
- README: remove coveralls badge (f36e976)
- circleci: do not put VERSION file to Github release (59d3e7d)
- circleci: remove debug statements (a4c29f8)
0.7.0 (2019-04-05)
- organization: fix #11, rename to “Organization” the same as in Grafana API (d445d91)
- auto-deploy: build package automatically (5b16e31)
- circleci: pre-create git version (27fac5a)
- Merge pull request #19 from m0nhawk/feat/auto-deploy
- Merge pull request #18 from m0nhawk/fix/organization
0.6.0 (2019-03-31)
- deploy: setup Github actions for deployment (76de1bf)
- test: store Artifacts (1c67dd5)
- test: JUnit reporting for CircleCI (79b8063)
- Merge pull request #16 from m0nhawk/test/codecov
- Merge pull request #15 from m0nhawk/test/coverage
- Merge pull request #13 from m0nhawk/feat/test
- Merge pull request #12 from max-rocket-internet/actual_quickstart
v0.5.3 (2019-08-19)
- deploy: setup Github actions for deployment (76de1bf)
- test: store Artifacts (1c67dd5)
- test: JUnit reporting for CircleCI (79b8063)
- tests: improve coverage for SonarCloud (4701c1c)
- Merge pull request #16 from m0nhawk/test/codecov
- Merge pull request #15 from m0nhawk/test/coverage
- Merge pull request #13 from m0nhawk/feat/test
- Merge pull request #12 from max-rocket-internet/actual_quickstart
- Merge pull request #10 from marfx000/tag-filter-fix
- Merge pull request #9 from Eric-Fontana-Bose/master
- Merge pull request #8 from asalkeld/fix-tests
- Merge pull request #6 from asalkeld/fix-token-auth
- Merge pull request #7 from asalkeld/support-ssl-noverify
v0.5.2 (2019-02-26)
v0.5.1 (2019-02-04)
- Merge pull request #10 from marfx000/tag-filter-fix
v0.5.0 (2018-11-25)
- Merge pull request #9 from Eric-Fontana-Bose/master
- tests: improve coverage for SonarCloud (4701c1c)
- Merge pull request #9 from Eric-Fontana-Bose/master
- Merge pull request #8 from asalkeld/fix-tests
- Merge pull request #6 from asalkeld/fix-token-auth
- Merge pull request #7 from asalkeld/support-ssl-noverify
- Merge pull request #4 from svet-b/fix_setup
- Merge pull request #3 from tharvik/master
- Merge pull request #2 from cristim/master
- Merge pull request #1 from tescalada/master
v0.3.5 (2018-10-17)
- Merge pull request #8 from asalkeld/fix-tests
v0.3.4 (2018-10-17)
- Merge pull request #6 from asalkeld/fix-token-auth
- Merge pull request #7 from asalkeld/support-ssl-noverify
v0.3.3 (2018-10-10)
- tests: improve coverage for SonarCloud (4701c1c)
- Merge pull request #4 from svet-b/fix_setup
v0.3.2 (2018-10-07)
v0.3.1 (2018-10-05)
v0.3.0 (2018-10-04)
v0.2.9 (2018-10-04)
v0.2.8 (2018-06-03)
- Merge pull request #3 from tharvik/master
- Merge pull request #2 from cristim/master
- Merge pull request #1 from tescalada/master