Verified: the only examples paths in .github/workflows/ are the five FFI crate directories and examples/tpch. No top-level examples/*.py script is executed anywhere in CI. Two consequences are already in the tree:
examples/csv-read-options.py crashes. It reads data.csv at lines 28, 39, 52, 72 and 78, and data.csv.gz at line 67. Neither file exists anywhere in the repository. This is not a script that runs quietly — it raises on line 28. Fix: have it write its own small CSV and gzip copy into a temporary directory at the top, which also makes it self-contained.
Nine scripts print nothing at all. export.py, import.py, python-udaf.py, python-udf.py, query-pyarrow-data.py, sql-to-pandas.py, sql-using-python-udaf.py, sql-using-python-udf.py and substrait.py contain zero print or .show() calls; they end in assert. They are tests wearing an example's filename. A script that prints nothing is indistinguishable to a reader from a script that does nothing. Fix is roughly two lines each: a terminal df.show() or print(...), keeping the asserts.
The root cause is the missing CI job, and it is the part worth designing rather than just doing. A job running examples/*.py against the already-built wheel would have caught both, but it needs a skip matrix: sql-parquet-s3.py needs network and AWS credentials, and sql-parquet.py, dataframe-parquet.py and sql-to-pandas.py need an NYC taxi Parquet file the README tells you to download by hand. Worth agreeing the shape of that before writing it.
Verified: the only
examplespaths in.github/workflows/are the five FFI crate directories andexamples/tpch. No top-levelexamples/*.pyscript is executed anywhere in CI. Two consequences are already in the tree:examples/csv-read-options.pycrashes. It readsdata.csvat lines 28, 39, 52, 72 and 78, anddata.csv.gzat line 67. Neither file exists anywhere in the repository. This is not a script that runs quietly — it raises on line 28. Fix: have it write its own small CSV and gzip copy into a temporary directory at the top, which also makes it self-contained.Nine scripts print nothing at all.
export.py,import.py,python-udaf.py,python-udf.py,query-pyarrow-data.py,sql-to-pandas.py,sql-using-python-udaf.py,sql-using-python-udf.pyandsubstrait.pycontain zeroprintor.show()calls; they end inassert. They are tests wearing an example's filename. A script that prints nothing is indistinguishable to a reader from a script that does nothing. Fix is roughly two lines each: a terminaldf.show()orprint(...), keeping the asserts.The root cause is the missing CI job, and it is the part worth designing rather than just doing. A job running
examples/*.pyagainst the already-built wheel would have caught both, but it needs a skip matrix:sql-parquet-s3.pyneeds network and AWS credentials, andsql-parquet.py,dataframe-parquet.pyandsql-to-pandas.pyneed an NYC taxi Parquet file the README tells you to download by hand. Worth agreeing the shape of that before writing it.