Analysis objectsΒΆ
An Analysis
object is the sole argument to the app
function in your app.py
module. Its attributes include
every strand that can be possibly added to a Twine
, although only the strands specified in your twine.py
file
will not be None
. The attributes are:
input_values
input_manifest
configuration_values
configuration_manifest
output_values
output_manifest
credentials
children
monitors
Additionally, all input and configuration attributes are hashed using a BLAKE3 hash so the inputs and configuration that produced a given output in your app can always be verified. These hashes exist on the following attributes:
input_values_hash
input_manifest_hash
configuration_values_hash
configuration_manifest_hash
If an input or configuration attribute is None
, so will its hash attribute be. For Manifests
, some metadata
about the Datafiles
and Datasets
within them, and about the Manifest
itself, is included when calculating
the hash:
For a
Datafile
, the content of its on-disk file is hashed, along with the following metadata:name
cluster
sequence
timestamp
tags
For a
Dataset
, the hashes of itsDatafiles
are included, along with itstags
.For a
Manifest
, the hashes of itsDatasets
are included, along with itskeys
.