API and Code¶
Below is the API documention for the the Stetl Python code.
Main Entry Points¶
There are several entry points through which Stetl can be called. The most common is to use the commandline script bin/stetl. This command should be available after doing an install.
In some contexts like integrations you may want to call Stetl via Python. The entries are then.
Core Framework¶
The core framework is directly under the directory src/stetl. Below are the main seven classes. Their interrelation is as follows:
One or more stetl.chain.Chain objects are built from
a Stetl ETL configuration via the stetl.factory.Factory class.
A stetl.chain.Chain consists of a set of connected stetl.component.Component objects.
A stetl.component.Component is either an stetl.input.Input, an stetl.output.Output
or a stetl.filter.Filter. Data and status flows as stetl.packet.Packet objects
from an stetl.input.Input via zero or more stetl.filter.Filter objects to a final stetl.output.Output.
As a trivial example: an stetl.input.Input could be an XML file, a stetl.filter.Filter could represent
an XSLT file and an stetl.output.Output a PostGIS database. This is effected by specialized classes in
the subpackages inputs, filters, and outputs. New in 1.1.0: stetl.Splitter to split data to multiple Outputs
and stetl.Merger to combine multiple Inputs.