Git Product home page Git Product logo

riingo's Introduction

CRAN status Codecov test coverage R build status

riingo

riingo allows you to access the Tiingo API for stock prices, cryptocurrencies, and intraday feeds from the IEX (Investors Exchange). This can serve as an alternate source of data to Yahoo Finance.

Installation

Install the stable version from CRAN with:

install.packages("riingo")

Install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("DavisVaughan/riingo")

API Token

The first thing you must do is create an account and set an API token. I recommend using the two functions below to help create your account and find the token.

riingo_browse_signup()
riingo_browse_token() # This requires that you are signed in on the site once you sign up

Once you have signed up and have an API token, I recommmend setting the token as an environment variable, RIINGO_TOKEN in an .Renviron file. The easiest way to do this is with usethis.

usethis::edit_r_environ()

# Then add a line in the environment file that looks like:
RIINGO_TOKEN = token_here

Do not put the token in quotes, and restart R after you have set it.

See the documentation ?riingo_get_token() for more information.

Basic example

library(riingo)

Let’s grab some data with riingo. The default parameters attempt to get 1 year’s worth of data.

riingo_prices("AAPL")
#> # A tibble: 252 x 14
#>    ticker date                close  high   low  open volume adjClose adjHigh
#>    <chr>  <dttm>              <dbl> <dbl> <dbl> <dbl>  <int>    <dbl>   <dbl>
#>  1 AAPL   2019-07-18 00:00:00  206.  206.  204.  204  1.86e7     203.    203.
#>  2 AAPL   2019-07-19 00:00:00  203.  206.  202.  206. 2.09e7     200.    204.
#>  3 AAPL   2019-07-22 00:00:00  207.  207.  204.  204. 2.23e7     205.    205.
#>  4 AAPL   2019-07-23 00:00:00  209.  209.  207.  208. 1.84e7     206.    206.
#>  5 AAPL   2019-07-24 00:00:00  209.  209.  207.  208. 1.50e7     206.    207.
#>  6 AAPL   2019-07-25 00:00:00  207.  209.  207.  209. 1.39e7     205.    207.
#>  7 AAPL   2019-07-26 00:00:00  208.  210.  207.  207. 1.76e7     205.    207.
#>  8 AAPL   2019-07-29 00:00:00  210.  211.  208.  208. 2.17e7     207.    208.
#>  9 AAPL   2019-07-30 00:00:00  209.  210.  207.  209. 3.39e7     206.    208.
#> 10 AAPL   2019-07-31 00:00:00  213.  221.  211.  216. 6.93e7     211.    219.
#> # … with 242 more rows, and 5 more variables: adjLow <dbl>, adjOpen <dbl>,
#> #   adjVolume <int>, divCash <dbl>, splitFactor <dbl>

But of course you can try and get as much as is available…

riingo_prices("AAPL", start_date = "1950-01-01")
#> # A tibble: 9,982 x 14
#>    ticker date                close  high   low  open volume adjClose adjHigh
#>    <chr>  <dttm>              <dbl> <dbl> <dbl> <dbl>  <int>    <dbl>   <dbl>
#>  1 AAPL   1980-12-12 00:00:00  28.8  28.9  28.8  28.8 2.09e6    0.407   0.408
#>  2 AAPL   1980-12-15 00:00:00  27.2  27.4  27.2  27.4 7.85e5    0.386   0.387
#>  3 AAPL   1980-12-16 00:00:00  25.2  25.4  25.2  25.4 4.72e5    0.357   0.359
#>  4 AAPL   1980-12-17 00:00:00  25.9  26    25.9  25.9 3.86e5    0.366   0.368
#>  5 AAPL   1980-12-18 00:00:00  26.6  26.8  26.6  26.6 3.28e5    0.377   0.378
#>  6 AAPL   1980-12-19 00:00:00  28.2  28.4  28.2  28.2 2.17e5    0.400   0.402
#>  7 AAPL   1980-12-22 00:00:00  29.6  29.8  29.6  29.6 1.67e5    0.419   0.421
#>  8 AAPL   1980-12-23 00:00:00  30.9  31    30.9  30.9 2.10e5    0.437   0.439
#>  9 AAPL   1980-12-24 00:00:00  32.5  32.6  32.5  32.5 2.14e5    0.460   0.462
#> 10 AAPL   1980-12-26 00:00:00  35.5  35.6  35.5  35.5 2.48e5    0.502   0.504
#> # … with 9,972 more rows, and 5 more variables: adjLow <dbl>, adjOpen <dbl>,
#> #   adjVolume <int>, divCash <dbl>, splitFactor <dbl>

