Style guide:
- PEP-8 / format with
blackviamake format - Python 3.10+ compatible code
- PEP-484 type hints
It is suggested that you run git config blame.ignoreRevsFile .git-blame-ignore-revs
to filter out mass-formatting commits from git blame.
In order to contribute to the development of cwl-utils, you need to install cwl-utils from source (preferably in a virtual environment):
Here's a rough guide (improvements are welcome!)
- Install virtualenv via pip:
pip install virtualenv - Clone the cwl-utils Git repository:
git clone https://github.com/common-workflow-language/cwl-utils.git - Switch to cwl-utils directory:
cd cwl-utils - Create a virtual environment:
virtualenv env - To begin using the virtual environment, it needs to be activated:
source env/bin/activate - To check if you have the virtual environment set up:
which pythonand it should point to python executable in your virtual env - Install cwl-utils in the virtual environment:
pip install -e . - Check the version which might be different from the version installed in general on any system:
pip show cwl-utils - After you've made the changes, you can the complete test suite via tox:
tox- If you want to run specific tests, say
unit testsin Python 3.13, then:tox -e py313-unit. - Look at
tox -lfor all available tests and runtimes
- If you want to run specific tests, say
- If tests are passing, you can create a PR on
cwl-utilsGitHub repository. - After you're done working on the
cwl-utils, you can deactivate the virtual environment:deactivate