Metadata-Version: 2.4
Name: jampp_reporting_api_client
Version: 0.3.2
Summary: Client for Reporting API.
Home-page: https://github.com/jampp/reporting-api-client
Author: Jampp
Author-email: data-infra@jampp.com
Description-Content-Type: text/x-rst
Requires-Dist: gql>=3.0.0
Requires-Dist: requests<3
Requires-Dist: requests_toolbelt<2,>=1.0.0
Requires-Dist: requests_oauthlib
Provides-Extra: dev
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pip-tools; extra == "dev"
Requires-Dist: pre-commit>2.9.2; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: pandas
Requires-Dist: pandas; extra == "pandas"
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

====================
Reporting API Client
====================

This is a Python Client for `Jampp's Reporting API`_. For more information, check the `docs`_.

Features
========

* Execute Pivots in an user friendly manner.
* Execute raw GraphQL queries against the Reporting API.


Basic Usage
===========

.. code-block:: python

    import os

    from reporting_api_client import ReportingAPIClient


    client = ReportingAPIClient(os.environ["CLIENT_ID"], os.environ["CLIENT_SECRET"])
    query = """{
        pivot(from: "2022-07-01", to: "2022-07-02", granularity: DAILY) {
            results {
                clicks
            }
        }
    }"""

    result = client.query(query)
    print(result)


Executing the above code should output a result similar to the following:

  .. code-block:: console

      $ python example.py
      {'pivot': {'results': [{'clicks': 123456}]}}

.. _`Jampp's Reporting API`: https://developers.jampp.com/docs/reporting-api/
.. _docs: https://developers.jampp.com/docs/reporting-api-client/


.. _changelog:

==========
Change Log
==========

All notable changes to this project will be documented here.

Sort subsections like so: Added, Bugfixes, Improvements, Technical tasks.
Group anything an end user shouldn't care deeply about into technical
tasks, even if they're technically bugs. Only include as "bugfixes"
bugs with user-visible outcomes.

When major components get significant changes worthy of mention, they
can be described in a Major section.


v0.3.2 - 2026-06-01
===================

Changed
-------

- Relax gql requirements to improve compatibility with older stacks


v0.3.1 - 2026-04-29
===================

Yanked

v0.3.0 - 2022-09-12
===================

Added
-----

- Add workflows for CI and publishing to PyPI.
- Host documentation publically.

Changed
-------

- Remove Jampp's refferences.


v0.2.0 - 2022-08-29
===================

Added
-----

- Remove need of introspection on client.


v0.1.0 - 2022-07-19
===================

Added
-----

- Add base ``ReportingAPIClient`` implementation using OAuth for authentication
- Rename to ``reporting_api_client``.
