Skip to content

feat: Make pyo3_arrow::table::Table.append_column support Array#433

Merged
kylebarron merged 6 commits intokylebarron:mainfrom
surister:feat/append_column_array
Oct 31, 2025
Merged

feat: Make pyo3_arrow::table::Table.append_column support Array#433
kylebarron merged 6 commits intokylebarron:mainfrom
surister:feat/append_column_array

Conversation

@surister
Copy link
Contributor

Fixes #413

Additionally, as you can see in the unit test, ArrayReader is also supported, because it already had everything implemented in AnyArray.

I haven't touched the change-log since it looks automated to me.

Question: To have a coherent API, add_column should receive the same treatment, wtf?

@surister surister force-pushed the feat/append_column_array branch from bbc3c47 to 1712539 Compare October 30, 2025 19:06
@surister surister changed the title Make pyo3_arrow::table::Table.append_column support Array feat: Make pyo3_arrow::table::Table.append_column support Array Oct 30, 2025
@github-actions github-actions bot added the feat label Oct 30, 2025
@surister
Copy link
Contributor Author

Hmm it passes locally, maybe related to #431?

Copy link
Owner

@kylebarron kylebarron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great! Thank you! Just a couple comments

@kylebarron
Copy link
Owner

And yes ideally add_column would also support an array

@kylebarron
Copy link
Owner

And yes you can change the Cargo.toml here to point arro3 to the local path pyo3-arrow

@surister
Copy link
Contributor Author

surister commented Oct 31, 2025

And yes ideally add_column would also support an array

Soon™ PR.

And yes you can change the Cargo.toml here to point arro3 to the local path pyo3-arrow

So if I get this right, I change the local path to pyo3-arrow in this PR, and when you release do you release pyo3-arrow and then in arro3 turn it back on as it is right now? Do we have to do this back and forth between development and releases just for CI to pick up the changes? Or do you manually squash the changes and cherry pick out the path change

@kylebarron
Copy link
Owner

I tried to explain this here: https://github.com/kylebarron/arro3/blob/main/DEVELOP.md#updating-pyo3-version

During development we can and should use a path dependency.

Then any time we update with a new pyo3 version we have to do a dance where we temporarily set the pyo3-arrow version to the git hash.

For arro3 releases it's fine to use path dependencies, because they're not getting pushed to crates.io; it's only when we need to ensure all dependencies are using the same pyo3 version.

Copy link
Owner

@kylebarron kylebarron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That new test looks great

Just one more comment

@surister surister force-pushed the feat/append_column_array branch from 7128f10 to 6ed33a7 Compare October 31, 2025 17:30
@surister surister requested a review from kylebarron October 31, 2025 17:34
Copy link
Owner

@kylebarron kylebarron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect thank you!

@kylebarron kylebarron merged commit 6df6258 into kylebarron:main Oct 31, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Table.append_column should accept an array, not just a chunked array

2 participants