DataFrames :auto argument no longer seems to work

Has :auto been removed as an argument to DataFrame? It no longer seems to work:

> DataFrame([1 2; 3 4], :auto)
ERROR: MethodError: no method matching DataFrame(::Matrix{Int64}, ::Symbol)

Closest candidates are:
  DataFrame(::AbstractMatrix, ::AbstractVector{Symbol}; makeunique)
   @ DataFrames ~/.julia/packages/DataFrames/GtZ1l/src/dataframe/dataframe.jl:267
  DataFrame(::AbstractMatrix, ::AbstractVector{<:AbstractString}; makeunique)
   @ DataFrames ~/.julia/packages/DataFrames/GtZ1l/src/dataframe/dataframe.jl:272
   @ DataFrames ~/.julia/packages/DataFrames/GtZ1l/src/dataframe/dataframe.jl:267

 [1] top-level scope
   @ REPL[36]:1

Huh, weird. I’m can run this on my machine using DataFrames v1.6.1

julia> DataFrame([1 2; 3 4], :auto)
2×2 DataFrame
 Row │ x1     x2
     │ Int64  Int64
   1 │     1      2
   2 │     3      4

What version of DataFrames do you have?

Perhaps that is my problem: Here’s the result of ] status DataFrames:

Status ~/.julia/environments/v1.9/Project.toml
⌅ [a93c6f00] DataFrames v0.21.8

Yours is a major version ahead of mine. This is strange, because I updated the packages
(] up) only yesterday. It was after that update that the problem appeared.

Ah maybe there is another package that is preventing DataFrames from updating because of a conflict.

The arrow symbol next to DataFrames in the status output indicates that about dependency is preventing it from upgrading to a newer version.

Yes, DataFrames v0.22 is really old. You can see what’s holding it back with status --outdated. For a contrived example, you can see here that this very old version of CSV is what’s holding back DataFrames:

(@v1.10) pkg> status --outdated
Status `~/.julia/environments/v1.10/Project.toml`
⌃ [336ed68f] CSV v0.7.10 (<v0.10.14)
⌅ [a93c6f00] DataFrames v0.22.7 (<v1.6.1): CSV

It appears that I added a package that required many other packages to downgrade. There was no warning about this–at least none that I recall. Is there a setting that will cause Pkg to warn before downgrading in this fashion?

There’s no specific warning but you will see downgraded packages highlighted in purple:


see also less subtlety when downgrading a package · Issue #1927 · JuliaLang/Pkg.jl · GitHub