Miniwdl

Latest version: v1.12.0

Safety actively analyzes 629599 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 12 of 12

0.1.5

miniwdl check

* The nonempty array quantifier `Array[T]+` is no longer enforced statically; supplying an `Array[T]` where `Array[T]+` is expected produces a linter warning, but not a validation error.
* The `--no-quant-check` command-line option remains available, affecting static enforcement of the optional quantifier `T?` and implicit coercion of `T` to `Array[T]`.
* Outputs from scatters on `zip(...)` or `range(length(...))` are inferred nonempty when possible (for linting purposes)
* Initial support for WDL 1.0 structs, including the old-style `object` literals (no general Object support)
* Several struct-related linter modules
* QuantityCoercion linter is split into OptionalCoercion and NonemptyCoercion
* NameCollision linter checks scatter variables
* SelectArray linter for questionable invocations of `select_all` and `select_first`
* Invalidates use of language keywords in names/identifiers (74)
* Suppress UnusedDeclaration on dxWDL task stubs for 'native' applets (109)

API changes

* struct-related additions: `WDL.Tree.StructType`, `WDL.Type.StructInstance`, `WDL.Expr.Struct`
* `WDL.Document.imports` changes to a NamedTuple as it gets more fields (namely struct aliases)
* `{StructType,StructInstance}.type_id` changes from an int to a string summarizing the member names & types (better to recognize equivalent struct types in "diamond import" scenarios)
* Add `import_max_depth` guardrail to `WDL.load` (18)

0.1.4

miniwdl cromwell

* can parse Boolean inputs from command-line

`WDL`

* Significant internal refactoring on the way to supporting the WDL 1.0 struct features. Struct type definitions and member accesses are supported, but not yet literals and imports.
* Tighten typechecking for `select_first` and `select_all` (reject optional inputs)

API changes

* New AST `WDL.Expr.Get` node used for identifier access, pair left/right access, and struct member accesses.
* `Ident` nodes are now wrapped in `Get` nodes (see [docs](https://miniwdl.readthedocs.io/en/latest/#WDL.Expr.Get) for details)
* `WDL.Tree.Call.callee_id` is represented as `List[str]` instead of `Ident`.
* Internal function for array indexing is renamed from `_get` to `_at`.

meta

* Fix Pyre typechecker configuration; for the last few months it seemed to have been exciting successfully but not actually checking anything
* Makefile allows override of user-specific Python package directory (nkashy1)

0.1.3

miniwdl check

* suppress UnusedCall when call has no outputs
* improve CommandShellCheck column numbers accuracy

miniwdl cromwell

* after successful workflow execution, create an `outputs/` subdirectory tree with symlinks to the output files (but more easily navigated than the `cromwell-executions/` tree)

`WDL`

* simplify `Pair` parser/code, fixing access to nested pairs `p.left.right` (12, 97)
* fix cycle detection on self-references
* refactor internal parsing of types, in preparation for structs

API changes

(none)

0.1.2

miniwdl check

* New linters, FileCoercion and MixedIndentation
* More File-to-StringCoercion warnings at the workflow (not task) level
* StringCoercion detected in compound types (e.g. `Array[Int]` coerced to `Array[String]`)
* ArrayCoercion suppressed for empty arrays

`WDL`

* Coercion of `T` to length-1 `Array[T]` now permitted only with `--no-check-quant`
* Recognize WDL 1.0 `~{}` interpolations in strings other than commands (82)
* Literal arrays of mixed types that are all String-coercible (but not actually String) coerce to `Array[String]` (81)
* `size()` accepts either `File` or `Array[File]` (80)
* Circular dependencies within tasks and workflows cause `WDL.Error.CircularDependencies`
* Fix string coercion of Boolean values
* Properly lex string interpolation corner cases like `"$${pi}" -> "$3.14"`

API changes

(none)

0.1.1

**Features**

* Introduce `miniwdl cromwell`, a nicer command-line interface for running a workflow locally using Cromwell

**API changes**

* refactor the `effective_outputs` properties of `Task`, `Call`, and `Workflow`
* refactor `Env.bind` and add several additional transformers

0.1.0

miniwdl check` is useful!

Page 12 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.