https://github.com/terradue/cwl-loader
Simple utilities to load CWL documents in a transparent way
https://github.com/terradue/cwl-loader
cwl cwl-workflow
Last synced: about 3 hours ago
JSON representation
Simple utilities to load CWL documents in a transparent way
- Host: GitHub
- URL: https://github.com/terradue/cwl-loader
- Owner: Terradue
- License: apache-2.0
- Created: 2025-08-11T09:04:25.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T12:53:51.000Z (17 days ago)
- Last Synced: 2026-05-29T14:19:46.751Z (17 days ago)
- Topics: cwl, cwl-workflow
- Language: Python
- Homepage: https://terradue.github.io/cwl-loader/
- Size: 927 KB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README
# cwl-loader
[](https://pypi.org/project/cwl-loader)
[](https://pypi.org/project/cwl-loader)
`cwl-loader` provides utilities to load CWL documents (local files, URLs, streams, or strings) into [cwl-utils](https://github.com/common-workflow-language/cwl-utils) object models, normalize references, and sort dependency graphs.
## Installation
```bash
pip install cwl-loader
```
## Quick Start
Load a CWL document from a URL or local path:
```python
from cwl_loader import load_cwl_from_location
process = load_cwl_from_location("workflow.cwl")
```
Load from in-memory text:
```python
from cwl_loader import load_cwl_from_string_content
content = """
cwlVersion: v1.2
class: CommandLineTool
id: example-tool
baseCommand: echo
inputs: []
outputs: []
"""
process = load_cwl_from_string_content(content)
```
Dump back to YAML:
```python
from cwl_loader import dump_cwl
with open("normalized.cwl", "w", encoding="utf-8") as out:
dump_cwl(process, out)
```
## Development
Run tests:
```bash
task test
```
Or directly with Hatch:
```bash
hatch run test:test
```
Run code quality checks:
```bash
task check
task lint
```
## Documentation
Project documentation is published at:
https://Terradue.github.io/cwl-loader/
## Contributing
Issues and pull requests are welcome:
https://github.com/eoap/cwl-loader/issues
## License
Licensed under the Apache License 2.0.