And multiple tickers work as well.

riingo_prices(c("AAPL", "IBM"), start_date = "2001-01-01", end_date = "2005-01-01", resample_frequency = "monthly")
#> # A tibble: 98 x 14
#>    ticker date                close  high   low  open volume adjClose adjHigh
#>    <chr>  <dttm>              <dbl> <dbl> <dbl> <dbl>  <int>    <dbl>   <dbl>
#>  1 AAPL   2001-01-31 00:00:00  21.6  22.5  14.4  14.9 2.45e8    1.34     1.39
#>  2 AAPL   2001-02-28 00:00:00  18.2  21.9  18    20.7 1.25e8    1.13     1.36
#>  3 AAPL   2001-03-30 00:00:00  22.1  23.8  17.2  17.8 1.93e8    1.36     1.47
#>  4 AAPL   2001-04-30 00:00:00  25.5  27.1  18.8  22.1 1.99e8    1.58     1.68
#>  5 AAPL   2001-05-31 00:00:00  20.0  26.7  19.3  25.4 1.33e8    1.23     1.65
#>  6 AAPL   2001-06-29 00:00:00  23.2  25.1  19.4  20.1 1.36e8    1.44     1.55
#>  7 AAPL   2001-07-31 00:00:00  18.8  25.2  17.8  23.6 1.55e8    1.16     1.56
#>  8 AAPL   2001-08-31 00:00:00  18.6  19.9  17.3  19.0 9.16e7    1.15     1.23
#>  9 AAPL   2001-09-28 00:00:00  15.5  19.1  14.7  18.5 9.88e7    0.959    1.18
#> 10 AAPL   2001-10-31 00:00:00  17.6  19.4  14.8  15.5 1.35e8    1.09     1.20
#> # … with 88 more rows, and 5 more variables: adjLow <dbl>, adjOpen <dbl>,
#> #   adjVolume <dbl>, divCash <dbl>, splitFactor <dbl>

Intraday data

You can get limited intraday data with riingo_iex_prices(). This gives you access to Tiingo’s direct feed to the IEX.

riingo_iex_prices("AAPL", resample_frequency = "1min")
#> # A tibble: 10,000 x 6
#>    ticker date                close  high   low  open
#>    <chr>  <dttm>              <dbl> <dbl> <dbl> <dbl>
#>  1 AAPL   2020-06-12 13:55:00  346.  346.  346.  346.
#>  2 AAPL   2020-06-12 13:56:00  347.  347.  346.  346.
#>  3 AAPL   2020-06-12 13:57:00  346.  347.  346.  347.
#>  4 AAPL   2020-06-12 13:58:00  346.  346.  346.  346.
#>  5 AAPL   2020-06-12 13:59:00  346.  347.  346.  346.
#>  6 AAPL   2020-06-12 14:00:00  346.  347.  346.  347.
#>  7 AAPL   2020-06-12 14:01:00  347.  347.  346.  346.
#>  8 AAPL   2020-06-12 14:02:00  347.  347.  347.  347.
#>  9 AAPL   2020-06-12 14:03:00  347.  347.  347.  347.
#> 10 AAPL   2020-06-12 14:04:00  347.  347.  347.  347.
#> # … with 9,990 more rows

See the documentation for all of the restrictions.

Meta data

Meta data about each ticker is available through riingo_meta().

