Metadata-Version: 2.4
Name: graphite-render
Version: 1.1.8
Summary: based on graphite-api, which is based graphite-web, but maintained for python3.
Author-email: Bruno Renié <bruno@renie.fr>, Christoph Settgast <csett86_git@quicksands.de>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/csett86/graphite-render
Project-URL: Repository, https://github.com/csett86/graphite-render
Keywords: graphite,api,monitoring,visualization
Classifier: Development Status :: 6 - Mature
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: Flask
Requires-Dist: PyYAML
Requires-Dist: cairocffi
Requires-Dist: pyparsing>=3.0.0
Requires-Dist: structlog
Requires-Dist: tzlocal
Provides-Extra: sentry
Requires-Dist: raven[flask]; extra == "sentry"
Provides-Extra: cyanite
Requires-Dist: cyanite; extra == "cyanite"
Provides-Extra: cache
Requires-Dist: flask-caching; extra == "cache"
Provides-Extra: statsd
Requires-Dist: statsd; extra == "statsd"
Dynamic: license-file

Graphite-Render
===============

**Note:** This is a maintained friendly fork of the upstream project at
https://github.com/brutasse/graphite-api.

Graphite-web, without the interface. Just the rendering HTTP API.

This is a minimalistic API server that replicates the behavior of
Graphite-web. I removed everything I could and simplified as much code as
possible while keeping the basic functionality.

Implemented API calls:

* ``/metrics/find``
* ``/metrics/expand``
* ``/render``

No-ops:

* ``/dashboard/find``
* ``/dashboard/load/<name>``
* ``/events/get_data``

Difference from graphite-web
----------------------------

* Stateless. No need for a database.
* No Pickle rendering.
* No remote rendering.
* JSON data in request bodies is supported, additionally to form data and
  querystring parameters.
* Ceres integration will be as an external backend.
* Compatibility with python 3.
* Easy to install and configure.

Goals
-----

* Solid codebase. Good test coverage.
* Ease of installation/use/configuration.
* Compatibility with the original Graphite-web API and 3rd-party dashboards.

Non-goals
---------

* Support for very old Python versions
* Built-in support for every metric storage system in the world. Whisper is
  included by default, other storages are added via 3rd-party backends.

Documentation
-------------

In the ``docs/`` directory.

Hacking
-------

`Tox`_ is used to run the tests for all supported environments. To get started
from a fresh clone of the repository:

.. code-block:: bash

    pip install tox
    tox

.. _Tox: https://testrun.org/tox/
