The Command-Line interface is a vital part for the Frictionless Framework. While working within Python provides more flexibility, CLI is the easist way to interact with Frictionless.
To install the package please follow the Getting Started guide. Usually, a simple installation using Pip or Anaconda will install the
frictionless binary on your computer so you don't need to install CLI aditionally.
frictionless binary requires providing a command like
frictionless describe # to describe your data frictionless explore # to explore your data frictionless extract # to extract your data frictionless index # to index your data frictionless list # to list your data frictionless publish # to publish your data frictionless query # to query your data frictionless script # to script your data frictionless validate # to validate your data frictionless --help # to get list of the command frictionless --version # to get the version
All the arguments for the main CLI command are the same as they are in Python. You can read Guides and use almost all the information from there within the command-line. There is an important different in how arguments are written (note the dashes):
Python: validate('data/table.csv', limit_errors=1) CLI: $ validate data/table.csv --limit-errors 1
To get help for a command and its arguments you can use the help flag with the command:
frictionless describe --help # to get help for describe frictionless extract --help # to get help for extract frictionless validate --help # to get help for validate frictionless transform --help # to get help for transform
Usually, Frictionless commands returns pretty-formatted tabular data like
validate do. For the
describe command you get a metadata back and you can choose in what format to return it:
frictionless describe # default YAML with a commented front-matter frictionless describe --yaml # standard YAML frictionless describe --json # standard JSON
The Frictionless' CLI interface should not fail with any internal Python errors with a traceback (a long listing of related code). If you see something like this please create an issue in the Issue Tracker.
To debug a problem please use:
frictionless command --debug