riingo_meta(c("AAPL", "QQQ"))
#> # A tibble: 2 x 6
#>   ticker name   startDate           exchangeCode description endDate            
#>   <chr>  <chr>  <dttm>              <chr>        <chr>       <dttm>             
#> 1 AAPL   Apple… 1980-12-12 00:00:00 NASDAQ       "Apple Inc… 2020-07-16 00:00:00
#> 2 QQQ    POWER… 1999-03-10 00:00:00 NASDAQ       "PowerShar… 2020-07-16 00:00:00

Available tickers

You can check if a ticker is supported on Tiingo with is_supported_ticker() and you can get a tibble of all supported tickers with supported_tickers()

is_supported_ticker("AAPL")
#> [1] TRUE

tickers <- supported_tickers()
tickers
#> # A tibble: 85,714 x 6
#>    ticker exchange assetType priceCurrency startDate          
#>    <chr>  <chr>    <chr>     <chr>         <dttm>             
#>  1 000001 SHE      Stock     CNY           2007-08-30 00:00:00
#>  2 000002 SHE      Stock     CNY           2000-01-04 00:00:00
#>  3 000003 SHE      Stock     CNY           NA                 
#>  4 000004 SHE      Stock     CNY           2007-08-31 00:00:00
#>  5 000005 SHE      Stock     CNY           2001-01-02 00:00:00
#>  6 000006 SHE      Stock     CNY           2018-01-01 00:00:00
#>  7 000007 SHE      Stock     CNY           2007-08-31 00:00:00
#>  8 000008 SHE      Stock     CNY           2000-01-03 00:00:00
#>  9 000009 SHE      Stock     CNY           2000-01-03 00:00:00
#> 10 000010 SHE      Stock     CNY           2007-08-31 00:00:00
#> # … with 85,704 more rows, and 1 more variable: endDate <dttm>

Quote data

Another benefit of getting a feed from IEX is real time quote data. This includes TOP (top of book) bid and ask prices, along with most recent sale prices.

It is normal for some fields to return NA when outside of trading hours.

riingo_iex_quote(c("AAPL", "QQQ"))
#> # A tibble: 2 x 17
#>   ticker  last bidPrice quoteTimestamp        low volume timestamp          
#>   <chr>  <dbl>    <dbl> <dttm>              <dbl>  <int> <dttm>             
#> 1 AAPL    385.     377  2020-07-17 13:39:00  383. 201592 2020-07-17 13:39:00
#> 2 QQQ     259.     259. 2020-07-17 13:39:16  257. 131168 2020-07-17 13:39:16
#> # … with 10 more variables: tngoLast <dbl>, lastsaleTimeStamp <dttm>,
#> #   lastSize <int>, askSize <int>, bidSize <int>, askPrice <dbl>, high <dbl>,
#> #   open <dbl>, prevClose <dbl>, mid <dbl>

Crypto data

Cryptocurrency data can be accessed with riingo_crypto_*() functions. By default, 1 year’s worth is pulled if available. Some tickers go back much further than others.

riingo_crypto_prices(c("btcusd", "btceur"))
#> # A tibble: 731 x 11
#>    ticker baseCurrency quoteCurrency date                 open  high   low close
#>    <chr>  <chr>        <chr>         <dttm>              <dbl> <dbl> <dbl> <dbl>
#>  1 btceur btc          eur           2019-07-18 00:00:00 8638. 9568. 8282. 9444.
#>  2 btceur btc          eur           2019-07-19 00:00:00 9453. 9558. 9012. 9383.
#>  3 btceur btc          eur           2019-07-20 00:00:00 9377. 9901. 9246. 9578.
#>  4 btceur btc          eur           2019-07-21 00:00:00 9580. 9650. 9188. 9433.
#>  5 btceur btc          eur           2019-07-22 00:00:00 9449. 9539. 8986. 9221.
#>  6 btceur btc          eur           2019-07-23 00:00:00 9215. 9221. 8812. 8838.
#>  7 btceur btc          eur           2019-07-24 00:00:00 8843. 8915. 8550. 8769.
#>  8 btceur btc          eur           2019-07-25 00:00:00 8770. 9144. 8738. 8876.
#>  9 btceur btc          eur           2019-07-26 00:00:00 8872. 8913. 8674. 8844.
#> 10 btceur btc          eur           2019-07-27 00:00:00 8843. 9177. 8373. 8512.
#> # … with 721 more rows, and 3 more variables: volume <dbl>,
#> #   volumeNotional <dbl>, tradesDone <dbl>

