Metadata-Version: 2.1
Name: jampp-reporting-api-client
Version: 0.3.0
Summary: Client for Reporting API.
Home-page: https://github.com/jampp/reporting-api-client
Author: Jampp
Author-email: data-infra@jampp.com
License: UNKNOWN
Platform: UNKNOWN
Description-Content-Type: text/x-rst
Requires-Dist: gql[requests] (>=3.0.0)
Requires-Dist: requests-oauthlib
Provides-Extra: dev
Requires-Dist: attrs (==21.4.0) ; extra == 'dev'
Requires-Dist: backoff (==2.1.2) ; extra == 'dev'
Requires-Dist: bleach (==5.0.1) ; extra == 'dev'
Requires-Dist: build (==0.8.0) ; extra == 'dev'
Requires-Dist: certifi (==2022.6.15) ; extra == 'dev'
Requires-Dist: cfgv (==3.3.1) ; extra == 'dev'
Requires-Dist: charset-normalizer (==2.1.0) ; extra == 'dev'
Requires-Dist: click (==8.1.3) ; extra == 'dev'
Requires-Dist: commonmark (==0.9.1) ; extra == 'dev'
Requires-Dist: distlib (==0.3.5) ; extra == 'dev'
Requires-Dist: docutils (==0.19) ; extra == 'dev'
Requires-Dist: filelock (==3.7.1) ; extra == 'dev'
Requires-Dist: gql[requests] (==3.4.0) ; extra == 'dev'
Requires-Dist: graphql-core (==3.2.1) ; extra == 'dev'
Requires-Dist: identify (==2.5.1) ; extra == 'dev'
Requires-Dist: idna (==3.3) ; extra == 'dev'
Requires-Dist: importlib-metadata (==4.12.0) ; extra == 'dev'
Requires-Dist: iniconfig (==1.1.1) ; extra == 'dev'
Requires-Dist: keyring (==23.7.0) ; extra == 'dev'
Requires-Dist: multidict (==6.0.2) ; extra == 'dev'
Requires-Dist: mypy (==0.971) ; extra == 'dev'
Requires-Dist: mypy-extensions (==0.4.3) ; extra == 'dev'
Requires-Dist: nodeenv (==1.7.0) ; extra == 'dev'
Requires-Dist: oauthlib (==3.2.0) ; extra == 'dev'
Requires-Dist: packaging (==21.3) ; extra == 'dev'
Requires-Dist: pep517 (==0.12.0) ; extra == 'dev'
Requires-Dist: pip-tools (==6.8.0) ; extra == 'dev'
Requires-Dist: pkginfo (==1.8.3) ; extra == 'dev'
Requires-Dist: platformdirs (==2.5.2) ; extra == 'dev'
Requires-Dist: pluggy (==1.0.0) ; extra == 'dev'
Requires-Dist: pre-commit (==2.20.0) ; extra == 'dev'
Requires-Dist: py (==1.11.0) ; extra == 'dev'
Requires-Dist: pygments (==2.12.0) ; extra == 'dev'
Requires-Dist: pyparsing (==3.0.9) ; extra == 'dev'
Requires-Dist: pytest (==7.1.2) ; extra == 'dev'
Requires-Dist: pyyaml (==6.0) ; extra == 'dev'
Requires-Dist: readme-renderer (==35.0) ; extra == 'dev'
Requires-Dist: requests (==2.28.1) ; extra == 'dev'
Requires-Dist: requests-oauthlib (==1.3.1) ; extra == 'dev'
Requires-Dist: requests-toolbelt (==0.9.1) ; extra == 'dev'
Requires-Dist: rfc3986 (==2.0.0) ; extra == 'dev'
Requires-Dist: rich (==12.5.1) ; extra == 'dev'
Requires-Dist: six (==1.16.0) ; extra == 'dev'
Requires-Dist: toml (==0.10.2) ; extra == 'dev'
Requires-Dist: tomli (==2.0.1) ; extra == 'dev'
Requires-Dist: twine (==4.0.1) ; extra == 'dev'
Requires-Dist: typed-ast (==1.5.4) ; extra == 'dev'
Requires-Dist: types-requests (==2.28.9) ; extra == 'dev'
Requires-Dist: types-urllib3 (==1.26.23) ; extra == 'dev'
Requires-Dist: typing-extensions (==4.3.0) ; extra == 'dev'
Requires-Dist: urllib3 (==1.26.10) ; extra == 'dev'
Requires-Dist: virtualenv (==20.15.1) ; extra == 'dev'
Requires-Dist: webencodings (==0.5.1) ; extra == 'dev'
Requires-Dist: wheel (==0.37.1) ; extra == 'dev'
Requires-Dist: yarl (==1.7.2) ; extra == 'dev'
Requires-Dist: zipp (==3.8.1) ; extra == 'dev'
Provides-Extra: pandas
Requires-Dist: pandas ; extra == 'pandas'

====================
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.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``.


