EOD Historical Data Python Library (Unofficial)

Overview

EOD Historical Data Python Library (Unofficial)

https://eodhistoricaldata.com

Installation

python3 -m pip install eodhistoricaldata

Note

Demo API key below is provided by EOD Historial Data for testing purposes https://eodhistoricaldata.com/financial-apis/new-real-time-data-api-websockets

Usage

None: """Main""" websocket = WebSocketClient( # Demo API key for testing purposes api_key="OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX", endpoint="crypto", symbols=["BTC-USD"] #api_key="OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX", endpoint="forex", symbols=["EURUSD"] #api_key="OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX", endpoint="us", symbols=["AAPL"] ) websocket.start() message_count = 0 while True: if websocket: if ( message_count != websocket.message_count ): print(websocket.message) message_count = websocket.message_count sleep(0.25) # output every 1/4 second, websocket is realtime if __name__ == "__main__": main() ">
"""Sample script"""

from time import sleep
from eodhistoricaldata import WebSocketClient

def main() -> None:
    """Main"""

    websocket = WebSocketClient(
        # Demo API key for testing purposes
        api_key="OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX", endpoint="crypto", symbols=["BTC-USD"]
        #api_key="OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX", endpoint="forex", symbols=["EURUSD"]
        #api_key="OeAFFmMliFG5orCUuwAKQ8l4WWFQ67YX", endpoint="us", symbols=["AAPL"]
    )
    websocket.start()

    message_count = 0
    while True:
        if websocket:
            if (
                message_count != websocket.message_count
            ):
                print(websocket.message)
                message_count = websocket.message_count
                sleep(0.25)  # output every 1/4 second, websocket is realtime

if __name__ == "__main__":
    main()
You might also like...
TE-dependent analysis (tedana) is a Python library for denoising multi-echo functional magnetic resonance imaging (fMRI) data
TE-dependent analysis (tedana) is a Python library for denoising multi-echo functional magnetic resonance imaging (fMRI) data

tedana: TE Dependent ANAlysis TE-dependent analysis (tedana) is a Python library for denoising multi-echo functional magnetic resonance imaging (fMRI)

Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data.
Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data.

Hatchet Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. It is intended for analyzing

 🧪 Panel-Chemistry - exploratory data analysis and build powerful data and viz tools within the domain of Chemistry using Python and HoloViz Panel.
🧪 Panel-Chemistry - exploratory data analysis and build powerful data and viz tools within the domain of Chemistry using Python and HoloViz Panel.

🧪📈 🐍. The purpose of the panel-chemistry project is to make it really easy for you to do DATA ANALYSIS and build powerful DATA AND VIZ APPLICATIONS within the domain of Chemistry using using Python and HoloViz Panel.

Tuplex is a parallel big data processing framework that runs data science pipelines written in Python at the speed of compiled code

Tuplex is a parallel big data processing framework that runs data science pipelines written in Python at the speed of compiled code. Tuplex has similar Python APIs to Apache Spark or Dask, but rather than invoking the Python interpreter, Tuplex generates optimized LLVM bytecode for the given pipeline and input data set.

Python data processing, analysis, visualization, and data operations

Python This is a Python data processing, analysis, visualization and data operations of the source code warehouse, book ISBN: 9787115527592 Descriptio

Catalogue data - A Python Scripts to prepare catalogue data

catalogue_data Scripts to prepare catalogue data. Setup Clone this repo. Install

fds is a tool for Data Scientists made by DAGsHub to version control data and code at once.
fds is a tool for Data Scientists made by DAGsHub to version control data and code at once.

Fast Data Science, AKA fds, is a CLI for Data Scientists to version control data and code at once, by conveniently wrapping git and dvc

A data parser for the internal syncing data format used by Fog of World.
A data parser for the internal syncing data format used by Fog of World.

A data parser for the internal syncing data format used by Fog of World. The parser is not designed to be a well-coded library with good performance, it is more like a demo for showing the data structure.

Functional Data Analysis, or FDA, is the field of Statistics that analyses data that depend on a continuous parameter.
Comments
  • Syntax issue with query Parameter in get_calendar_ functions

    Syntax issue with query Parameter in get_calendar_ functions

    Hello,

    When using the get_calendar_XXX, functions we cannot use the query parameters defined by EOD as the word "from" is forbidden by Python, for instance : earning=client.get_calendar_earnings(from='2022-11-01', to='2022-11-30')

    will raise an issue.

    Should I pass the argument differently ?

    opened by ATCBGroup 1
  • dependency on matplotlib but it is not installed with pip

    dependency on matplotlib but it is not installed with pip

    dependency on matplotlib but it is not installed with pip

    [email protected]:~/git/traderai/eod$ cat test.py
    from eodhd import APIClient
    api = APIClient("DEMO")
    
    [email protected]:~/git/traderai/eod$ python3 test.py
    Traceback (most recent call last):
      File "/home/mshamber/.local/lib/python3.8/site-packages/eodhd/eodhdgraphs.py", line 5, in <module>
        import matplotlib.pyplot as plt
    ModuleNotFoundError: No module named 'matplotlib'
    
    [email protected]:~/git/traderai/eod$ python3 -m pip install eodhd
    Requirement already satisfied: eodhd in /home/mshamber/.local/lib/python3.8/site-packages (1.0.8)
    Requirement already satisfied: websocket-client==1.3.3 in /home/mshamber/.local/lib/python3.8/site-packages (from eodhd) (1.3.3)
    Requirement already satisfied: rich==12.5.1 in /home/mshamber/.local/lib/python3.8/site-packages (from eodhd) (12.5.1)
    Requirement already satisfied: websockets==10.3 in /home/mshamber/.local/lib/python3.8/site-packages (from eodhd) (10.3)
    Requirement already satisfied: numpy==1.21.6 in /home/mshamber/.local/lib/python3.8/site-packages (from eodhd) (1.21.6)
    Requirement already satisfied: pandas==1.3.5 in /home/mshamber/.local/lib/python3.8/site-packages (from eodhd) (1.3.5)
    Requirement already satisfied: requests==2.28.1 in /home/mshamber/.local/lib/python3.8/site-packages (from eodhd) (2.28.1)
    Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in /home/mshamber/.local/lib/python3.8/site-packages (from rich==12.5.1->eodhd) (0.9.1)
    Requirement already satisfied: typing-extensions<5.0,>=4.0.0; python_version < "3.9" in /home/mshamber/.local/lib/python3.8/site-packages (from rich==12.5.1->eodhd) (4.3.0)
    Requirement already satisfied: pygments<3.0.0,>=2.6.0 in /home/mshamber/.local/lib/python3.8/site-packages (from rich==12.5.1->eodhd) (2.13.0)
    Requirement already satisfied: python-dateutil>=2.7.3 in /home/mshamber/.local/lib/python3.8/site-packages (from pandas==1.3.5->eodhd) (2.8.2)
    Requirement already satisfied: pytz>=2017.3 in /home/mshamber/.local/lib/python3.8/site-packages (from pandas==1.3.5->eodhd) (2022.5)
    Requirement already satisfied: charset-normalizer<3,>=2 in /home/mshamber/.local/lib/python3.8/site-packages (from requests==2.28.1->eodhd) (2.1.1)
    Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests==2.28.1->eodhd) (2.8)
    Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests==2.28.1->eodhd) (2019.11.28)
    Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests==2.28.1->eodhd) (1.25.8)
    Requirement already satisfied: six>=1.5 in /home/mshamber/.local/lib/python3.8/site-packages (from python-dateutil>=2.7.3->pandas==1.3.5->eodhd) (1.16.0)
    
    opened by opme 1
