apache / apache/datafusion-python

Nothing in CI runs examples/*.py, and one of them is broken

Abierto
#1,728 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug good first issue
Lenguaje dominante
Python
Estrellas
604
Forks
174
Merge medio
1 d 7 h
PR fusionados (30 d)
4

Descripción

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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Start by reviewing .github/workflows/ and the entry points under examples/*.py, then run examples/csv-read-options.py to reproduce its missing-input failure. Define the wheel-based CI job and its skip matrix for the AWS and NYC taxi examples; done means the self-contained CSV example runs, the named silent scripts print output while retaining asserts, and eligible examples execute in CI.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github-actions, python
Área
ci-cd, testing
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.