framework
framework copied to clipboard
Command line tools should send errors to stderr, not stdout
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.