This PR contains mostly minor fixes and improvements. The only (possibly) notable changes include:
A new EnvironmentKeyMixin class that should be mixed into any Transformer that needs to use environment variables (mostly API keys for web services). This makes it easy to check whether the transformer is .available (i.e., all required environment keys are present).
Default Converters for any given pair of Stim types can now be set in the config module.
Naming conventions have changed (yet again). Stims now do not include any historical info in the name (e.g., video frames do not include the name of the source video). The reason for this is that ExtractorResult-derived DataFrames now return a bunch of info about stimulus class, history, etc., so using the name attribute for provenance seems unnecessary and just creates very long names.
All Transformer classes now support a ._loggable attribute that indicates whether or not they should be logged in each Stim history. This is a bit of a kludge to account for the fact that multistep converters were screwing up the history (because they contain multiple conversion steps internally, and were then overwriting the logging history with themselves at the end). MultiStepConverter hierarchy sets _loggable to False, otherwise it's currently True for all other Transformers.
merge_results now returns a slightly cleaner DataFrame.
fix typo in __all__
defer import of magic to minimize dependency on libmagic
adds classproperty decorator
adds new EnvironmentKeyMixin to support checking environment
in get_converters, make sure converter is environment-ready
update existing converters to include _env_keys
implement simpler approach to default converters by moving them to co…
when initializing an ExtractorResults, data should be a list not tuple
adds VideoToComplexTextConverter--a bit of an ugly hack
stop renaming stims post-conversion until we figure out a better appr…
add _loggable attribute to Transformers to control logging
don't make stim the index of merged results
log transformations conditionally
simplified and improved result merging
dropped prepended video file in name to meet new convention
update tests to reflect code changes