[1.3.0] -- 2020-10-07
- New plugin system for pre-submission hooks
- Included plugin functions:
var_templatessection for defining variables in the pipeline interface
- Pipeline interface specification was updated to accommodate new
var_templatessection and pre-submission hooks
- pipeline interface sections:
dynamic_variables_command_template, which can now be more simply accomplished with a pre-submission hook
path, which is replaced by a more generic
[1.2.1] - 2020-08-26
- Environment variables expansion in custom sample YAML paths; Issue 273
dynamic_variables_script_pathkey in the pipeline interface. Path, absolute or relative to the pipeline interface file; Issue 276
- Resolve project pipeline interface path by making it relative to the config not current directory; Issue 268
- Unclear error when
output_dirwas not provided in a config
loopersection; Issue 286
[1.2.0] - 2020-05-26
This version introduced backwards-incompatible changes.
table; writes summary stats table
runp; runs project level pipelines
- Input schemas and output schemas
--settingsargument to specify compute resources as a YAML file
- Option to preset CLI options in a dotfile
--command-extra-overridearguments that append specified string to pipeline commands. These functions supercede the previous
pipeline_argssections, which are now deprecated. The new method is more universal, and can accomplish the same functionality but more simply, using the built-in PEP machinery to selectively apply commands to samples.
- Option to specify destination of sample YAML in pipeline interface
--pipeline_interfacesargument that allows pipeline interface specification via CLI
- Pipeline interface format changed drastically
- The PyPi name changed from 'loopercli' to 'looper'
- resources section in pipeline interface replaced with
--computecan be used to specify arguments other than resources
required_input_fileskeys in pipeline interface moved to the input schema and renamed to
- pipeline interface specification
[0.12.6] -- 2020-02-21
- possibility to execute library module as a script:
python -m looper ...
- in the summary page account for missing values when plotting; the value is disregarded in such a case and plot is still created
- show 50 rows in the summary table
- make links to the summary page relative
- long entries in the sample stats table are truncated with an option to see original value in a popover
- inactive jQuery dependent components in the status page
- project objects layout in the summary index page
- inactivation of popovers after Bootstrap Table events
- non-homogeneous status flags appearance
[0.12.5] -- 2019-12-13
- reduce verbosity of missing options; Issue 174
- switch to Bootstrap Table in the summary index page table and sample status tables
[0.12.4] -- 2019-07-18
- Ability to declare
PipelineInterface, to trigger a naive "runnability" check for a sample submission
- A possibility to opt out of status page inclusion in the navbar
- The status tables now use DataTables jQuery plugin to make them interactive
- Navbar links creation
[0.12.3] -- 2019-06-20
- Bug in
SampleYAML naming, whereby a base
Samplewas being suffixed as a subtype would be, leading to a pipeline argument based on
yaml_filethat did not exist on disk.
[0.12.2] -- 2019-06-06
- Fixed various bugs related to populating derived attributes, including using attributes like
- Fixed a bug related to singularity attributes not being passed from a pipeline interface file.
- Fixed several bugs with incorrect version requirements.
[0.12.1] -- 2019-05-20
looper.Sampleinclude more specific functionality from
- Status table creation is possible outside of
- In the summary index page the plottable columns list is now scrollable
- Status page relies on the
profile.tsvfile rather than
*.log; Issue 159
- In HTML reporting module, do not ignore objects which are neither HTMLs nor images in the summary, e.g. CSVs
- Restore parsing and application of pipeline-level computing resource specification from a pipeline interface file; Issue 184
ignore_flagsto properly modulate submission messaging; Issue 179
- Do not display time-like summary columns as the plottable ones; Issue 182
[0.12.0] -- 2019-05-03
- First implementation of pipeline interface 'outputs', so pipeline authors can specify items of interest produced by the pipeline.
- Functions and attributes on
Projectto support "outputs" (
- Start "compute" --> "compute_packages" transition
- Prevent CLI option duplication in pipeline commands generated
- Make functional CLI spec of particular attribute on which to base selection of a subset of a project's samples (
[0.11.1] -- 2019-04-17
- Improved documentation
- Improved interaction with
[0.11] -- 2019-04-17
- Support use of custom
- Listen for itemized compute resource specification on command-line with
- Support pointing to
Projectconfig file with folder path rather than full filepath
selector-attributeparameter for more generic sample selection.
- Switched to a Jinja-style templating system for summary output
- Made various UI changes to adapt to
attmapfor "attribute-style key-vale store" implementation
- Removed Python 3.4 support.
- UI: change parameter names
[0.10.0] -- 2018-12-20
PipelineInterfacenow derives from
PipelineInterface, iteration over pipelines now is with
build_parser, which returns
- Integers in HTML reports are made more human-readable by including commas.
- Column headers in HTML reports are now stricly for sorting; there's a separate list for plottable columns.
- More informative error messages
- HTML samples list is fully populated.
- Existence of an object lacking an anchor image is no longer problematic for
- Basic package test in Python 3 now succeeds:
python3 setup.py test.
[v0.9.2] -- 2018-11-12
- Fixed bugs with
looper summarizewhen no summarizers were present
- Added CLI flag to force
looper destroyfor programmatic access
- Fixed a bug for samples with duplicate names
- Added new display features (graphs, table display) for HTML summary output.
[0.9.1] -- 2018-06-30
- Fixed several bugs with
looper summarizethat caused failure on edge cases.
[0.9.0] -- 2018-06-25
- Support for custom summarizers
- Allow any variables in environment config files or other
computesections to be used in submission templates. This allows looper to be used with containers.
- Add nice universal project-level HTML reporting
[0.8.1] -- 2018-04-02
- Minor documentation and packaging updates for first Pypi release.
- Fix a bug that incorrectly mapped protocols due to case sensitive issues
- Fix a bug with
report_figurethat made it output pandas code
[0.8.0] -- 2018-01-19
- Use independent
modelsmodule for core data types.
[0.7.2] -- 2017-11-16
- Correctly count successful command submissions when not using
[0.7.1] -- 2017-11-15
- No longer falsely display that there's a submission failure.
- Allow non-string values to be unquoted in the
[0.7] -- 2017-11-15
- Catch submission errors from cluster resource managers
- Implied columns can now be derived
- Now protocols can be specified on the command-line
- Add rudimentary figure summaries
- Simplifies command-line help display
- Allow wildcard protocol_mapping for catch-all pipeline assignment
- Improve user messages
- New sample_subtypes section in pipeline_interface
- Sample child classes are now defined explicitly in the pipeline interface. Previously, they were guessed based on presence of a class extending Sample in a pipeline script.
- Changed 'library' key sample attribute to 'protocol'
[0.6] -- 2017-07-21
- Add support for implied_column section of the project config file
- Add support for Python 3
- Merges pipeline interface and protocol mappings. This means we now allow direct pointers to
pipeline_interface.yamlfiles, increasing flexibility, so this relaxes the specified folder structure that was previously used for
- Allow URLs as paths to sample sheets.
- Allow tsv format for sample sheets.
- Checks that the path to a pipeline actually exists before writing the submission script.
- Changed LOOPERENV environment variable to PEPENV, generalizing it to generic models
- Changed name of
pipeline_interfaces(but maintained backwards compatibility for now).
- Changed name of
runcan also refer to a sequencing run.
- Relaxes many constraints (like resources sections, pipelines_dir columns), making project configuration files useful outside looper. This moves us closer to dividing models from looper, and improves flexibility.
- Various small bug fixes and dev improvements.
setuptoolsfor installation, and
pandas 0.20.2. If
numexpris installed, version
- Allows tilde in
[0.5] -- 2017-03-01
- Add new looper version tracking, with
-Voptions and printing version at runtime
- Add support for asterisks in file paths
- Add support for multiple pipeline directories in priority order
- Revamp of messages make more intuitive output
- Colorize output
- Complete rehaul of logging and test infrastructure, using logging and pytest packages
- Removes pipelines_dir requirement for models, making it useful outside looper
- Small bug fixes related to
- More robust installation and more explicit requirement of Python 2.7
[0.4] -- 2017-01-12
- New command-line interface (CLI) based on sub-commands
- New subcommand (
looper summarize) replacing the
- New subcommand (
looper check) replacing the
- New command (
looper destroy) to remove all output of a project
- New command (
looper clean) to remove intermediate files of a project flagged for deletion
- Support for portable and pipeline-independent allocation of computing resources with Looperenv.
- Removed requirement to have
pipelinesrepository installed in order to extend base Sample objects
- Maintenance of sample attributes as provided by user by means of reading them in as strings (to be improved further)
- Improved serialization of Sample objects