apache / apache/datafusion-python

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

Offen
#1,728 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug good first issue
Vorherrschende Sprache
Python
Sterne
604
Forks
174
Ø Merge
1 T. 7 Std.
Gemergte PRs (30 T.)
4

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
github-actions, python
Bereich
ci-cd, testing
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.