Cylc

A general purpose workflow engine that also manages cycling systems very efficiently, used in production weather, climate, and environmental forecasting on HPC, but is not specialized to those domains.
https://github.com/cylc/cylc-flow

Category: Climate Change
Sub Category: Climate Data Processing and Analysis

Keywords

cycling-workflows cylc hacktoberfest job-scheduler metascheduler python scheduler scheduling workflow workflow-automation workflow-engine workflow-management

Keywords from Contributors

projections grib transforms optimize meteorology archiving earth-science measur observation conversion

Last synced: about 16 hours ago
JSON representation

Repository metadata

Cylc: a general purpose workflow engine with a gift for cycling

README.md

PyPI
Anaconda-Server Badge
chat
forum
Documentation

Cylc (pronounced silk) is a general purpose workflow engine that also
manages cycling systems very efficiently. It is used in production weather,
climate, and environmental forecasting on HPC, but is not specialized to those
domains.

Quick Start

Installation |
Documentation

# install cylc
conda install cylc-flow

# extract an example to run
cylc get-resources examples/integer-cycling

# install and run it
cylc vip integer-cycling  # vip = validate, install and play

# watch it run
cylc tui integer-cycling

The Cylc Ecosystem

  • cylc-flow - The core Cylc Scheduler for defining and running workflows.
  • cylc-uiserver - The web-based Cylc graphical user interface for monitoring and controlling workflows.
  • cylc-rose - Provides integration with Rose.

Migrating From Cylc 7

Migration Guide
| Migration Support

Cylc 8 can run most Cylc 7 workflows in compatibility mode with little to no
changes, go through the
migration guide
for more details.

Quick summary of major changes:

  • Python 2 -> 3.
  • Internal communications converted from HTTPS to ZMQ (TCP).
  • PyGTK GUIs replaced by:
    • Terminal user interface (TUI) included in cylc-flow.
    • Web user interface provided by the cylc-uiserver package.
  • A new scheduling algorithm with support for branched workflows.
  • Command line changes:
    • cylc run <id> -> cylc play <id>
    • cylc restart <id> -> cylc play <id>
    • rose suite-run -> cylc install; cylc play <id>
  • The core package containing Cylc scheduler program has been renamed cylc-flow.
  • Cylc review has been removed, the Cylc 7 version remains Cylc 8 compatible.

Citations & Publications

DOI
JOSS
CISE

Copyright and Terms of Use

License

Copyright (C) 2008-2025 NIWA & British Crown (Met Office) & Contributors.

Cylc is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

Cylc is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
Cylc. If not, see GNU licenses.

Contributing

Contributors
Commit activity
Last commit

Contributions welcome:

This repository contains some code that was generated by GitHub Copilot.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 15,280
Total Committers: 52
Avg Commits per committer: 293.846
Development Distribution Score (DDS): 0.467

Commits in past year: 544
Committers in past year: 12
Avg Commits per committer in past year: 45.333
Development Distribution Score (DDS) in past year: 0.726

Name Email Commits
Hilary Oliver h****r@g****m 8146
Oliver Sanders o****s@m****k 1593
Ronnie Dutta r****a@m****k 1028
Matt Shin m****n@m****k 1001
Tim Pillinger t****r@m****k 853
Ben Fitzpatrick b****k@m****k 645
Andrew Clark a****k@m****k 425
Bruno Kinoshita k****w@a****g 342
Mel Hall m****l@m****k 250
David Sutherland d****d@n****z 189
Sadie Bartholomew s****w@m****k 138
Declan Valters d****s@e****k 83
github-actions[bot] g****s@n****m 82
Martin Ryan m****n@b****u 76
Tomek Trzeciak t****k@m****k 51
Tim Whitcomb t****b@n****l 44
Prasanna Challuri P****i@n****z 40
dependabot[bot] 4****] 39
Samuel Gaist s****t@i****h 33
David Matthews d****s@m****k 31
Luis Kornblueh l****h@z****e 31
Kerry Day k****y@m****k 29
Scott Wales s****s@b****u 26
Thomas Coleman t****n@b****u 21
John Haiducek j****e@g****m 8
Scott Wales s****s@u****u 8
Gilliano Menezes g****s@g****m 7
Mark Dawson m****n@m****k 7
Jonny Williams j****s@n****z 5
Christopher Bennett c****t@m****k 4
and 22 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 600
Total pull requests: 1,535
Average time to close issues: 8 months
Average time to close pull requests: 22 days
Total issue authors: 38
Total pull request authors: 21
Average comments per issue: 2.71
Average comments per pull request: 2.18
Merged pull request: 1,157
Bot issues: 1
Bot pull requests: 433