Intraday data is available as well. The intraday ranges are not well documented, so it is a little hard to know what you can pull. From what I have discovered, you can pull a few days at a time, with the max date of intraday data being about ~4 months back (When the date was April 5, 2018, I could pull intraday data back to December 15, 2017, but only 5000 minutes at a time).

riingo_crypto_prices("btcusd", start_date = Sys.Date() - 5, end_date = Sys.Date(), resample_frequency = "1min")
#> # A tibble: 4,530 x 11
#>    ticker baseCurrency quoteCurrency date                 open  high   low close
#>    <chr>  <chr>        <chr>         <dttm>              <dbl> <dbl> <dbl> <dbl>
#>  1 btcusd btc          usd           2020-07-12 00:00:00 9234. 9237. 9234. 9236.
#>  2 btcusd btc          usd           2020-07-12 00:01:00 9236. 9237. 9236. 9237.
#>  3 btcusd btc          usd           2020-07-12 00:02:00 9237. 9237. 9231. 9233.
#>  4 btcusd btc          usd           2020-07-12 00:03:00 9233. 9240. 9233. 9238.
#>  5 btcusd btc          usd           2020-07-12 00:04:00 9238. 9240. 9238. 9239.
#>  6 btcusd btc          usd           2020-07-12 00:05:00 9240. 9240. 9239. 9240.
#>  7 btcusd btc          usd           2020-07-12 00:06:00 9240. 9240. 9239. 9240.
#>  8 btcusd btc          usd           2020-07-12 00:07:00 9240. 9242. 9238. 9240.
#>  9 btcusd btc          usd           2020-07-12 00:08:00 9240. 9242. 9239. 9241.
#> 10 btcusd btc          usd           2020-07-12 00:09:00 9241. 9246. 9240. 9245.
#> # … with 4,520 more rows, and 3 more variables: volume <dbl>,
#> #   volumeNotional <dbl>, tradesDone <dbl>

Also available are meta data with riingo_crypto_meta(), and TOP (top of book) quote data with riingo_crypto_quote().

Lastly, you can extract raw (unaggregated) data feeds from multiple exchanges by using the raw = TRUE argument in the price and quote crypto function.

Related projects

  • tiingo-python - A Python client for interacting with the Tiingo API.

  • quantmod - One of the data sources quantmod can pull from is Tiingo.

riingo's People

Contributors

davisvaughan 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

riingo's Issues

riingo prices fails if there is any invalid tickers

Hi all,

You guys have done a great job with this package. There was one issue that I noticed which I wanted to bring to your attention. If there is a single invalid ticker, start_date, end_date, the entire call fails.

This could be problematic when calling 500 tickers, as the first 499 tickers might successfully download, but if there is one bad egg, it ruins the whole batch.

As an example:

tickers <- c("AAPL","IBM","F","BADTICKER")

riingo::riingo_prices(tickers)
#> Warning: 'glue::collapse' is deprecated.
#> Use 'glue_collapse' instead.
#> See help("Deprecated") and help("glue-deprecated").

#> Warning: 'glue::collapse' is deprecated.
#> Use 'glue_collapse' instead.
#> See help("Deprecated") and help("glue-deprecated").

#> Warning: 'glue::collapse' is deprecated.
#> Use 'glue_collapse' instead.
#> See help("Deprecated") and help("glue-deprecated").

#> Warning: 'glue::collapse' is deprecated.
#> Use 'glue_collapse' instead.
#> See help("Deprecated") and help("glue-deprecated").
#> Error: The ticker name, BADTICKER, is invalid or data is currently not available. Check ticker validity with is_supported_ticker().
#> Tiingo msg) Error: Ticker 'BADTICKER' not found

I tried to look through the source code, but found there were certain functions that weren't exported so I figured I'd post an issue.

Thanks,
Zac

Wrongly attributes Monday Quotes to Sunday date

