framework icon indicating copy to clipboard operation
framework copied to clipboard

Command line tools should send errors to stderr, not stdout

Open njr0 opened this issue 6 months ago • 1 comments

If I use the frictionless describe command with a non-existent file, as follows:

    frictionless describe doesnotexist.csv --json --type package > doesnotexist.package.json

the file doesnotexist.package.json is created, containing:

╭─ Error ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ [scheme-error] The data source could not be successfully loaded: [Errno 2] No such file or directory: 'doesnotexist.csv'                  │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

I would have expected the error message to be sent to stderr, rather than stdout.

I assume this is a bug, rather than intended behaviour. (It seems like a bug to me.)

System information:

This was using frictionless 5.18.1 under Python 3.13.5 on a Mac running MacOS Sequoia 15.5.

njr0 avatar Jul 11 '25 06:07 njr0