# Available Tables.jl implementations

**URL:** <https://discourse.julialang.org/t/available-tables-jl-implementations/45853>\
**Category:** Data\
**Tags:** tables\
**Created:** [August 31, 2020, 6:10pm UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853 "2020-08-31T18:10:35Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 31, 2020, 6:10pm UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853/1 "2020-08-31T18:10:35Z")

</div>

Do we have a list of all implementations of Tables.jl in the ecosystem?

The README file in Tables.jl points to integrations, but those are not necessarily table types. Do you know any other implementation besides the following list?

- DataFrames.jl
- IndexedTables.jl
- JuliaDB.jl

Is `IndexedTables.jl == JuliaDB.jl`?

---

<div class="post-metadata">

**Author:** ![CameronBieganek](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cameronbieganek/32/6915_2.png) [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Post date:** [August 31, 2020, 6:40pm UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853/2 "2020-08-31T18:40:50Z")

</div>

> **[GitHub - JuliaData/TypedTables.jl: Simple, fast, column-based storage for...](https://github.com/JuliaData/TypedTables.jl)**
>
> Simple, fast, column-based storage for data analysis in Julia - GitHub - JuliaData/TypedTables.jl: Simple, fast, column-based storage for data analysis in Julia

> **[GitHub - JuliaArrays/StructArrays.jl: Efficient implementation of struct...](https://github.com/JuliaArrays/StructArrays.jl)**
>
> Efficient implementation of struct arrays in Julia - GitHub - JuliaArrays/StructArrays.jl: Efficient implementation of struct arrays in Julia

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [September 1, 2020, 5:07am UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853/3 "2020-09-01T05:07:40Z")

</div>

> [@juliohm](#):
>
> - IndexedTables.jl
> - JuliaDB.jl

do these implement Tables.jl? Not sure. I thought they didn’t.

It might be easier if you look at juliahub and go thru the list of dependents [JuliaHub](https://juliahub.com/ui/Packages/Tables/Z804B/1.0.5?t=2)

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [September 1, 2020, 5:43am UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853/4 "2020-09-01T05:43:18Z")

</div>

[https://github.com/JuliaData/IndexedTables.jl/blob/aadc8492808a30f3fbd8a7fbd2cb93c28702b015/src/tables.jl#L2](https://github.com/JuliaData/IndexedTables.jl/blob/aadc8492808a30f3fbd8a7fbd2cb93c28702b015/src/tables.jl#L2)

I think yes (and `JuliaDB` uses `IndexedTables`)

---

<div class="post-metadata">

**Author:** ![danielw2904](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielw2904/32/10890_2.png) [@danielw2904](https://discourse.julialang.org/u/danielw2904)\
**Post date:** [September 1, 2020, 6:35am UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853/5 "2020-09-01T06:35:40Z")

</div>

I implement it in the JSONLines library  
[https://github.com/danielw2904/JSONLines.jl](https://github.com/danielw2904/JSONLines.jl)

But that would show up in the reverse dependencies for Tables.jl. The tricky part is that some datastructures are automatically Tables.jl compatible. I think it needs to be iterable and have a common columnindex for each row. E.g. a vector of JSON3.Objects is compatible.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [September 1, 2020, 9:24am UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853/6 "2020-09-01T09:24:59Z")

</div>

Incidentally, I just updated the list and cleaned up the script a bit.

[https://github.com/JuliaData/Tables.jl/pull/194](https://github.com/JuliaData/Tables.jl/pull/194)

---

<div class="post-metadata">

**Author:** ![arsh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/arsh/32/9073_2.png) [@arsh](https://discourse.julialang.org/u/arsh)\
**Post date:** [September 1, 2020, 11:11am UTC](https://discourse.julialang.org/t/available-tables-jl-implementations/45853/7 "2020-09-01T11:11:01Z")

</div>

Though currently a WIP [https://github.com/yeesian/ArchGDAL.jl/pull/118](https://github.com/yeesian/ArchGDAL.jl/pull/118) can be added too?