For example, 2022-07-10 to 2022-07-19 download for SPY gives:

5918 | SPY | 2022-07-10 | 384.23 | 386.8700 | 383.5000 | 385.850 | 58366945 | 384.2300 | 386.8700 | 383.5000 | 385.8500 |
5919 | SPY | 2022-07-11 | 380.83 | 386.1600 | 378.9900 | 383.650 | 62219178 | 380.8300 | 386.1600 | 378.9900 | 383.6500 |
5920 | SPY | 2022-07-12 | 378.83 | 381.9200 | 374.6580 | 375.100 | 84224649 | 378.8300 | 381.9200 | 374.6580 | 375.1000 |
5921 | SPY | 2022-07-13 | 377.91 | 379.0498 | 371.0400 | 373.610 | 89704819 | 377.9100 | 379.0498 | 371.0400 | 373.6100 |
5922 | SPY | 2022-07-14 | 385.13 | 385.2500 | 380.5400 | 382.550 | 79060383 | 385.1300 | 385.2500 | 380.5400 | 382.5500 |
5923 | SPY | 2022-07-17 | 381.95 | 389.0900 | 380.6600 | 388.380 | 63203626 | 381.9500 | 389.0900 | 380.6600 | 388.3800 |
5924 | SPY | 2022-07-18 | 392.27 | 392.8700 | 385.3900 | 386.080 | 77242177 | 392.2700 | 392.8700 | 385.3900 | 386.0800 |

The order of the quotes itself is correct but the dates are wrong and offset by 1 day. The dates end on 07-18 while the last quote is actually for 07-19. Also, 07-17 listed quote is for 07-18, and 07-17 is a Sunday. This is possibly a duplicate of the open issue, although I am not sure if it is the same. It will be great if you can fix it.

[FR] Offer option to not return tibble

In RBlpApi, we always had different data containers for the time series data (ie xts, fts, ...; I added data.frame) That is not a bad practice. Maybe you coulf follow suit, especially that we have so many different ones now?

Feel free to close if you disagree, but also see next issue.

Tibble display not useful

R> res <- riingo_iex_latest("SPY")
R> tail(res)
# A tibble: 6 x 6
  ticker date                 open  high   low close
  <chr>  <dttm>              <dbl> <dbl> <dbl> <dbl>
1 SPY    2018-04-16 13:49:00.000000  267.  267.  267.  267.
2 SPY    2018-04-16 13:50:00.000000  267.  267.  267.  267.
3 SPY    2018-04-16 13:51:00.000000  266.  266.  266.  266.
4 SPY    2018-04-16 13:52:00.000000  266.  266.  266.  266.
5 SPY    2018-04-16 13:53:00.000000  266.  266.  266.  266.
6 SPY    2018-04-16 13:54:00.000000  266.  266.  266.  266.
R> 

The time should be aware of localtime, and the resolution is simply not useful for pricing data.

Release riingo 0.1.1

Prepare for release:

  • devtools::check()
  • devtools::check_win_devel()
  • rhub::check_for_cran()
  • revdepcheck::revdep_check(num_workers = 4)
  • Polish NEWS
  • Polish pkgdown reference index

Submit to CRAN:

  • usethis::use_version()
  • Update cran-comments.md
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • usethis::use_github_release()
  • usethis::use_dev_version()
  • Tweet

IEX volume?

I installed version 0.3 from CRAN and then tried the latest github version of riingo, but when I use the riingo_iex_latest function, it doesn't appear to be sending back the volume. Is there an argument that needs to be set for it to return the intraday volume?

Return volume in IEX intraday info

riingo_iex_prices() can actually return volume info, apparently.

2.5.3 of this states:
https://api.tiingo.com/documentation/iex

"The number of shares traded on IEX only. This value will only be exposed if explicitly passed to the "columns" request parameter. E.g. ?columns=open,high,low,close,volume"

I confirmed locally that manually tweaking the url to the following does indeed return intraday volume

"https://api.tiingo.com/iex/AAPL/prices?startDate=2019-05-27&endDate=2020-05-26&resampleFreq=5min&columns=open,high,low,close,volume"