Releases(1.0.8)
Owner
Michael Whittle
Solution Architect
Michael Whittle
Helper tools to construct probability distributions built from expert elicited data for use in monte carlo simulations.

Elicited Helper tools to construct probability distributions built from expert elicited data for use in monte carlo simulations. Credit to Brett Hoove

Ryan McGeehan 3 Nov 04, 2022
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)

Karate Club is an unsupervised machine learning extension library for NetworkX. Please look at the Documentation, relevant Paper, Promo Video, and Ext

Benedek Rozemberczki 1.8k Jan 09, 2023
Intercepting proxy + analysis toolkit for Second Life compatible virtual worlds

Hippolyzer Hippolyzer is a revival of Linden Lab's PyOGP library targeting modern Python 3, with a focus on debugging issues in Second Life-compatible

Salad Dais 6 Sep 01, 2022
2019 Data Science Bowl

Kaggle-2019-Data-Science-Bowl-Solution - Here i present my solution to kaggle 2019 data science bowl and how i improved it to win a silver medal in that competition.

Deepak Nandwani 1 Jan 01, 2022
Random dataframe and database table generator

Random database/dataframe generator Authored and maintained by Dr. Tirthajyoti Sarkar, Fremont, USA Introduction Often, beginners in SQL or data scien

Tirthajyoti Sarkar 249 Jan 08, 2023
Template for a Dataflow Flex Template in Python

