Code Monkey home page Code Monkey logo

tiingo-python's Introduction

Tiingo Python

https://img.shields.io/pypi/v/tiingo.svg?maxAge=600 Coverage Documentation Status Updates Launch Binder

Tiingo is a financial data platform making high quality financial tools available to all. Tiingo has a REST and Real-Time Data API, which this library helps you access. The API includes support for these endpoints:

  • Stock Market Ticker Closing Prices + Metadata. Data includes full distribution details and is validated using a proprietary EOD Price Engine.
  • Curated news from top financial news sources + blogs. Stories are tagged with topic tags and relevant stock tickers by Tiingo's algorithms.
  • Fundamentals data, including definitions, daily data, and quarterly statements for tickers

Usage

If you'd like to try this library before installing, click below to open a folder of online runnable examples.

Launch Binder

First, install the library from PyPi:

pip install tiingo

If you prefer to receive your results in pandas DataFrame or Series format, and you do not already have pandas installed, install it as an optional dependency:

pip install tiingo[pandas]

Next, initialize your client. It is recommended to use an environment variable to initialize your client for convenience.

from tiingo import TiingoClient
# Set TIINGO_API_KEY in your environment variables in your .bash_profile, OR
# pass a dictionary with 'api_key' as a key into the TiingoClient.

client = TiingoClient()

Alternately, you may use a dictionary to customize/authorize your client.

config = {}

# To reuse the same HTTP Session across API calls (and have better performance), include a session key.
config['session'] = True

# If you don't have your API key as an environment variable,
# pass it in via a configuration dictionary.
config['api_key'] = "MY_SECRET_API_KEY"

# Initialize
client = TiingoClient(config)

Now you can use TiingoClient to make your API calls. (Other parameters are available for each endpoint beyond what is used in the below examples, inspect the docstring for each function for details.).

# Get Ticker
ticker_metadata = client.get_ticker_metadata("GOOGL")

# Get latest prices, based on 3+ sources as JSON, sampled weekly
ticker_price = client.get_ticker_price("GOOGL", frequency="weekly")

# Get historical GOOGL prices from August 2017 as JSON, sampled daily
historical_prices = client.get_ticker_price("GOOGL",
                                            fmt='json',
                                            startDate='2017-08-01',
                                            endDate='2017-08-31',
                                            frequency='daily')

# Check what tickers are available, as well as metadata about each ticker
# including supported currency, exchange, and available start/end dates.
tickers = client.list_stock_tickers()

# Get news articles about given tickers or search terms from given domains
articles = client.get_news(tickers=['GOOGL', 'AAPL'],
                            tags=['Laptops'],
                            sources=['washingtonpost.com'],
                            startDate='2017-01-01',
                            endDate='2017-08-31')

# Get definitions for fields available in the fundamentals-api, ticker is
# optional
definitions = client.get_fundamentals_definitions('GOOGL')

# Get fundamentals which require daily-updated (like marketCap). A start-
# and end-date can be passed. If omited, will get all available data.
fundamentals_daily = client.get_fundamentals_daily('GOOGL',
                                        startDate='2020-01-01',
                                        endDate='2020-12-31')

# Get fundamentals based on quarterly statements. Accepts time-range like
# daily-fundamentals. asReported can be set to get the data exactly like
# it was reported to SEC. Set to False if you want to get data containing
# corrections
fundamentals_stmnts = client.get_fundamentals_statements('GOOGL',
                                                         startDate='2020-01-01',
                                                         endDate='2020-12-31',
                                                         asReported=True)

To receive results in pandas format, use the get_dataframe() method:

#Get a pd.DataFrame of the price history of a single symbol (default is daily):
ticker_history = client.get_dataframe("GOOGL")

#The method returns all of the available information on a symbol, such as open, high, low, close,
#adjusted close, etc.  This page in the tiingo api documentation lists the available information on each
#symbol: https://api.tiingo.com/docs/tiingo/daily#priceData.

#Frequencies and start and end dates can be specified similarly to the json method above.

#Get a pd.Series of only one column of the available response data by specifying one of the valid the
#'metric_name' parameters:
ticker_history = client.get_dataframe("GOOGL", metric_name='adjClose')

#Get a pd.DataFrame for a list of symbols for a specified metric_name (default is adjClose if no
#metric_name is specified):
ticker_history = client.get_dataframe(['GOOGL', 'AAPL'],
                                      frequency='weekly',
                                      metric_name='volume',
                                      startDate='2017-01-01',
                                      endDate='2018-05-31')

You can specify any of the end of day frequencies (daily, weekly, monthly, and annually) or any intraday frequency for both the get_ticker_price and get_dataframe methods. Weekly frequencies resample to the end of day on Friday, monthly frequencies resample to the last day of the month, and annually frequencies resample to the end of day on 12-31 of each year. The intraday frequencies are specified using an integer followed by "Min" or "Hour", for example "30Min" or "1Hour".

Cryptocurrency

# You can obtain cryptocurrency metadata using the following method.
# NOTE: Crypto symbol MUST be encapsulated in brackets as a Python list!

client.get_crypto_metadata(['BTCUSD'], fmt='json')

#You can obtain top-of-book cryptocurrency quotes from the ``get_crypto_top_of_book()`` method.
# NOTE: Crypto symbol MUST be encapsulated in brackets as a Python list!

crypto_price = client.get_crypto_top_of_book(['BTCUSD'])``

# You can obtain historical Cryptocurrency price quotes from the get_crypto_price_history() method.
# NOTE: Crypto symbol MUST be encapsulated in brackets as a Python list!

client.get_crypto_price_history(tickers = ['BTCUSD'], startDate='2020-12-2',
                                endDate='2020-12-3', resampleFreq='1Hour')

Websockets Support

from tiingo import TiingoWebsocketClient

def cb_fn(msg):

    # Example response
    # msg = {
    #   "service":"iex" # An identifier telling you this is IEX data.
    #   The value returned by this will correspond to the endpoint argument.
    #
    #   # Will always return "A" meaning new price quotes. There are also H type Heartbeat msgs used to keep the connection alive
    #   "messageType":"A" # A value telling you what kind of data packet this is from our IEX feed.
    #
    #   # see https://api.tiingo.com/documentation/websockets/iex > Response for more info
    #   "data":[] # an array containing trade information and a timestamp
    #
    # }

    print(msg)

