Feedback and contributions to miniwdl are welcome, via issues and pull requests on this repository.
- Online documentation includes several "codelab" tutorials to start with
- The Project board shows our current prioritization of issues
- Starter issues are suitable entry points for new contributors
- Pull request template includes a preparation checklist
To set up your Linux development environment,
git clone --recursivethis repository or your fork thereof, andcdinto it- Install dependencies as illustrated in the Dockerfile (OS packages +
pip3 install --user -rbothrequirements.txtandrequirements.dev.txt) - Invoking user must have permission to control Docker
- Try
python3 -m WDL run_self_testto test the configuration
Generally, python3 -m WDL ... invokes the equivalent of the miniwdl ... entry point for the local source tree. Another option is to pip3 install . to install the miniwdl entry point with the current code revision.
The Makefile has a few typical flows:
makeormake testruns the full test suite with code coverage report (takes several minutes)make qtestruns most of the tests more quickly (by omitting some slower cases, and not tracking coverage)make prettyreformats the code with blackmake checkvalidates the code with Pylint and Pyre
To quickly run only a relevant subset of the tests, you can e.g. python3 -m unittest -f tests/test_5stdlib.py or python3 -m unittest -f tests.test_5stdlib.TestStdLib.test_glob.
macOS: isn't preferred for miniwdl development due to some test suite incompatibilities; but at least simple changes can be prototyped under macOS.
Please disclose security issues responsibly by contacting security@chanzuckerberg.com.