Past year issues: 179
Past year pull requests: 589
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 9 days
Past year issue authors: 17
Past year pull request authors: 12
Past year average comments per issue: 1.08
Past year average comments per pull request: 1.46
Past year merged pull request: 400
Past year bot issues: 0
Past year bot pull requests: 165

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/cylc/cylc-flow

Top Issue Authors

  • oliver-sanders (225)
  • hjoliver (129)
  • ColemanTom (60)
  • wxtim (57)
  • MetRonnie (55)
  • dpmatthews (12)
  • dwsutherland (11)
  • elliotfontaine (5)
  • jfrost-mo (4)
  • jarich (4)
  • sadielbartholomew (4)
  • kinow (3)
  • ScottWales (2)
  • jamesgrimmett (2)
  • uwagura (2)

Top Pull Request Authors

  • github-actions[bot] (398)
  • oliver-sanders (337)
  • MetRonnie (282)
  • wxtim (232)
  • hjoliver (148)
  • dwsutherland (48)
  • dependabot[bot] (35)
  • markgrahamdawson (12)
  • ColemanTom (11)
  • psa (8)
  • ChrisPaulBennett (6)
  • ScottWales (4)
  • jfrost-mo (2)
  • TomekTrzeciak (2)
  • pdearnshaw (2)

Top Issue Labels

  • bug (242)
  • small (105)
  • could be better (61)
  • question (41)
  • investigation (19)
  • bug? (12)
  • efficiency (11)
  • doc (10)
  • speculative (6)
  • dependencies (6)
  • needs reproducing (5)
  • wontfix (5)
  • superseded (5)
  • duplicate (5)
  • non-cylc bug (4)
  • infrastructure (4)
  • testing (2)
  • BLOCKED (2)
  • code refactor (2)
  • priority-1 (2)
  • invalid (2)
  • platforms (1)
  • sync (1)

Top Pull Request Labels

  • small (535)
  • sync (314)
  • bug (281)
  • doc (86)
  • could be better (83)
  • infrastructure (78)
  • dependencies (64)
  • release (40)
  • superseded (26)
  • efficiency (25)
  • schema change (20)
  • bug? (18)
  • config change (12)
  • code refactor (11)
  • db change (8)
  • sod-follow-up (7)
  • non-cylc bug (7)
  • question (6)
  • duplicate (5)
  • invalid (5)
  • testing (4)
  • BLOCKED (3)
  • investigation (3)
  • wontfix (3)
  • priority-1 (3)
  • tutorial-workflows (2)
  • POC (1)

Package metadata

pypi.org: cylc-flow

A workflow engine for cycling systems

  • Homepage: https://cylc.org/
  • Documentation: https://cylc.github.io/cylc-doc/stable/html/index.html
  • Licenses: GPL
  • Latest release: 8.6.0 (published about 1 month ago)
  • Last Synced: 2025-11-01T06:01:54.263Z (3 days ago)
  • Versions: 46
  • Dependent Packages: 6
  • Dependent Repositories: 1
  • Downloads: 10,861 Last month
  • Rankings:
    • Dependent packages count: 1.394%
    • Stargazers count: 3.651%
    • Forks count: 4.83%
    • Downloads: 6.365%
    • Average: 7.571%
    • Dependent repos count: 21.615%
  • Maintainers (3)
conda-forge.org: cylc-flow

