Troubleshooting
The provider did not read a declared input
Example:
Confirm all three details:
- The script uses the exact literal port name:
"rows". - The helper matches the port type:
input_table,input_json, orinput_file. - The call is present in the final script rather than only mentioned in a comment or stored in a variable for later use.
For Python Arrow input, the expected call is:
groupBy or grouping method not found
Use the method for the dataframe library actually used by the script:
| Object | Method |
|---|---|
| PyArrow table | .group_by(...).aggregate(...) |
| Polars dataframe | .group_by(...).agg(...) |
| pandas dataframe | .groupby(...).agg(...) |
| dplyr | dplyr::group_by(...) |
groupBy is not valid for these libraries. Also check that the script did not
convert the object from one library to another before grouping.
A port was not found or was rejected
- Compare capitalization and spelling with the block editor.
- Confirm that the port is declared in the correct direction.
- Confirm that the saved block version includes the port.
- Remove spaces, hyphens, periods, and other unsupported characters.
- Confirm that the connected port types match.
A required column is missing
Inspect the upstream output schema and compare it with the script. Column names are case-sensitive. Add an early required-column check so the error lists every missing name together.
If an upstream block renamed a column, either update this script or preserve the expected name upstream. Do not silently substitute a different measurement.
Arrow input cannot be read
Confirm that the port is an Arrow table and that the upstream output was
published with output_table. A CSV or Parquet file must use a file port and
the corresponding input_csv or input_parquet helper.
JSON output fails with NaN or infinity
These values are not valid JSON. Decide explicitly how to represent them:
import math
safe_value = value if math.isfinite(value) else None
ft.output_json("summary", {"value": safe_value})
Use null only when it accurately represents the scientific meaning of the
missing or non-finite result.
The script created a file but the output is missing
Creating a local file does not publish it. Call the matching SDK output helper:
The output port must be declared as File.
The run exceeded time or memory limits
- Select only required Parquet columns.
- Use PyArrow or Polars instead of converting a large table to pandas.
- Filter rows before joins, grouping, or dataframe conversion.
- Avoid reading a large file fully into memory when its library supports streaming.
- Remove accidental repeated reads or conversions.
If representative production data cannot fit within the configured pipeline limits, revise the pipeline design or contact your FlaskTrack administrator.
A package is unavailable
Use packages provided by the selected runtime. If a draft imports a library that is not available, choose an installed alternative or ask an administrator whether it can be added to the runtime image. Do not install packages from the network inside a pipeline script.