fix: Allow `is_in` to accept sets, tuples, and other iterables
Previously, `is_in` only accepted lists. Now it accepts any iterable
(sets, tuples, frozensets, ranges, generators, dict_keys, etc.)
by converting them to lists before processing.
Strings and bytes are explicitly excluded since they are iterable but
should not be treated as a sequence of characters/bytes.
Fixes #6107
Slack thread: https://eventualgroup.slack.com/archives/C07T76NL6TY/p1769900272580499?thread_ts=1769890147.586419&cid=C07T76NL6TY
https://claude.ai/code/session_014EPq2BXs5xxLoTjmAEbTym
ci: Add pyarrow to wheel build test dependencies
The tests in tests/dataframe import pyarrow in multiple files, but it
wasn't being installed alongside the other test dependencies (ray,
pytest, pandas, pytz, numpy). This was causing test failures in the
nightly S3 publish workflow.
Slack thread: https://eventualgroup.slack.com/archives/C04S6C067EU/p1769935300945999?thread_ts=1769928453.659629&cid=C04S6C067EU
https://claude.ai/code/session_01AQAqWAAYWJqsNFmyuQmjDB
fix(ci): add missing test dependencies pytz and numpy to wheel tests
The nightly wheel tests were failing because tests/dataframe/test_temporals.py
imports pytz which was not installed in the minimal test environment.
Also adds numpy since several other test files (test_iter.py, test_shuffles.py,
etc.) import numpy.
The PR tests pass because they use `uv sync --all-extras --all-groups` which
installs all dev dependencies, while the wheel tests only installed
`ray pytest pandas`.
https://claude.ai/code/session_019GJn5ESmtvSzBAq7W8jtdU