def interactive(<EOL>prj_lines=PROJECT_CONFIG_LINES, <EOL>iface_lines=PIPELINE_INTERFACE_CONFIG_LINES,<EOL>sample_subannotation_lines=SAMPLE_SUBANNOTATION_LINES,<EOL>annotation_lines=SAMPLE_ANNOTATION_LINES,<EOL>project_kwargs=None, logger_kwargs=None):
<EOL>pep_logger_kwargs = {"<STR_LIT>": "<STR_LIT>", "<STR_LIT:name>": "<STR_LIT>"}<EOL>pep_logger_kwargs.update(logger_kwargs or {})<EOL>setup_logger(**pep_logger_kwargs)<EOL>dirpath = tempfile.mkdtemp()<EOL>path_conf_file = _write_temp(<EOL>prj_lines,<EOL>dirpath=dirpath, fname=P_CONFIG_FILENAME)<EOL>path_iface_file = _write_temp(<EOL>iface_lines,<EOL>dirpath=dirpath, fname="<STR_LIT>")<EOL>path_sample_subannotation_file = _write_temp(<EOL>sample_subannotation_lines,<EOL>dirpath=dirpath, fname=SUBSAMPLES_FILENAME<EOL>)<EOL>path_sample_annotation_file = _write_temp(<EOL>annotation_lines,<EOL>dirpath=dirpath, fname=ANNOTATIONS_FILENAME<EOL>)<EOL>prj = Project(path_conf_file, **(project_kwargs or {}))<EOL>for path in [path_conf_file, path_iface_file,<EOL>path_sample_subannotation_file, path_sample_annotation_file]:<EOL><INDENT>os.unlink(path)<EOL><DEDENT>return prj<EOL>
Create Project instance from default or given data.

This is intended to provide easy access to instances of fundamental pep
object for interactive test-authorship-motivated work in an iPython
interpreter or Notebook. Test authorship is simplified if we provide
easy access to viable instances of these objects.

:param Iterable[str] prj_lines: project config lines
:param Iterable[str] iface_lines: pipeline interface config lines
:param Iterable[str] sample_subannotation_lines: lines for a merge table file
:param Iterable[str] annotation_lines: lines for a sample annotations file
:param dict project_kwargs: keyword arguments for Project constructor
:param dict logger_kwargs: keyword arguments for logging configuration
:return Project: configured Project