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
A Discord bot to scrape textfiles from messages and put them to Hastebin

A Discord bot to scrape textfiles from messages and put them to Hastebin. Intended to use on support servers to help users read textfiles on mobile.

1 Jan 23, 2022
A demo titiler for Sentinel 2 Digital Twin dataset

This is a DEMO custom api built on top of TiTiler to create Web Map Tiles from the Digital Twin Sentinel-2 COG created by Sinergise

Development Seed 26 May 21, 2022
A battle-tested Django 2.1 project template with configurations for AWS, Heroku, App Engine, and Docker.

For information on how to use this project template, check out the wiki. {{ project_name }} Table of Contents Requirements Local Setup Local Developme

Lionheart Software 64 Jun 15, 2022
Discord Panel is an AIO panel for Discord that aims to have all the needed tools related to user token interactions, as in nuking and also everything you could possibly need for raids

Discord Panel Discord Panel is an AIO panel for Discord that aims to have all the needed tools related to user token interactions, as in nuking and al

11 Mar 30, 2022
A python discord client interaction emulator for the DC29 badge code channel

dc29-discord-signalbot A python discord client interaction emulator for the DC29 badge code channel Prep Open Developer mode Open the developer mode f

8 Aug 23, 2021
A telegram bot writen in python for mirroring files on the internet to Google Drive

owner of this repo :- AYUSH contact me :- AYUSH Slam Mirror Bot This is a telegram bot writen in python for mirroring files on the internet to our bel

Thanusara Pasindu 1 Nov 21, 2021
Gdrive-python: A wrapping module in python of gdrive

gdrive-python gdrive-python is a wrapping module in python of gdrive made by @pr

Vittorio Pippi 3 Feb 19, 2022
An async-ready Python wrapper around FerrisChat's API.

FerrisWheel An async-ready Python wrapper around FerrisChat's API. Installation Instructions Linux: $ python3.9 -m pip install -U ferriswheel Python 3

FerrisChat 8 Feb 08, 2022
Scheduled Block Checker for Cardano Stakepool Operators

ScheduledBlocks Scheduled Block Checker for Cardano Stakepool Operators Lightweight and Portable Scheduled Blocks Checker for Current Epoch. No cardan

SNAKE (Cardano Stakepool) 4 Oct 18, 2022
arweave-nft-uploader is a Python tool to improve the experience of uploading NFTs to the Arweave storage for use with the Metaplex Candy Machine.

arweave-nft-uploader arweave-nft-uploader is a Python tool to improve the experience of uploading NFTs to the Arweave storage for use with the Metaple

0xEnrico 84 Dec 26, 2022
An open-source, multipurpose, configurable discord bot that does it all

Spacebot is an open source discord bot that is designed to be fun, easy to use, and replace every other discord bot out there!! Feel free to add a star ⭐ to the repository to promote the project!

Dhravya Shah 41 Dec 10, 2022
A wrapper for The Movie Database API v3 and v4 that only uses the read access token (not api key).

fulltmdb A wrapper for The Movie Database API v3 and v4 that only uses the read access token (not api key). Installation Use the package manager pip t

Jacob Hale 2 Sep 26, 2021
A Simple Telegram Bot By @AsmSafone to Download Files From Mega.nz and Upload It to Telegram

MegaDL-Bot A Simple Telegram Bot By @AsmSafone to Download Files From Mega.nz and Upload It to Telegram Features No Login Required All Mega.nz File Li

SAF ONE 92 Dec 02, 2022
Ross Virtual Assistant is a programme which can play Music, search Wikipedia, open Websites and much more.

Ross-Virtual-Assistant Ross Virtual Assistant is a programme which can play Music, search Wikipedia, open Websites and much more. Installation Downloa

Jehan Patel 4 Nov 08, 2021
Send OpenWeatherMap alerts (One Call API) to telegram users.

OpenWeatherMap Telegram Alert Send OpenWeatherMap alerts (One Call API) to telegram users. Installation Requirements: $ apt install python3-yaml pytho

Michael Hacker 1 Jun 04, 2022
Library to manage your own custom RPC on your desktop

Info I don't recommend novices setting this up yourself. It requires Redis, a server to host the API on, and a bit of understanding of Windows & Pytho

Isaac K 1 Apr 16, 2022
Documentation and Samples for the Official HN API

Hacker News API Overview In partnership with Firebase, we're making the public Hacker News data available in near real time. Firebase enables easy acc

Y Combinator Hacker News 9.6k Jan 03, 2023
GitNews: Github webhooks for Telegram

GitNews - Github webhooks for Telegram Setup: server: clone repo git clone https

Druv Jagdish 1 Feb 14, 2022
Python library for Seeedstudio Grove devices

grove.py Python library for Seeedstudio Grove Devices on embeded Linux platform, especially good on below platforms: Coral Dev Board (Wiki) NVIDIA Jet

Seeed Studio 123 Dec 17, 2022