subscribe = {
        'eventName':'subscribe',
        'authorization':'API_KEY_GOES_HERE',
        #see https://api.tiingo.com/documentation/websockets/iex > Request for more info
        'eventData': {
            'thresholdLevel':5
      }
}

# any logic should be implemented in the callback function (cb_fn)
TiingoWebsocketClient(subscribe,endpoint="iex",on_msg_cb=cb_fn)

Further Docs

Features

  • Easy programmatic access to Tiingo API
  • Reuse requests session across API calls for better performance
  • On most methods, pass in fmt="object" as a keyword to have your responses come back as NamedTuples, which should have a lower memory impact than regular Python dictionaries.

Roadmap:

  • Client-side validation of tickers
  • Data validation of returned responses
  • Case insensitivity for ticker names
  • More documentation / code examples

Feel free to file a PR that implements any of the above items.

Related Projects:

  • Riingo : Client for Tiingo in the R Programming Language

Credits

  • Many thanks to Rishi Singh for creating Tiingo.

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

tiingo-python's People

Contributors

2xmm avatar condemil avatar dcwtx avatar genusgeoff avatar hydrosquall avatar kaessert avatar lgtm-migrator avatar minnend avatar mohamedemad4 avatar n1rna avatar pyup-bot avatar savagesmc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tiingo-python's Issues

[Enhancement] Get all tickers regardless of assetType

Would be nice to have a way to get rid of that if statement. I'm downloading supported_tickers.zip three times to get everything. Not too terrible since it's infrequent.

return [row for row in reader
                if row.get('assetType') == assetType]

