# Is the FileIO.jl ecosystem still alive?

**URL:** <https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880>\
**Category:** General Usage\
**Tags:** excel, fileio\
**Created:** [November 14, 2025, 3:35pm UTC](https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880 "2025-11-14T15:35:01Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![TimG](https://avatars.discourse-cdn.com/v4/letter/t/82dd89/32.png) [@TimG](https://discourse.julialang.org/u/TimG)\
**Post date:** [November 14, 2025, 3:35pm UTC](https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880/1 "2025-11-14T15:35:01Z")

</div>

I saw a reference to FileIO.jl in the thread [announcing UFFFiles.jl](https://discourse.julialang.org/t/ann-ufffiles-jl/133671/4) and followed it up out of curiosity.

Is FileIO.jl still in widespread use?

I ask because, according to its [registry](https://juliaio.github.io/FileIO.jl/stable/registry/), it officially supports Excel through ExcelFiles.jl. However, as far as I can tell, ExcelFiles.jl relies in turn on ExcelReaders.jl for reading data from Excel files, and ExcelReaders.jl gave up support of modern (.xlsx) Excel files two years ago.

ExcelFiles.jl reports its status as “active” but its most recent [merged PR on GitHub](https://github.com/queryverse/ExcelFiles.jl/pulls?q=is%253Apr+is%253Aclosed) was in 2019 (not counting PRs created by a GitHub “Bot”).

Yesterday, I made a PR on ExcelFiles.jl to restore the Excel functionality it (and FileIO.jl) lost 2 years ago. I’m wondering if that was worthwhile effort or if ExcelFiles.jl has fallen into disuse and should instead be retired?

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [November 14, 2025, 3:50pm UTC](https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880/2 "2025-11-14T15:50:46Z")

</div>

While maintenance for the backends is spotty, I do use FileIO almost daily.  
It’s also tightly integrated into the Makie ecosystem and I expect to rather use it more than less.  
To be fair, since my use cases have been working, I’ve been retiring from maintenance, especially for other file formats which I dont use, but others have been taking over.  
To be fair, it can take forever to get something merged, since nobody really feels in charge, but maintenance is ongoing 😉

By the nature of it trying to read every file format while spreading the actual work across many packages, its not a surprise that some areas can completely bitrot, while others are driving 🤷  
I guess it depends on how much the maintainer/community of the actual reader/writer package uses FileIO and maintains it.

---

<div class="post-metadata">

**Author:** ![Maucejo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maucejo/32/39090_2.png) [@Maucejo](https://discourse.julialang.org/u/Maucejo)\
**Post date:** [November 15, 2025, 10:23am UTC](https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880/3 "2025-11-15T10:23:37Z")

</div>

@TimG Thank you for asking the question. When I developed `UFFFiles`, I implemented my own read/write functions, but I find the `FileIO` approach interesting from a user perspective. That is why I made a PR to add uff format to `FileIO`. Of course, I think, I can provide the functionality without being officially registered by including in my package the command `add_format`.

---

<div class="post-metadata">

**Author:** ![TimG](https://avatars.discourse-cdn.com/v4/letter/t/82dd89/32.png) [@TimG](https://discourse.julialang.org/u/TimG)\
**Post date:** [December 16, 2025, 12:59pm UTC](https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880/4 "2025-12-16T12:59:45Z")

</div>

> [@sdanisch](#):
>
> I guess it depends on how much the maintainer/community of the actual reader/writer package uses FileIO and maintains it.

It is clear from the issues raised on ExcelFiles.jl that there _used_ to be demand for FileIO.jl to support `.xlsx` files. However, the interest shown in [my PR](https://github.com/queryverse/ExcelFiles.jl/pull/63) suggests that has waned to nothing since `.xlsx` support broke two years ago. I guess that isn’t surprising but it seems a bit disappointing that there is no appetite to restore the capability.

(Or am I being too impatient only a month after submitting the PR?)

---

<div class="post-metadata">

**Author:** ![nhz2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nhz2/32/44428_2.png) [@nhz2](https://discourse.julialang.org/u/nhz2)\
**Post date:** [August 25, 2026, 8:13pm UTC](https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880/5 "2026-08-25T20:13:29Z")

</div>

> [@sdanisch](#):
>
> not a surprise that some areas can completely bitrot

I think this indicates an issue with the testing process in FileIO. It would be nice to be more proactive about removing broken packages from the registry.

@TimG I see you have an extension in XLSX.jl to support FileIO [XLSX.jl/ext/FileIOExt.jl at master · JuliaData/XLSX.jl · GitHub](https://github.com/JuliaData/XLSX.jl/blob/master/ext/FileIOExt.jl)

I think FileIO could gain more use if we give packages a path to adding support without needing to add FileIO as a dep or weakdep at all. From my very basic understanding of how FileIO works, I think this should be possible with the right interfaces.

---

<div class="post-metadata">

**Author:** ![TimG](https://avatars.discourse-cdn.com/v4/letter/t/82dd89/32.png) [@TimG](https://discourse.julialang.org/u/TimG)\
**Post date:** [August 25, 2026, 11:10pm UTC](https://discourse.julialang.org/t/is-the-fileio-jl-ecosystem-still-alive/133880/6 "2026-08-25T23:10:32Z")

</div>

I would have preferred to resurrect ExcelFiles.jl as the connector between FileIO.jl and XLSX.jl but didn’t get any response to repeated efforts to engage there. I proposed an independent successor but @sdanisch preferred direct support from XLSX.jl itself. So in the end, that’s what I did.

I thought it was problematic that the docs promised FileIO.jl supported `.xlsx` files but the promise hadn’t been met for several years.
