This guides provides a high-level overview of the Frictionless Framework architecture. It will be useful for plugin authors and advanced users.
Frictionless uses modular approach for its architecture. During reading a data source goes through various subsystems which are selected depending on the data characteristics:
For example for a local CSV file it will use:
The most important undelaying object in the Frictionless Framework is
system. It's an singletone object avaialble as
frictionless.system. This object can be used to instantiate different kind of lower-level as though
Type. Here is a quick example of using the
As an extension author you might use the
system object in various cases. For example, take a look at this
It's important to understand that creating low-level objects in general is more corect using the
system object than just classes because it will include all the available plugins in the process.