Weekly Digest (1 December, 2019 - 8 December, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 1 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #378 Update pyyaml to 5.2, by pyup-bot
๐Ÿ’š #376 Update tox to 3.14.2, by pyup-bot

CLOSED ISSUES

โค๏ธ #377 Update sphinx to 2.2.2, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #376 Update tox to 3.14.2, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 4 pull requests were created, updated or merged.

OPEN PULL REQUEST

Last week, 1 pull request was opened.
๐Ÿ’š #378 Update pyyaml to 5.2, by pyup-bot

UPDATED PULL REQUEST

Last week, 1 pull request was updated.
๐Ÿ’› #376 Update tox to 3.14.2, by pyup-bot

MERGED PULL REQUEST

Last week, 2 pull requests were merged.
๐Ÿ’œ #377 Update sphinx to 2.2.2, by pyup-bot
๐Ÿ’œ #373 Update pytest to 5.3.1, by pyup-bot


COMMITS

Last week there were 3 commits.
๐Ÿ› ๏ธ Merge pull request #377 from hydrosquall/pyup-update-sphinx-2.2.1-to-2.2.2 Update sphinx to 2.2.2 by hydrosquall
๐Ÿ› ๏ธ Update sphinx from 2.2.1 to 2.2.2 by pyup-bot
๐Ÿ› ๏ธ Merge pull request #373 from hydrosquall/pyup-update-pytest-5.3.0-to-5.3.1 Update pytest to 5.3.1 by hydrosquall


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Remove assert from base API client

There is an assert statement in the API client code that presently tests for the existence of an API key. It's on line 63

However, assert statements are not good for production code because they can be overridden by runtime environment variables, i.e. PYTHONOPTIMIZE. To fix this:

  • The assert statement should be removed, and replaced with a, i.e. if variable. If the test returns false, then a standard Python exception should be raised with a descriptive error message.
  • A test should be added to the test suite that will complain if the API key is not present.

Convert Raw JSON To Python Objects

Rather than forcing users to work directly with JSON objects, I would like to convert these JSON Dicts into Python Objects. These Resources might include

  • NewsItem
  • PriceEvent
  • StockTicker

Each object should have a method that enables the "serialized" version of that object to be the JSON dict that produced it. This could be handled with Peewee and/or Marshmallow.

A separate issue/PR might be filed to write documentation around how to use each of these resources.

News permissions

  • Tiingo Python version:
  • Python version:
  • Operating System:

Description

Describe what you were trying to get done.
Tell us what happened, what went wrong, and what you expected to happen.

What I Did

Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.

when i run the news request i get this:

ERROR:root:{"detail":"You do not have permission to access the News API"}
403 Client Error: Forbidden for url: https://api.tiingo.com/tiingo/news?sources=washingtonpost.com&limit=100&sortBy=publishedDate&offset=0&endDate=2017-10-01&tickers=GOOGL&tags=machine+learning&startDate=2017-01-01
None

what permissions do i need to i need to be a paying member?

Use VCR.py to Mock API Responses

  • Use VCR.py to record request responses so that tests can run without needing to visit the actual API. This will improve the speed of the automated tests, and facilitate offline development even if someone doesn't have an API key.

Weekly Digest (27 October, 2019 - 3 November, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 1 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #359 Update pandas to 0.25.3, by pyup-bot
๐Ÿ’š #357 Update pytest-runner to 5.2, by pyup-bot

CLOSED ISSUES

โค๏ธ #358 Update flake8 to 3.7.9, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #357 Update pytest-runner to 5.2, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 4 pull requests were created, updated or merged.

OPEN PULL REQUEST

Last week, 1 pull request was opened.
๐Ÿ’š #359 Update pandas to 0.25.3, by pyup-bot

UPDATED PULL REQUEST

Last week, 1 pull request was updated.
๐Ÿ’› #357 Update pytest-runner to 5.2, by pyup-bot

MERGED PULL REQUEST

Last week, 2 pull requests were merged.
๐Ÿ’œ #358 Update flake8 to 3.7.9, by pyup-bot
๐Ÿ’œ #355 Update sphinx to 2.2.1, by pyup-bot


COMMITS

Last week there were 3 commits.
๐Ÿ› ๏ธ Merge pull request #355 from hydrosquall/pyup-update-sphinx-2.2.0-to-2.2.1 Update sphinx to 2.2.1 by hydrosquall
๐Ÿ› ๏ธ Merge pull request #358 from hydrosquall/pyup-update-flake8-3.7.8-to-3.7.9 Update flake8 to 3.7.9 by hydrosquall
๐Ÿ› ๏ธ Update flake8 from 3.7.8 to 3.7.9 by pyup-bot


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Support Websockets Endpoints

Investigate how feasible this is / whether it makes sense to mix up REST / Realtime functionality. This may or may not be sensible to mix into this REST client.

Update Documentation with Basic Bugfixes

This is a small change to the documentation that would make a great first PR!

  • One of the examples is out of date, both README.md and the sphinx docs need updates

#31 (comment)

  • Add an example for pulling historical data to the Readme.md and the Sphinx docs. I've provided an example below. This is per a request received in the same thread linked to above.

#31 (comment)

[Feature]][Proposal] Describe Tiingo API with OpenAPI

As time has passed, various changes have been made or requested for the Tiingo API as new endpoints were added or removed which aren't using Python specific details

  • #337
  • #82
  • #317
  • Others that are sure to come in the future

In an effort to make it easier for people to work with Tiingo and other APIs as fields are added or removed over time, I've been using stoplight.io to write OpenAPI (formerly known as Swagger) specifications (specs).

OpenAPI specs are YAML file descriptions of how entire APIs work. From an OpenAPI spec, several libraries exist for different languages (Python, Javascript, Typescript, etc), and "client libraries" for consuming those APIs could be automatically generated. A large ecosystem of tooling exists around it.

I'm considering auto-generating half of the Tiingo API client (so all new endpoints and parameters will be automatically up to date), and grafting it onto the special features we've added to tiingo-python (like the Dataframes and "get supported tickers") integrations.

The first step to this is will be to describe a few of the endpoints over at https://api.tiingo.com/documentation/general/overview. I'll update this issue with subtasks or more concrete guidelines based on interest / how preliminary tests turn out.

Support News Tickers Stub

At support for the /news api endpoint- there's a stub in the tiingo.py file that just needs to be filled out.

Weekly Digest (24 November, 2019 - 1 December, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 1 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #374 Update twine to 3.1.1, by pyup-bot
๐Ÿ’š #373 Update pytest to 5.3.1, by pyup-bot

CLOSED ISSUES

โค๏ธ #372 Update twine to 3.1.0, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #372 Update twine to 3.1.0, by pyup-bot
It received 2 comments.


PULL REQUESTS

Last week, 3 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 2 pull requests were updated.
๐Ÿ’› #374 Update twine to 3.1.1, by pyup-bot
๐Ÿ’› #373 Update pytest to 5.3.1, by pyup-bot

MERGED PULL REQUEST

Last week, 1 pull request was merged.
๐Ÿ’œ #370 Update pytest to 5.3.0, by pyup-bot


COMMITS

Last week there was 1 commit.
๐Ÿ› ๏ธ Merge pull request #370 from hydrosquall/pyup-update-pytest-5.2.2-to-5.3.0 Update pytest to 5.3.0 by hydrosquall


CONTRIBUTORS

Last week there was 1 contributor.
๐Ÿ‘ค hydrosquall


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Additional price series return format

Would it be useful to add an option to receive a pandas series as output?

If pandas were an output option, it would become possible to add a list of symbols, and return them all in a data frame. At present it appears that you can only request prices for one symbol at a time. Would there be a conflict with the json format if you returned multiple symbols (question belies my ignorance of json)?

Deprecate Funds Endpoint

Funds endpoint is being removed from the API, so corresponding methods, docs, and tests should be removed.

Tiingo-Python | "No JSON object could be decoded"

  • Tiingo Python version: 0.8.0
  • Python version: 3.6
  • Operating System: Windows 8.1

Description

I have followed examples and am able to download data for some stocks. But the vast majority return the following error:
"No JSON object could be decoded"

What I Did

from tiingo import TiingoClient
from pprint import pprint
import pandas as pd
import datetime
import json

today = datetime.datetime.today().strftime('%Y-%m-%d')
yesterday = datetime.datetime.today() - datetime.timedelta(1)

config = {}
config['session'] = True
config['api_key'] = "MY_API_KEY"
client = TiingoClient(config)

all_tickers = client.list_stock_tickers()
valid_tickers = [] # list of dicts
valid_exchanges = ['OTCMKTS','NYSE','NASDAQ','AMEX']
for ticker in all_tickers:
    if ticker['exchange'] in valid_exchanges:
        valid_tickers.append(ticker)

elligible_tickers = []
for ticker in valid_tickers:
    print(ticker['ticker'])
    try:
        yesterday_df = client.get_dataframe(ticker['ticker'],
                                      frequency='daily',
                                      startDate=yesterday,
                                      endDate=yesterday)

        yesterday_adj_close = yesterday_df['adjClose'].values[0]
        yesterday_volume = yesterday_df['volume'].values[0]

        min_price = 5
        min_volume = 400000

        if yesterday_adj_close > min_price and yesterday_volume > min_volume:
            elligible_tickers.append(ticker)
    except Exception as e:
        print(e)

# Elligible tickers is a list of ticker dictionaries
dataframe = pd.DataFrame(elligible_tickers)
print(dataframe)

Weekly Digest (17 November, 2019 - 24 November, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 2 issues were created.
Of these, 0 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #370 Update pytest to 5.3.0, by pyup-bot
๐Ÿ’š #369 Update twine to 3.0.0, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #369 Update twine to 3.0.0, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 3 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 2 pull requests were updated.
๐Ÿ’› #370 Update pytest to 5.3.0, by pyup-bot
๐Ÿ’› #369 Update twine to 3.0.0, by pyup-bot

MERGED PULL REQUEST

Last week, 1 pull request was merged.
๐Ÿ’œ #365 Update tox to 3.14.1, by pyup-bot


COMMITS

Last week there was 1 commit.
๐Ÿ› ๏ธ Merge pull request #365 from hydrosquall/pyup-update-tox-3.14.0-to-3.14.1 Update tox to 3.14.1 by hydrosquall


CONTRIBUTORS

Last week there was 1 contributor.
๐Ÿ‘ค hydrosquall


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Weekly Digest (12 January, 2020 - 19 January, 2020)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 4 issues were created.
Of these, 2 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #400 Update pytest to 5.3.3, by pyup-bot
๐Ÿ’š #398 [[Feature]][Proposal] Describe Tiingo API with OpenAPI](#398), by hydrosquall

CLOSED ISSUES

โค๏ธ #399 Update coverage to 5.0.3, by pyup-bot
โค๏ธ #397 [fix] Address pandas future warning about sorting in pd.DataFrame.concat, by hydrosquall

NOISY ISSUE

๐Ÿ”ˆ #397 [fix] Address pandas future warning about sorting in pd.DataFrame.concat, by hydrosquall
It received 1 comments.


PULL REQUESTS

Last week, 4 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 1 pull request was updated.
๐Ÿ’› #400 Update pytest to 5.3.3, by pyup-bot

MERGED PULL REQUEST

Last week, 3 pull requests were merged.
๐Ÿ’œ #399 Update coverage to 5.0.3, by pyup-bot
๐Ÿ’œ #397 [fix] Address pandas future warning about sorting in pd.DataFrame.concat, by hydrosquall
๐Ÿ’œ #394 Update coverage to 5.0.2, by pyup-bot


COMMITS

Last week there were 5 commits.
๐Ÿ› ๏ธ Merge pull request #399 from hydrosquall/pyup-update-coverage-5.0.2-to-5.0.3 Update coverage to 5.0.3 by hydrosquall
๐Ÿ› ๏ธ Update coverage from 5.0.2 to 5.0.3 by pyup-bot
๐Ÿ› ๏ธ Merge pull request #397 from hydrosquall/fix/pandas-future-warning-sorting [fix] Address pandas future warning about sorting in pd.DataFrame.concat by hydrosquall
๐Ÿ› ๏ธ [fix] Address pandas future warning about sorting in pd.DataFrame.concat by hydrosquall
๐Ÿ› ๏ธ Merge pull request #394 from hydrosquall/pyup-update-coverage-5.0.1-to-5.0.2 Update coverage to 5.0.2 by hydrosquall


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Weekly Digest (5 January, 2020 - 12 January, 2020)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 2 issues were created.
Of these, 0 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #395 Update pyyaml to 5.3, by pyup-bot
๐Ÿ’š #394 Update coverage to 5.0.2, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #394 Update coverage to 5.0.2, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 3 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 2 pull requests were updated.
๐Ÿ’› #395 Update pyyaml to 5.3, by pyup-bot
๐Ÿ’› #394 Update coverage to 5.0.2, by pyup-bot

MERGED PULL REQUEST

Last week, 1 pull request was merged.
๐Ÿ’œ #389 Update sphinx to 2.3.1, by pyup-bot


COMMITS

Last week there was 1 commit.
๐Ÿ› ๏ธ Merge pull request #389 from hydrosquall/pyup-update-sphinx-2.3.0-to-2.3.1 Update sphinx to 2.3.1 by hydrosquall


CONTRIBUTORS

Last week there was 1 contributor.
๐Ÿ‘ค hydrosquall


STARGAZERS

Last week there was 1 stargazer.
โญ jiuguangw
You are the star! ๐ŸŒŸ


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

[Enhancement] Provide More Actionable Error Messages

Based on #157, it appears that when API calls return non-200 status codes, that the response may not necessarily be JSON parse-able.

We should find out whether there is a more specific error message coming from the API that can be provided to the user, and print those out accordingly.

See Taylor Barnett's "Guide to Technical Writing" for more tips on making error messages with the 3 H's in mind: humble, helpful, and human.

https://blog.stoplight.io/writing-documentation-when-you-arent-a-technical-writer-part-two-59997587cc2a?gi=67155dd06a2c

Create Scripts to Detect/Remove API Keys from Fixtures

@dcwtx carefully described the process of removing the user's API keys from generated test fixtures in the following comment: #84 (comment)

We should produce 2 scripts, and include them in a tools/ folder under this repository. Feel free to tackle just 1 if you'd like to help with this issue.

  1. a script (python or shell) that can search for API keys in the generated fixture files, and return false if any of those API keys are not (30 * 0)o
  2. a script (python or shell) that can replace the users's API key in generated fixtures with 30 * 0.
  3. Some documentation in each script about how to use it

In the absence of other names, something like api_key_detector and api_key_remover will do.

Lastly, we should mention where to find / how to use these tools in CONTRIBUTING.md.

Add Examples

Provide basic usage examples of using the API Client, perhaps in combination with some basic python data analysis tools like pandas or matplotlib. These would go into the docs.

list_stock_tickers() hangs

  • Tiingo Python version: 0.8
  • Python version: 3.5
  • Operating System: Ubuntu 16.04

Description

Trying out the service. Everything works well except when I try to retrieve a list of stock tickers.

No error returned, just hangs.

What I Did

tickers =client.list_stock_tickers()
no crash, no error, just hangs.

Weekly Digest (15 December, 2019 - 22 December, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 2 issues have been closed and 1 issues are still open.

OPEN ISSUES

๐Ÿ’š #385 Update vcrpy to 4.0.2, by pyup-bot

CLOSED ISSUES

โค๏ธ #384 Update sphinx to 2.3.0, by pyup-bot
โค๏ธ #383 Update vcrpy to 3.0.0, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #383 Update vcrpy to 3.0.0, by pyup-bot
It received 2 comments.


PULL REQUESTS

Last week, 2 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 1 pull request was updated.
๐Ÿ’› #385 Update vcrpy to 4.0.2, by pyup-bot

MERGED PULL REQUEST

Last week, 1 pull request was merged.
๐Ÿ’œ #384 Update sphinx to 2.3.0, by pyup-bot


COMMITS

Last week there were 2 commits.
๐Ÿ› ๏ธ Merge pull request #384 from hydrosquall/pyup-update-sphinx-2.2.2-to-2.3.0 Update sphinx to 2.3.0 by hydrosquall
๐Ÿ› ๏ธ Update sphinx from 2.2.2 to 2.3.0 by pyup-bot


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there were 2 stagazers.
โญ jerryzhujian9
โญ bedman3
You all are the stars! ๐ŸŒŸ


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Weekly Digest (3 November, 2019 - 10 November, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 1 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #363 Update pytest-runner to 5.2, by pyup-bot
๐Ÿ’š #362 Update cryptography to 2.8, by pyup-bot

CLOSED ISSUES

โค๏ธ #361 Update vcrpy to 2.1.1, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #361 Update vcrpy to 2.1.1, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 4 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 2 pull requests were updated.
๐Ÿ’› #363 Update pytest-runner to 5.2, by pyup-bot
๐Ÿ’› #362 Update cryptography to 2.8, by pyup-bot

MERGED PULL REQUEST

Last week, 2 pull requests were merged.
๐Ÿ’œ #361 Update vcrpy to 2.1.1, by pyup-bot
๐Ÿ’œ #354 Update pytest to 5.2.2, by pyup-bot


COMMITS

Last week there were 3 commits.
๐Ÿ› ๏ธ Merge pull request #354 from hydrosquall/pyup-update-pytest-5.2.1-to-5.2.2 Update pytest to 5.2.2 by hydrosquall
๐Ÿ› ๏ธ Merge pull request #361 from hydrosquall/pyup-update-vcrpy-2.1.0-to-2.1.1 Update vcrpy to 2.1.1 by hydrosquall
๐Ÿ› ๏ธ Update vcrpy from 2.1.0 to 2.1.1 by pyup-bot


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Weekly Digest (20 October, 2019 - 27 October, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 6 issues were created.
Of these, 2 issues have been closed and 4 issues are still open.

OPEN ISSUES

๐Ÿ’š #355 Update sphinx to 2.2.1, by pyup-bot
๐Ÿ’š #354 Update pytest to 5.2.2, by pyup-bot
๐Ÿ’š #351 Update cryptography to 2.8, by pyup-bot
๐Ÿ’š #350 Update pandas to 0.25.2, by pyup-bot

CLOSED ISSUES

โค๏ธ #353 Update tiingo to 0.12.0, by pyup-bot
โค๏ธ #352 [release] Prepare 0.12.0 release, by hydrosquall

NOISY ISSUE

๐Ÿ”ˆ #352 [release] Prepare 0.12.0 release, by hydrosquall
It received 1 comments.


PULL REQUESTS

Last week, 8 pull requests were created, updated or merged.

OPEN PULL REQUEST

Last week, 2 pull requests were opened.
๐Ÿ’š #351 Update cryptography to 2.8, by pyup-bot
๐Ÿ’š #350 Update pandas to 0.25.2, by pyup-bot

UPDATED PULL REQUEST

Last week, 2 pull requests were updated.
๐Ÿ’› #355 Update sphinx to 2.2.1, by pyup-bot
๐Ÿ’› #354 Update pytest to 5.2.2, by pyup-bot

MERGED PULL REQUEST

Last week, 4 pull requests were merged.
๐Ÿ’œ #353 Update tiingo to 0.12.0, by pyup-bot
๐Ÿ’œ #352 [release] Prepare 0.12.0 release, by hydrosquall
๐Ÿ’œ #346 Add support for multi tickers in list_tickers function, by n1rna
๐Ÿ’œ #344 Update pip to 19.3.1, by pyup-bot


COMMITS

Last week there were 11 commits.
๐Ÿ› ๏ธ Merge pull request #353 from hydrosquall/pyup-update-tiingo-0.11.0-to-0.12.0 Update tiingo to 0.12.0 by hydrosquall
๐Ÿ› ๏ธ Update tiingo from 0.11.0 to 0.12.0 by pyup-bot
๐Ÿ› ๏ธ Update tiingo from 0.11.0 to 0.12.0 by pyup-bot
๐Ÿ› ๏ธ [docs] Fix underline for proper RST rendering by hydrosquall
๐Ÿ› ๏ธ Merge pull request #352 from hydrosquall/release/0.12.0 [release] Prepare 0.12.0 release by hydrosquall
๐Ÿ› ๏ธ [tests] Update test to get fixture response for non stock ticker types by hydrosquall
๐Ÿ› ๏ธ [typo] Fix syntax errors in list_tickers test by hydrosquall
๐Ÿ› ๏ธ [docs] Update changelog and version for 0.12.0 release by hydrosquall
๐Ÿ› ๏ธ Merge pull request #344 from hydrosquall/pyup-update-pip-19.3-to-19.3.1 Update pip to 19.3.1 by hydrosquall
๐Ÿ› ๏ธ Merge pull request #346 from n1rna/improve-list-tickers Add support for multi tickers in list_tickers function by hydrosquall
๐Ÿ› ๏ธ Change name of variable to by n1rna


CONTRIBUTORS

Last week there were 3 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot
๐Ÿ‘ค n1rna


STARGAZERS

Last week there were 3 stagazers.
โญ n1rna
โญ BTruer
โญ nonnib
You all are the stars! ๐ŸŒŸ


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Client-Side Ticker Validation

Using the zip file attached to the API docs, signal to the user on the client-side whether the tickers they've provided are valid or not.

Pandas future warning around sorting

  • Tiingo Python version: 0.12.0
  • Python version: 3.7.5
  • Operating System: Windows 10

Description

Used get_dataframe() to retrieve a tickers historical price data.

What I Did

The function works and produces the expected results, but it also produces a warning:

C:\Users\[...]\lib\site-packages\tiingo\api.py:270: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.

To accept the future behavior, pass 'sort=False'.

To retain the current behavior and silence the warning, pass 'sort=True'.

prices = pd.concat([prices, df[stock]], axis=1)

Small News API Issues

  • Tiingo Python version: .10
  • Python version: 3.6
  • Operating System: Windows

Description

The sources parameter does not work. It's named "sources", but the Tiingo API specifies "source".

The onlyWithTickers boolean parameter is in the Tiingo API, but not supported by the client.

Weekly Digest (13 October, 2019 - 20 October, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 7 issues were created.
Of these, 3 issues have been closed and 4 issues are still open.

OPEN ISSUES

๐Ÿ’š #347 Update pandas to 0.25.2, by pyup-bot
๐Ÿ’š #346 Add support for multi tickers in list_tickers function, by n1rna
๐Ÿ’š #344 Update pip to 19.3.1, by pyup-bot
๐Ÿ’š #343 Update cryptography to 2.8, by pyup-bot

CLOSED ISSUES

โค๏ธ #348 [tests] Address typos in vcrpy cassette imports, by hydrosquall
โค๏ธ #345 Add support for multi tickers in list_tickers function, by ecatmedia
โค๏ธ #342 Update pip to 19.3, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #342 Update pip to 19.3, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 7 pull requests were created, updated or merged.

OPEN PULL REQUEST

Last week, 3 pull requests were opened.
๐Ÿ’š #347 Update pandas to 0.25.2, by pyup-bot
๐Ÿ’š #344 Update pip to 19.3.1, by pyup-bot
๐Ÿ’š #343 Update cryptography to 2.8, by pyup-bot

UPDATED PULL REQUEST

Last week, 1 pull request was updated.
๐Ÿ’› #346 Add support for multi tickers in list_tickers function, by n1rna

MERGED PULL REQUEST

Last week, 3 pull requests were merged.
๐Ÿ’œ #348 [tests] Address typos in vcrpy cassette imports, by hydrosquall
๐Ÿ’œ #342 Update pip to 19.3, by pyup-bot
๐Ÿ’œ #340 Add support for tiingo crypto endpoints to TiingoClient, by n1rna


COMMITS

Last week there were 13 commits.
๐Ÿ› ๏ธ Merge pull request #348 from hydrosquall/bug/fix-typos-in-test-cases [tests] Address typos in vcrpy cassette imports by hydrosquall
๐Ÿ› ๏ธ Update price history test assertions by hydrosquall
๐Ÿ› ๏ธ [tests] Address typos in cassette test imports by hydrosquall
๐Ÿ› ๏ธ Merge pull request #340 from n1rna/crypto-support Add support for tiingo crypto endpoints to TiingoClient by hydrosquall
๐Ÿ› ๏ธ Add name to AUTHORS.rst by n1rna
๐Ÿ› ๏ธ Remove endDate argument from crypto top of book endpoint by n1rna
๐Ÿ› ๏ธ Fix status code and some typos in crypto fixtures by n1rna
๐Ÿ› ๏ธ Merge pull request #342 from hydrosquall/pyup-update-pip-19.2.3-to-19.3 Update pip to 19.3 by hydrosquall
๐Ÿ› ๏ธ Update pip from 19.2.3 to 19.3 by pyup-bot
๐Ÿ› ๏ธ Fix some minor issues and typos by n1rna
๐Ÿ› ๏ธ Use vcr cassette fixtures in crypto tests by n1rna
๐Ÿ› ๏ธ Add cassette fixtures for crypto endpoints by n1rna
๐Ÿ› ๏ธ Add vs code internal paths to .gitignore by n1rna


CONTRIBUTORS

Last week there were 3 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค n1rna
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there was 1 stargazer.
โญ hauselin
You are the star! ๐ŸŒŸ


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Weekly Digest (22 December, 2019 - 29 December, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 2 issues have been closed and 1 issues are still open.

OPEN ISSUES

๐Ÿ’š #389 Update sphinx to 2.3.1, by pyup-bot

CLOSED ISSUES

โค๏ธ #388 Update sphinx to 2.3.1, by pyup-bot
โค๏ธ #387 Update coverage to 5.0.1, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #387 Update coverage to 5.0.1, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 3 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 1 pull request was updated.
๐Ÿ’› #389 Update sphinx to 2.3.1, by pyup-bot

MERGED PULL REQUEST

Last week, 2 pull requests were merged.
๐Ÿ’œ #387 Update coverage to 5.0.1, by pyup-bot
๐Ÿ’œ #381 Update pytest to 5.3.2, by pyup-bot


COMMITS

Last week there were 3 commits.
๐Ÿ› ๏ธ Merge pull request #387 from hydrosquall/pyup-update-coverage-4.5.4-to-5.0.1 Update coverage to 5.0.1 by hydrosquall
๐Ÿ› ๏ธ Update coverage from 4.5.4 to 5.0.1 by pyup-bot
๐Ÿ› ๏ธ Merge pull request #381 from hydrosquall/pyup-update-pytest-5.3.1-to-5.3.2 Update pytest to 5.3.2 by hydrosquall


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

[feature] Permit multiple metrics to be fetched from multiple tickers as 1 library call

Lineage

  1. The library was specified that multiple tickers only support single metrics in the docstring but not in error messages, leading to a confusing error message in here.
  2. The error message was clarified in #263.
  3. Getting multiple metrics back in 1 API call from multiple tickers was requested as a new feature here

In the meantime, users have 2 alternatives

  • Use something like the code snippet proposed here
  • Share a bit about how the data structure you'd expected for a multi-metric dataframe with multiple tickers might look like (would wide/long tables work for your usecase, or would you prefer a multi-indexed dataframe)?

Weekly Digest (8 December, 2019 - 15 December, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 2 issues were created.
Of these, 0 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #381 Update pytest to 5.3.2, by pyup-bot
๐Ÿ’š #380 Update coverage to 5.0, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #380 Update coverage to 5.0, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 5 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 2 pull requests were updated.
๐Ÿ’› #381 Update pytest to 5.3.2, by pyup-bot
๐Ÿ’› #380 Update coverage to 5.0, by pyup-bot

MERGED PULL REQUEST

Last week, 3 pull requests were merged.
๐Ÿ’œ #378 Update pyyaml to 5.2, by pyup-bot
๐Ÿ’œ #376 Update tox to 3.14.2, by pyup-bot
๐Ÿ’œ #374 Update twine to 3.1.1, by pyup-bot


COMMITS

Last week there were 3 commits.
๐Ÿ› ๏ธ Merge pull request #378 from hydrosquall/pyup-update-pyyaml-5.1.2-to-5.2 Update pyyaml to 5.2 by hydrosquall
๐Ÿ› ๏ธ Merge pull request #376 from hydrosquall/pyup-update-tox-3.14.1-to-3.14.2 Update tox to 3.14.2 by hydrosquall
๐Ÿ› ๏ธ Merge pull request #374 from hydrosquall/pyup-update-twine-2.0.0-to-3.1.1 Update twine to 3.1.1 by hydrosquall


CONTRIBUTORS

Last week there was 1 contributor.
๐Ÿ‘ค hydrosquall


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

[Release] 0.8.0

We should release a new minor version to include the changes from

  • #125 (New Feature - IEX endpoint)
  • #126 (Better tooling)
  • Add a release.md so that this step is recorded for the future

Steps involved include:

  • Make a branch called release/0.8.0
  • Update the changelog to contain the changes from 0.7.0 (going forward, we should just have authors populate the changelog whenever they open a merge request, I should add this to the PR template).
  • Update the __version__.py to 0.8.0
  • Open a merge request to master

After the PR is complete, the merged commit should be tagged with 0.8.0. This is how Travis will know to push a new version to PyPI.

Weekly Digest (10 November, 2019 - 17 November, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 1 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #367 Update pytest to 5.2.4, by pyup-bot
๐Ÿ’š #365 Update tox to 3.14.1, by pyup-bot

CLOSED ISSUES

โค๏ธ #366 Update pytest to 5.2.3, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #366 Update pytest to 5.2.3, by pyup-bot
It received 2 comments.


PULL REQUESTS

Last week, 4 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 2 pull requests were updated.
๐Ÿ’› #367 Update pytest to 5.2.4, by pyup-bot
๐Ÿ’› #365 Update tox to 3.14.1, by pyup-bot

MERGED PULL REQUEST

Last week, 2 pull requests were merged.
๐Ÿ’œ #363 Update pytest-runner to 5.2, by pyup-bot
๐Ÿ’œ #362 Update cryptography to 2.8, by pyup-bot


COMMITS

Last week there were 2 commits.
๐Ÿ› ๏ธ Merge pull request #363 from hydrosquall/pyup-update-pytest-runner-5.1-to-5.2 Update pytest-runner to 5.2 by hydrosquall
๐Ÿ› ๏ธ Merge pull request #362 from hydrosquall/pyup-update-cryptography-2.7-to-2.8 Update cryptography to 2.8 by hydrosquall


CONTRIBUTORS

Last week there was 1 contributor.
๐Ÿ‘ค hydrosquall


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Weekly Digest (7 October, 2019 - 14 October, 2019)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 3 issues were created.
Of these, 1 issues have been closed and 2 issues are still open.

OPEN ISSUES

๐Ÿ’š #340 Add support for tiingo crypto endpoints to TiingoClient, by n1rna
๐Ÿ’š #338 [Enhancement] Get all tickers regardless of assetType, by dtandersen

CLOSED ISSUES

โค๏ธ #339 Update pytest to 5.2.1, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #338 [Enhancement] Get all tickers regardless of assetType, by dtandersen
It received 1 comments.


PULL REQUESTS

Last week, 2 pull requests were created, updated or merged.

UPDATED PULL REQUEST

Last week, 1 pull request was updated.
๐Ÿ’› #340 Add support for tiingo crypto endpoints to TiingoClient, by n1rna

MERGED PULL REQUEST

Last week, 1 pull request was merged.
๐Ÿ’œ #339 Update pytest to 5.2.1, by pyup-bot


COMMITS

Last week there were 2 commits.
๐Ÿ› ๏ธ Merge pull request #339 from hydrosquall/pyup-update-pytest-5.2.0-to-5.2.1 Update pytest to 5.2.1 by hydrosquall
๐Ÿ› ๏ธ Update pytest from 5.2.0 to 5.2.1 by pyup-bot


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there was 1 stargazer.
โญ tingfungn
You are the star! ๐ŸŒŸ


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

[Enhancement] Add Executable Jupyter Notebook Showing Basic Library Usage

Motivation

As a new developer approach approaching this library, I would like to be able to try things out right away without having to install anything. To enable this, we can let people try out online jupyter notebooks using the mybinder.org service (see here). Using the code examples from the README.md would be sufficient as a first pass.

We would want to provide a field that lets the user supply their own API key, since there isn't a public shared account.

Here are 2 projects which use mybinder to provide this capability, with a link to the PR where that capacity was enabled.

If you are interested in picking this up and would like further guidance/mentorship on how to proceed, please let me know.

This is a practical subset of what I'd eventually like to expand into #1.

Add functionality to pull historical intraday data with IEX as endpoint

  • Tiingo Python version:0.6.0
  • Python version:3.6
  • Operating System:

Description

Hi there!

Tiingo offers ability to get historical intraday data from IEX.
Please refer to: https://api.tiingo.com/docs/iex/realtime#historicalPriceData
Here is a request url example for historical 5-min data:
https://api.tiingo.com/iex/aapl/prices?startDate=2018-5-22&resampleFreq=5min

Availble frequencies are in minutes and hours.

Please add this functionality to tiingo-python

Thank you!
Dias

[developer experience] Argument Validation + Helpful Error Message

@Kuhno92 reported in #258 that a cryptic error message pops up when metric_name is omitted from the call to get_dataframe. We can improve the developer experience by validating the arguments to the function before using up an API key, and provide direction about how to provide the required arguments.

I don't see an immediate need to support multiple metrics for the multi-metric usecase, although I see multiple possible alternatives:

  1. Put the data in "tidy" data format using the "long" shape (see the tidyverse's concept of long vs wide data). I would prefer this option but it is less intuitive than the current single metric "wide" data shape.
  2. Use a pandas multi-index to nest multiple metrics under each column.

I figure that if someone has a strong opinion / preference for combining these things, they would probably be building their own custom multi-metric dataframe through multiple calls to the single-ticker form of get_dataframe. However, if I hear from the tiingo community that there is interest otherwise, we can revisit this issue.

Data frequency resampling does not work

  • Tiingo Python version: 0.4.1
  • Python version: 3.6.3
  • Operating System: Windows 10

Description

Historical price data cannot be resampled to anything other than 'daily'.

What I Did

from pandas.io.json import json_normalize
from tiingo import TiingoClient

client = TiingoClient(config)

msft_30m = client.get_ticker_price('MSFT', startDate='2017-12-01', endDate='2017-12-21', frequency='30min')

json_normalize(msft_hist)
adjClose adjHigh adjLow adjOpen adjVolume close date divCash high low open splitFactor volume
84.26 84.8100 83.2200 83.60 29387325 84.26 2017-12-01T00:00:00.000Z 0.0 84.8100 83.2200 83.60 1.0 29387325
81.08 84.4299 80.7000 84.42 37977732 81.08 2017-12-04T00:00:00.000Z 0.0 84.4299 80.7000 84.42 1.0 37977732
81.59 82.6800 80.9801 81.34 25512120 81.59 2017-12-05T00:00:00.000Z 0.0 82.6800 80.9801 81.34 1.0 25512120
82.78 83.1400 81.4300 81.55 24821403 82.78 2017-12-06T00:00:00.000Z 0.0 83.1400 81.4300 81.55 1.0 24821403
82.49 82.8000 82.0000 82.54 20378114 82.49 2017-12-07T00:00:00.000Z 0.0 82.8000 82.0000 82.54 1.0 20378114
84.16 84.5800 83.3300 83.63 23825056 84.16 2017-12-08T00:00:00.000Z 0.0 84.5800 83.3300 83.63 1.0 23825056
85.23 85.3700 84.1200 84.29 19909119 85.23 2017-12-11T00:00:00.000Z 0.0 85.3700 84.1200 84.29 1.0 19909119
85.58 86.0500 85.0800 85.31 23534946 85.58 2017-12-12T00:00:00.000Z 0.0 86.0500 85.0800 85.31 1.0 23534946
85.35 86.0000 85.1700 85.74 21307911 85.35 2017-12-13T00:00:00.000Z 0.0 86.0000 85.1700 85.74 1.0 21307911
84.69 85.8739 84.5300 85.43 19080106 84.69 2017-12-14T00:00:00.000Z 0.0 85.8739 84.5300 85.43 1.0 19080106
86.85 87.0900 84.8800 85.26 52430167 86.85 2017-12-15T00:00:00.000Z 0.0 87.0900 84.8800 85.26 1.0 52430167
86.38 87.4999 86.2300 87.12 21551076 86.38 2017-12-18T00:00:00.000Z 0.0 87.4999 86.2300 87.12 1.0 21551076
85.83 86.3500 85.2700 86.35 23241979 85.83 2017-12-19T00:00:00.000Z 0.0 86.3500 85.2700 86.35 1.0 23241979
85.52 86.3000 84.7100 86.20 23425009 85.52 2017-12-20T00:00:00.000Z 0.0 86.3000 84.7100 86.20 1.0 23425009
85.50 86.1000 85.4000 86.05 17939766 85.50 2017-12-21T00:00:00.000Z 0.0 86.1000 85.4000 86.05 1.0 17939766

Weekly Digest (29 December, 2019 - 5 January, 2020)

Here's the Weekly Digest for hydrosquall/tiingo-python:


ISSUES

Last week 2 issues were created.
Of these, 1 issues have been closed and 1 issues are still open.

OPEN ISSUES

๐Ÿ’š #392 Pandas future warning around sorting, by ymyke

CLOSED ISSUES

โค๏ธ #391 Update tox to 3.14.3, by pyup-bot

NOISY ISSUE

๐Ÿ”ˆ #391 Update tox to 3.14.3, by pyup-bot
It received 1 comments.


PULL REQUESTS

Last week, 1 pull request was created, updated or merged.

MERGED PULL REQUEST

Last week, 1 pull request was merged.
๐Ÿ’œ #391 Update tox to 3.14.3, by pyup-bot


COMMITS

Last week there were 2 commits.
๐Ÿ› ๏ธ Merge pull request #391 from hydrosquall/pyup-update-tox-3.14.2-to-3.14.3 Update tox to 3.14.3 by hydrosquall
๐Ÿ› ๏ธ Update tox from 3.14.2 to 3.14.3 by pyup-bot


CONTRIBUTORS

Last week there were 2 contributors.
๐Ÿ‘ค hydrosquall
๐Ÿ‘ค pyup-bot


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository hydrosquall/tiingo-python to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest bot. ๐Ÿ“†

Add Argument Validation for Accepted Sampling Frequencies

As a user of the tiingo library, I would like to validate requested sampling frequencies so that users get immediate feedback when they used invalid frequencies. (This would have prevented #52).

To close this PR, I would like to see

  • Updates toget_ticker_price. Perhaps use the Enum class in Python to help with this. Since this library supports Python2 and Python3, we may need the https://pypi.python.org/pypi/enum34 to ensure backwards compatibility
  • Tests to cover the new lines of code
  • Mention the supported frequencies in README.md

Server limit messages are not handled gracefully

  • Tiingo Python version: 0.4.0
  • Python version: 3.6
  • Operating System: Windows

Description

API limits enforced at the free tier are not handled gracefully (i.e. error / exception thrown).

What I Did

As expected, once I passed an API limit (not yet a paying customer, though I intend to pay shortly), I received an error because the Tiingo response is not JSON in this case:

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

The offending line:

C:\anaconda3-4.2.0\lib\site-packages\tiingo\api.py in get_ticker_price(self, ticker, startDate, endDate, fmt, frequency)
    137         response = self._request('GET', url, params=params)
    138         if fmt == "json":
--> 139             return response.json()
    140         elif fmt == "object":
    141             data = response.json()

This is because the response from the Tiingo API is:

You have run over your 500 symbol look up for this month. Please upgrade at https://api.tiingo.com/pricing to have your limits increased.

... although the HTTP status is still 200 OK (not great API design). Happy to submit a PR if you feel this should be fixed!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.