Cross-Link to Python Client

I've been asked before by R users whether there's an R version of tiingo-python, and now I know where to send them!

I've filed an issue to link to riingo from our README, and was wondering if you'd be interested in doing the same :)

hydrosquall/tiingo-python#119

Currency Pairs

@DavisVaughan I saw your recent tweet in response to a question regarding currency pairs and tried to follow your suggestion as follows;-

riingo_crypto_prices("btcjpy", convert_currency = "usd", 
                     resample_frequency = "1min", start_date = "2018-04-05") %>%
  mutate(usdjpy=1/fxRate)

Unfortunately, the following error message is received;-

Error in mutate_impl(.data, dots) : 
  Evaluation error: object 'fxRate' not found.
In addition: Warning message:
The Tiingo API only uses the first ticker when convert_currency is specified. 

Any suggestions as to how I can resolve this error, please?

Release riingo 0.3.1

Prepare for release:

  • devtools::build_readme()
  • Check current CRAN check results
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • Polish NEWS

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • usethis::use_github_release()
  • usethis::use_dev_version()

Release riingo 0.3.0

Prepare for release:

  • devtools::build_readme()
  • Check current CRAN check results
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • Polish NEWS
  • Review pkgdown reference index for, e.g., missing topics
  • Draft blog post

Submit to CRAN:

  • usethis::use_version('minor')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • usethis::use_github_release()
  • usethis::use_dev_version()
  • Finish blog post
  • Tweet
  • Add link to blog post in pkgdown news menu

Tiingo News API `start_date`/`end_date` not respected

@tiingo Hey Tiingo team. I'm working on exposing the News API, but it doesn't look like the start/end date parameter is being respected. Is this expected? Look how the published date contains dates in April of this year, even though I limit it to February.

> x <- riingo_news("AAPL", end_date = as.Date("2020-02-01"))
> x
# A tibble: 100 x 9
   tags        id tickers  url         description       publishedDate       source title     crawlDate          
   <list>   <int> <list>   <chr>       <chr>             <dttm>              <chr>  <chr>     <dttm>             
 1 <chr2.47e7 <chr [6https://wwTech is one of t2020-04-22 12:12:00 zacksCoronavi2020-04-22 13:32:43
 2 <chr2.47e7 <chr [2https://wwSophisticated ha2020-04-22 12:00:00 wsj.cApple iP2020-04-22 12:09:43
 3 <chr2.47e7 <chr [3https://wwFranco-Italian c2020-04-22 11:58:22 reuteSTMicro2020-04-22 12:26:21
 4 <chr2.47e7 <chr [3https://wwFranco-Italian c2020-04-22 11:57:35 reuteUPDATE 22020-04-22 13:26:40
 5 <chr2.47e7 <chr [7https://taMajor equity ind2020-04-22 11:46:15 talkmAfter Bi2020-04-22 11:46:21
 6 <chr2.47e7 <chr [5https://wwThe United State2020-04-22 11:24:00 reuteAmerican2020-04-22 12:23:38
 7 <chr2.47e7 <chr [3https://wwThese two chipma2020-04-22 11:15:00 fool.2 Cash-R2020-04-22 11:41:08
 8 <chr2.47e7 <chr [4https://wwThe U.S. governm2020-04-22 11:14:45 reuteFactbox:2020-04-22 12:22:05
 9 <chr2.47e7 <chr [5https://wwThe United State2020-04-22 11:06:38 reuteINSIGHT-2020-04-22 13:27:24
10 <chr2.47e7 <chr [6https://fiHere is a sneak2020-04-22 10:43:10 finan5 Large-2020-04-22 11:59:39
# … with 90 more rows

This is the URL that gets passed through

https://api.tiingo.com/tiingo/news?tickers=AAPL&startDate=2019-07-22&endDate=2020-02-01&limit=100&offset=0

Warning message: 'glue::collapse' is deprecated

Keeps getting this warning message when using riingo_prices.

Warning message:
'glue::collapse' is deprecated.
Use 'glue_collapse' instead.
See help("Deprecated") and help("glue-deprecated"). 

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.