Cylc ("silk") is a workflow engine for cycling systems - it orchestrates distributed workflows of interdependent cycling tasks that may continue to run indefinitely. There are two cylc-flow packages: * `cylc-flow`: The full installation, recommended for most uses. * `cylc-flow-base`: A minimal package, recommended for installation on job hosts where the full range of user-facing commands is not required. The `cylc report-timings` command requires two additional dependencies which you must specify manually if you want this functionality: * `pandas >=1.0,<2` * `matplotlib-base`

  • Homepage: https://cylc.org/
  • Licenses: GPL-3.0-only
  • Latest release: 8.0.3 (published about 3 years ago)
  • Last Synced: 2025-11-01T06:02:18.351Z (3 days ago)
  • Versions: 13
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 15.588%
    • Forks count: 18.358%
    • Average: 22.952%
    • Stargazers count: 23.838%
    • Dependent repos count: 34.025%
conda-forge.org: cylc-flow-base

Cylc ("silk") is a workflow engine for cycling systems - it orchestrates distributed workflows of interdependent cycling tasks that may continue to run indefinitely. There are two cylc-flow packages: * `cylc-flow`: The full installation, recommended for most uses. * `cylc-flow-base`: A minimal package, recommended for installation on job hosts where the full range of user-facing commands is not required. The `cylc report-timings` command requires two additional dependencies which you must specify manually if you want this functionality: * `pandas >=1.0,<2` * `matplotlib-base`

  • Homepage: https://cylc.org/
  • Licenses: GPL-3.0-only
  • Latest release: 8.0.3 (published about 3 years ago)
  • Last Synced: 2025-11-01T06:02:13.390Z (3 days ago)
  • Versions: 8
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 15.588%
    • Forks count: 18.358%
    • Average: 22.952%
    • Stargazers count: 23.838%
    • Dependent repos count: 34.025%

Dependencies

.github/workflows/1_create_release_pr.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • cylc/release-actions/build-python-package v1 composite
  • cylc/release-actions/check-shortlog v1 composite
  • cylc/release-actions/stage-1/checkout-pr-branch v1 composite
  • cylc/release-actions/stage-1/create-release-pr v1 composite
  • cylc/release-actions/stage-1/sanitize-inputs v1 composite
  • cylc/release-actions/stage-1/set-python-package-version v1 composite
  • cylc/release-actions/stage-1/update-changelog-release-date v1 composite
.github/workflows/2_auto_publish_release.yml actions
  • actions/checkout v3 composite
  • actions/create-release v1 composite
  • actions/setup-python v4 composite
  • cylc/release-actions/build-python-package v1 composite
  • cylc/release-actions/stage-2/bump-dev-version v1 composite
  • cylc/release-actions/stage-2/comment-on-pr v1 composite
  • cylc/release-actions/stage-2/get-version-from-pr v1 composite
  • pypa/gh-action-pypi-publish v1.6.4 composite
.github/workflows/bash.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/shortlog.yml actions
  • actions/checkout v3 composite
  • cylc/release-actions/check-shortlog v1 composite
.github/workflows/test_conda-build.yml actions
  • actions/checkout v3 composite
.github/workflows/test_fast.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v3 composite
  • cylc/release-actions/configure-git v1 composite
.github/workflows/test_functional.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v3 composite
  • cylc/release-actions/configure-git v1 composite
.github/workflows/test_manylinux.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • cylc/release-actions/configure-git v1 composite
.github/workflows/test_tutorial_workflow.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • cylc/cylc-doc/.github/actions/install-dependencies master composite
.github/workflows/update_copyright.yml actions
  • actions/checkout v3 composite
  • cylc/release-actions/checkout-copyright-branch v1 composite
  • cylc/release-actions/configure-git v1 composite
  • cylc/release-actions/create-pr v1 composite
dockerfiles/cylc-dev/Dockerfile docker
  • conda/miniconda3 latest build
dockerfiles/cylc-remote/Dockerfile docker
  • cylc-dev latest build
.github/workflows/branch_sync.yml actions
  • actions/checkout v3 composite
  • cylc/release-actions/configure-git v1 composite
.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • cylc/release-actions/build-python-package v1 composite
pyproject.toml pypi
setup.py pypi

Score: 20.066756937931743