A simple Python library to integrate with the Heron Data API

Overview

Lint and Test

Heron Python

This library provides easy access to the Heron Data API from applications written in Python.

Demo GIF

Documentation

No language-specific docs are currently maintained. For documentation on the raw REST API this library uses behind the scenes, see our OpenAPI Docs.

Installation

If you just want to use the package, just run:

pip install --upgrade heron-data

Install from source with:

python setup.py install

Requirements

  • Python 3.8+

Usage

Import the heron package and set your config:

import os

import heron

heron.basic_auth_username = os.getenv("HERON_USERNAME")
heron.basic_auth_password = os.getenv("HERON_PASSWORD")

# Experimental: if you pull from a fintech API, specify it here to get
# automatic conversion into a Heron Data API format. Supported: plaid,
# finicity, yodlee, truelayer
heron.provider = "plaid"

Alternatively, set HERON_USERNAME and HERON_PASSWORD as environment variables which will be automatically picked up.

Then you can issue API requests using Python classes:

end_user = heron.EndUser.create(...)

transactions = heron.Transaction.create_many([...])

You can see a longer example in the examples/ directory.

Contributing

Fork this repository, and install dev dependencies:

pip install -r requirements.dev.txt

Run tests and capture coverage with:

coverage run -m unittest

See test coverage with:

coverage report

Run linting with flake8 and black:

flake8 . && black .

Make a PR against the main branch and it will be reviewed.

You might also like...
A simple Python API wrapper for Cloudflare Stream's API.

python-cloudflare-stream A basic Python API wrapper for working with Cloudflare Stream. Arbington.com started off using Cloudflare Stream. We used the

A python to scratch API connector. Can fetch data from the API and send it back in cloud variables.

Scratch2py Scratch2py or S2py is a easy to use, versatile tool to communicate with the Scratch API Based of scratchclient by Raihan142857 Installation

Aio-binance-library - Async library for connecting to the Binance API on Python

aio-binance-library Async library for connecting to the Binance API on Python Th

TM1py is a Python package that wraps the TM1 REST API in a simple to use library.
TM1py is a Python package that wraps the TM1 REST API in a simple to use library.

By wrapping the IBM Planning Analytics (TM1) REST API in a concise Python framework, TM1py facilitates Python developments for TM1. Interacting with T

A simple API wrapper for the Tenor API

Gifpy A simple API wrapper for the Tenor API Installation Python 3.9 or higher is recommended python3 -m pip install gifpy Clone repository: $ git cl

Automation that uses Github Actions, Google Drive API, YouTube Data API and youtube-dl together to feed BackJam app with new music

Automation that uses Github Actions, Google Drive API, YouTube Data API and youtube-dl together to feed BackJam app with new music

BioThings API framework - Making high-performance API for biological annotation data

BioThings SDK Quick Summary BioThings SDK provides a Python-based toolkit to build high-performance data APIs (or web services) from a single data sou

This repo contains a simple library for work with Eitaa messenger's api

Eitaa PyKit This repo contains a simple library for work with Eitaa messenger's api PyPI Page : https://pypi.org/project/Eitaa-PyKit Install via pip p

WhatsApp Api Python - This documentation aims to exemplify the use of Moorse Whatsapp API in Python
WhatsApp Api Python - This documentation aims to exemplify the use of Moorse Whatsapp API in Python

WhatsApp API Python ChatBot Este repositório contém uma aplicação que se utiliza

Comments
  • Add to_dict method to model classes

    Add to_dict method to model classes

    I want to save heron transactions to a database in json format. Thus it would be convenient if the various model classes had a to_dict or similarly-named method that returns a dict representation of a model object. Preferably the dict returned could be passed to Model.init to reconstitute the object.

    opened by declaresub 3
  • Relax requests requirement using ~=2.26

    Relax requests requirement using ~=2.26

    Hello!

    In order to not have such strict requirements for requests I changed the requirement to use the compatible version operator ~=2.26, this is basically equivalent to >=2.26,<3

    The current version only allows heron-data to work with version 2.26.0 of requests (not even a patch version change like 2.26.1 would match) which makes it unpractical to use in other environments where requests is at a different version.

    This would close #13

    opened by MarceColl 1
  • pinned requests version

    pinned requests version

    Hello!

    We would like to use this library, but in your setup.py requests is pinned to 2.26.0, could we relax that requirement? Else every project depending on this will need to have that exact version pinned.

    Thank you!

    opened by MarceColl 1
  • Send custom user agent when making requests

    Send custom user agent when making requests

    Will help analyse traffic in our HTTP logs. Currently the user agent is set to the default (python-requests/2.23.0). We should add User-Agent to the headers of requests and replace with something like heron-client-python.

    opened by cesarferradas 0
Releases(v0.1.2)
Owner
Heron Data
Repositories for Heron Data
Heron Data
Simple integrate of API udemy.com with python

Pyudemy Simple integrate of API udemy.com with python Quick start $ pip install pyudemy or $ python setup.py install Authentication To make any calls

Hudson Brendon 30 Jan 2, 2023
Simulation artifacts, core components and configuration files to integrate AWS DeepRacer device with ROS Navigation stack.

AWS DeepRacer Overview The AWS DeepRacer Evo vehicle is a 1/18th scale Wi-Fi enabled 4-wheel ackermann steering platform that features two RGB cameras

AWS DeepRacer 31 Nov 21, 2022
Ts-matterbridge - Integrate TeamSpeak Chat with MatterBridge

TeamSpeak-MatterBridge Bot You can use this bot to integrate TeamSpeak Chat with

null 4 Sep 25, 2022
:snake: A simple library to fetch data from the iTunes Store API made for Python >= 3.5

itunespy itunespy is a simple library to fetch data from the iTunes Store API made for Python 3.5 and beyond. Important: Since version 1.6 itunespy no

Fran González 56 Dec 22, 2022
alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API.

alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API. It allows rapid trading algo development easily, with support for both REST and streaming data interfaces

Alpaca 1.5k Jan 9, 2023
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.

PRAW: The Python Reddit API Wrapper PRAW, an acronym for "Python Reddit API Wrapper", is a Python package that allows for simple access to Reddit's AP

Python Reddit API Wrapper Development 3k Dec 29, 2022
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.

PRAW: The Python Reddit API Wrapper PRAW, an acronym for "Python Reddit API Wrapper", is a Python package that allows for simple access to Reddit's AP

Python Reddit API Wrapper Development 3k Dec 29, 2022
Beyonic API Python official client library simplified examples using Flask, Django and Fast API.

Beyonic API Python official client library simplified examples using Flask, Django and Fast API.

Harun Mbaabu Mwenda 46 Sep 1, 2022
Python API wrapper library for Convex Value API

convex-value-python Python API wrapper library for Convex Value API. Further Links: Convex Value homepage @ConvexValue on Twitter JB on Twitter Authen

Aaron DeVera 2 May 11, 2022
This an API wrapper library for the OpenSea API written in Python 3.

OpenSea NFT API Python 3 wrapper This an API wrapper library for the OpenSea API written in Python 3. The library provides a simplified interface to f

Attila Tóth 159 Dec 26, 2022