Dataflow Flex Template in Python This repository contains a template for a Dataflow Flex Template written in Python that can easily be used to build D

STOIX 5 Apr 28, 2022
First and foremost, we want dbt documentation to retain a DRY principle. Every time we repeat ourselves, we waste our time. Second, we want to understand column level lineage and automate impact analysis.

dbt-osmosis First and foremost, we want dbt documentation to retain a DRY principle. Every time we repeat ourselves, we waste our time. Second, we wan

Alexander Butler 150 Jan 06, 2023
Galvanalyser is a system for automatically storing data generated by battery cycling machines in a database

Galvanalyser is a system for automatically storing data generated by battery cycling machines in a database, using a set of "harvesters", whose job it

Battery Intelligence Lab 20 Sep 28, 2022
Streamz helps you build pipelines to manage continuous streams of data

Streamz helps you build pipelines to manage continuous streams of data. It is simple to use in simple cases, but also supports complex pipelines that involve branching, joining, flow control, feedbac

Python Streamz 1.1k Dec 28, 2022
Renato 214 Jan 02, 2023
Mining the Stack Overflow Developer Survey

Mining the Stack Overflow Developer Survey A prototype data mining application to compare the accuracy of decision tree and random forest regression m

1 Nov 16, 2021
A model checker for verifying properties in epistemic models

Epistemic Model Checker This is a model checker for verifying properties in epistemic models. The goal of the model checker is to check for Pluralisti

Thomas Träff 2 Dec 22, 2021
Pipetools enables function composition similar to using Unix pipes.

Pipetools Complete documentation pipetools enables function composition similar to using Unix pipes. It allows forward-composition and piping of arbit

186 Dec 29, 2022
Pypeln is a simple yet powerful Python library for creating concurrent data pipelines.

Pypeln Pypeln (pronounced as "pypeline") is a simple yet powerful Python library for creating concurrent data pipelines. Main Features Simple: Pypeln

Cristian Garcia 1.4k Dec 31, 2022
Python data processing, analysis, visualization, and data operations

Python This is a Python data processing, analysis, visualization and data operations of the source code warehouse, book ISBN: 9787115527592 Descriptio

FangWei 1 Jan 16, 2022
ELFXtract is an automated analysis tool used for enumerating ELF binaries

ELFXtract ELFXtract is an automated analysis tool used for enumerating ELF binaries Powered by Radare2 and r2ghidra This is specially developed for PW

Monish Kumar 49 Nov 28, 2022
Tablexplore is an application for data analysis and plotting built in Python using the PySide2/Qt toolkit.

Tablexplore is an application for data analysis and plotting built in Python using the PySide2/Qt toolkit.

Damien Farrell 81 Dec 26, 2022
A Streamlit web-app for a data-science project that aims to evaluate if the answer to a question is helpful.

How useful is the aswer? A Streamlit web-app for a data-science project that aims to evaluate if the answer to a question is helpful. If you want to l

1 Dec 17, 2021
Analyse the limit order book in seconds. Zoom to tick level or get yourself an overview of the trading day.

Analyse the limit order book in seconds. Zoom to tick level or get yourself an overview of the trading day. Correlate the market activity with the Apple Keynote presentations.

2 Jan 04, 2022
Synthetic data need to preserve the statistical properties of real data in terms of their individual behavior and (inter-)dependences

Synthetic data need to preserve the statistical properties of real data in terms of their individual behavior and (inter-)dependences. Copula and functional Principle Component Analysis (fPCA) are st

32 Dec 20, 2022