# CSV.jl: findmax and argmax are still broken, please help

**URL:** https://discourse.julialang.org/t/csv-jl-findmax-and-argmax-are-still-broken-please-help/115366
**Category:** General Usage
**Created:** [June 8, 2024, 4:09pm UTC](https://discourse.julialang.org/t/csv-jl-findmax-and-argmax-are-still-broken-please-help/115366 "2024-06-08T16:09:22Z")
**Posts on this page:** 1
**Showing post:** 7

<div class="post-metadata">

### Author: ![abraemer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abraemer/32/51403_2.png) [@abraemer](https://discourse.julialang.org/u/abraemer)
#### Post date: [June 11, 2024, 10:06am UTC](https://discourse.julialang.org/t/csv-jl-findmax-and-argmax-are-still-broken-please-help/115366/7 "2024-06-11T10:06:16Z")

</div>

> [@nilshg](#):
>
> so it looks like something’s off with JuliaHub’s dependency functionality

Does it use SentinelArrays.jl somewhere? 😅

Jokes aside: JuliaHub does not show any dependents of SentinelArrays.jl which of course is also wrong since CSV.jl depends on it. So I used the [snippet from here](https://discourse.julialang.org/t/reverse-dependencies-of-a-package/9774/10) to find the direct dependents:

```julia
julia> collect(keys(reverse_deps("SentinelArrays")))
15-element Vector{String}:
 "CSV"
 "Parquet"
 "ReadStatTables"
 "Arrow"
 "TableOperations"
 "Avro"
 "ChunkedCSV"
 "Dagger"
 "ImpedanceSpectroscopy"
 "UnROOT"
 "Parquet2"
 "DTables"
 "DataFrames"
 "ChunkedBase"
 "ChunkedJSONL"

```

I find that in total there are 2989 indirect dependents of SentinelArrays.jl.

> **Code**
>
> ```julia-repl
> julia> using Pkg
> julia> const ctx = Pkg.Types.Context();
> 
> julia> function reverse_deps(name) # from the linked topic
> nuuid = Pkg.Types.registered_uuid(ctx.registries, name)
> dd = Dict{String,Base.UUID}()
> isnothing(nuuid) && "$name not known"
> for reg in Pkg.Registry.reachable_registries()
> for (uuid, regpkg) in reg
> pkg = Pkg.Registry.registry_info(regpkg)
> deps = reduce(merge, values(pkg.deps), init=Dict{String,Base.UUID}())
> x = get(deps, name, nothing)
> if !isnothing(x) && x == nuuid
> dd[regpkg.name] = uuid
> end
>        
> end
> end
> dd
> end
> julia> function recursive_dependents(rootname)
> todo = reverse_deps(rootname)
> alldeps = empty(todo)
> while length(todo) > 0
> name, uuid = pop!(todo)
> name in keys(alldeps) && continue
> alldeps[name] = uuid
> new = reverse_deps(name)
> todo = merge!(todo, new)
> end
> return alldeps
> end
> julia> all = recursive_dependents("SentinelArrays")
> Dict{String, Base.UUID} with 2989 entries:
> "TopoPlots" => UUID("2bdbdf9c-dbd8-403f-947b-1a4e0dd41a7a")
> "Foresight" => UUID("c6e1034d-1844-4b96-abf2-c5824a5aa8c3")
> "BloqadeGates" => UUID("9b473568-af80-491c-8f51-e251334462c1")
> "BifurcationKit" => UUID("0f109fa4-8a5d-4b75-95aa-f515264e7665")
> "DrelTools" => UUID("fc805444-c5ec-4e06-bf74-6216be16ab28")
> "Ai4EComponentLib" => UUID("9901752a-13b3-47c7-8fb4-ce17182539d9")
> "Lectionary" => UUID("6244d477-9cf0-4e07-8f6b-f8ee26bc0292")
> "PowerModelsONM" => UUID("25264005-a304-4053-a338-565045d392ac")
> "Avalon" => UUID("d462d321-1585-4840-9f3e-06f5c1b6ea25")
> "GigaSOM" => UUID("a03a9c34-069e-5582-a11c-5c984cab887c")
> "ODMXMLTools" => UUID("2456a17b-6ca2-4f51-9342-f0287e829718")
> "RestrictedBoltzmannMachines" => UUID("12e6b396-7db5-4506-8cb6-664a4fe1e50e")
> "Treebanks" => UUID("64f30800-8bfd-42c1-8d67-a0fe2fc2f5f5")
> "Trixi2Vtk" => UUID("bc1476a1-1ca6-4cc3-950b-c312b255ff95")
> "BeastUtils" => UUID("af749cb1-4ea1-40dc-96cd-a9902a2c5721")
> "AlgebraicDynamics" => UUID("5fd6ff03-a254-427e-8840-ba658f502e32")
> "PosteriorPlots" => UUID("196f2941-2d58-45ba-9f13-43a2532b2fa8")
> "JqData" => UUID("4296d2f8-d960-4a51-97e7-b097944e4d59")
> "FeatherLib" => UUID("409f5150-fb84-534f-94db-80d1e10f57e1")
> "RateTables" => UUID("d40fb65e-c2ee-4113-9e14-cb96ca0acb32")
> "IntervalConstraintProgramming" => UUID("138f1668-1576-5ad7-91b9-7425abbf3153")
> "ScTenifold" => UUID("fcca1770-266e-4af5-8612-876362e279e9")
> "Simulate" => UUID("7fe0908f-881e-4672-99a3-35ccdc95dcfc")
> "Solaris" => UUID("c31bc6c7-79d6-424e-a85f-5b42ee086500")
> "RvSpectMLPlots" => UUID("6ad363e8-653f-4efd-a04b-f033e69a984c")
> "DynamicalSystemsBase" => UUID("6e36e845-645a-534a-86f2-f5d4aa5a06b4")
> "CurrentPopulationSurvey" => UUID("d0231af6-78e7-4e9e-9602-dcd107aeccbe")
> "QSimulator" => UUID("84ebd660-cff8-11e8-33d2-5334dd07f13c")
> ⋮ => ⋮
> 
> ```

---

_[View the full topic](https://discourse.julialang.org/t/csv-jl-findmax-and-argmax-are-still-broken-please-help/115366)._
