Skip to content

Yahoo broke their API again #101

Closed
Closed
@dcelisgarza

Description

@dcelisgarza

Here's an MWE

julia> using MarketData
julia> AAPL = yahoo(:AAPL)
julia> err
1-element ExceptionStack:
MethodError: Cannot `convert` an object of type 
  SubArray{UInt8,1,Memory{UInt8},Tuple{UnitRange{Int64}},true} to an object of type
  SubArray{UInt8,1,Vector{UInt8},Tuple{UnitRange{Int64}},true}
The function `convert` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  SubArray{T, N, P, I, L}(::Any, ::Any, ::Any, ::Any) where {T, N, P, I, L}
   @ Base subarray.jl:19
  convert(::Type{T}, ::T) where T
   @ Base Base.jl:126
  convert(::Type{T}, ::LinearAlgebra.Factorization) where T<:AbstractArray
   @ LinearAlgebra C:\Users\usr\.julia\juliaup\julia-1.11.0+0.x64.w64.mingw32\share\julia\stdlib\v1.11\LinearAlgebra\src\factorization.jl:104
  ...

Stacktrace:
  [1] readuntil(buf::IOBuffer, find_delimiter::typeof(HTTP.Parsers.find_end_of_header))
    @ HTTP.IOExtras C:\Users\usr\.julia\packages\HTTP\aTjcj\src\IOExtras.jl:139
  [2] readuntil(t::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, f::Function, sizehint::Int64)
    @ HTTP.ConnectionPool C:\Users\usr\.julia\packages\HTTP\aTjcj\src\ConnectionPool.jl:296
  [3] readuntil(t::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, f::Function)
    @ HTTP.ConnectionPool C:\Users\usr\.julia\packages\HTTP\aTjcj\src\ConnectionPool.jl:292
  [4] readheaders(io::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, message::HTTP.Messages.Response)
    @ HTTP.Messages C:\Users\usr\.julia\packages\HTTP\aTjcj\src\Messages.jl:537
  [5] startread(http::HTTP.Streams.Stream{HTTP.Messages.Response, HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}})
    @ HTTP.Streams C:\Users\usr\.julia\packages\HTTP\aTjcj\src\Streams.jl:170
  [6] macro expansion
    @ C:\Users\usr\.julia\packages\HTTP\aTjcj\src\StreamRequest.jl:67 [inlined]
  [7] macro expansion
    @ .\task.jl:498 [inlined]
  [8] request(::Type{HTTP.StreamRequest.StreamLayer{Union{}}}, io::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, req::HTTP.Messages.Request, body::Vector{UInt8}; reached_redirect_limit::Bool, response_stream::Nothing, iofunction::Nothing, verbose::Int64, kw::@Kwargs{})
    @ HTTP.StreamRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\StreamRequest.jl:57
  [9] request(::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}, url::URIs.URI, req::HTTP.Messages.Request, body::Vector{UInt8}; proxy::Nothing, socket_type::Type, reuse_limit::Int64, kw::@Kwargs{iofunction::Nothing, reached_redirect_limit::Bool})
    @ HTTP.ConnectionRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\ConnectionRequest.jl:108
 [10] request(::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}, ::URIs.URI, ::Vararg{Any}; kw::@Kwargs{iofunction::Nothing, reached_redirect_limit::Bool})
    @ HTTP.ExceptionRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\ExceptionRequest.jl:19
 [11] (::Base.var"#106#108"{Base.var"#106#107#109"{ExponentialBackOff, HTTP.RetryRequest.var"#2#3"{Bool, HTTP.Messages.Request}, typeof(HTTP.request)}})(::Type, ::Vararg{Any}; kwargs::@Kwargs{iofunction::Nothing, reached_redirect_limit::Bool})
    @ Base .\error.jl:300
 [12] request(::Type{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}, url::URIs.URI, req::HTTP.Messages.Request, body::Vector{UInt8}; retries::Int64, retry_non_idempotent::Bool, kw::@Kwargs{iofunction::Nothing, reached_redirect_limit::Bool})
    @ HTTP.RetryRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\RetryRequest.jl:44
 [13] request(::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}, method::String, url::URIs.URI, headers::Vector{Pair{SubString{String}, SubString{String}}}, body::Vector{UInt8}; http_version::VersionNumber, target::String, parent::Nothing, iofunction::Nothing, kw::@Kwargs{reached_redirect_limit::Bool})
    @ HTTP.MessageRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\MessageRequest.jl:66
 [14] request(::Type{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}, method::String, url::URIs.URI, headers::Vector{Pair{SubString{String}, SubString{String}}}, body::Vector{UInt8}; kw::@Kwargs{reached_redirect_limit::Bool})
    @ HTTP.BasicAuthRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\BasicAuthRequest.jl:28
 [15] request(::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}, method::String, url::URIs.URI, headers::Vector{Pair{SubString{String}, SubString{String}}}, body::Vector{UInt8}; redirect_limit::Int64, forwardheaders::Bool, kw::@Kwargs{})
    @ HTTP.RedirectRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\RedirectRequest.jl:28
 [16] request(::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}, method::String, url::URIs.URI, headers::Vector{Pair{SubString{String}, SubString{String}}}, body::Vector{UInt8})
    @ HTTP.RedirectRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\RedirectRequest.jl:18
 [17] request(::Type{HTTP.TopRequest.TopLayer{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}}, ::String, ::Vararg{Any}; kwargs::@Kwargs{})
    @ HTTP.TopRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\TopRequest.jl:15
 [18] request(::Type{HTTP.TopRequest.TopLayer{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}}, ::String, ::URIs.URI, ::Vector{Pair{SubString{String}, SubString{String}}}, ::Vector{UInt8})
    @ HTTP.TopRequest C:\Users\usr\.julia\packages\HTTP\aTjcj\src\TopRequest.jl:15
 [19] request(method::String, url::String, h::Vector{Pair{SubString{String}, SubString{String}}}, b::Vector{UInt8}; headers::Vector{Pair{SubString{String}, SubString{String}}}, body::Vector{UInt8}, query::YahooOpt, kw::@Kwargs{})
    @ HTTP C:\Users\usr\.julia\packages\HTTP\aTjcj\src\HTTP.jl:330
 [20] request (repeats 2 times)
    @ C:\Users\usr\.julia\packages\HTTP\aTjcj\src\HTTP.jl:328 [inlined]
 [21] get
    @ C:\Users\usr\.julia\packages\HTTP\aTjcj\src\HTTP.jl:407 [inlined]
 [22] yahoo(sym::String, opt::YahooOpt)
    @ MarketData C:\Users\usr\.julia\packages\MarketData\T4X0z\src\downloads.jl:95
 [23] yahoo
    @ C:\Users\usr\.julia\packages\MarketData\T4X0z\src\downloads.jl:112 [inlined]
 [24] yahoo(s::Symbol)
    @ MarketData C:\Users\usr\.julia\packages\MarketData\T4X0z\src\downloads.jl:112
 [25] top-level scope
    @ REPL[2]:1

Here's my versioninfo()

julia> versioninfo()
Julia Version 1.11.0
Commit 501a4f25c2 (2024-10-07 11:40 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 16 × AMD Ryzen 7 1700 Eight-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver1)
Threads: 1 default, 0 interactive, 1 GC (on 16 virtual cores)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions