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
- Host: GitHub
- URL: https://github.com/cylc/cylc-flow
- Owner: cylc
- License: gpl-3.0
- Created: 2011-06-02T08:31:49.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2025-10-27T09:31:02.000Z (7 days ago)
- Last Synced: 2025-11-01T06:01:55.575Z (3 days ago)
- Topics: cycling-workflows, cylc, hacktoberfest, job-scheduler, metascheduler, python, scheduler, scheduling, workflow, workflow-automation, workflow-engine, workflow-management
- Language: Python
- Homepage: https://cylc.github.io
- Size: 126 MB
- Stars: 358
- Watchers: 13
- Forks: 95
- Open Issues: 559
- Releases: 116
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: COPYING
- Security: SECURITY.md
README.md
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
# 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
Copyright and Terms of Use
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
Contributions welcome:
- Read the contributing page.
- Development setup instructions are in the
developer docs. - Involved change proposals can be found in the
admin pages. - Touch base in the
developers chat.
This repository contains some code that was generated by GitHub Copilot.
Owner metadata
- Name: The Cylc Workflow Engine
- Login: cylc
- Email: hilary.oliver@niwa.co.nz
- Kind: organization
- Description: A workflow engine for cycling systems.
- Website: https://cylc.github.io
- Location: Wellington, New Zealand
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/824878?v=4
- Repositories: 20
- Last ynced at: 2024-03-26T02:12:47.259Z
- Profile URL: https://github.com/cylc
GitHub Events
Total
- Create event: 127
- Issues event: 274
- Release event: 9
- Watch event: 28
- Delete event: 127
- Issue comment event: 1232
- Push event: 347
- Pull request review comment event: 1382
- Pull request event: 639
- Pull request review event: 1832
- Fork event: 5
Last Year
- Create event: 111
- Release event: 8
- Issues event: 249
- Watch event: 27
- Delete event: 114
- Issue comment event: 1129
- Push event: 307
- Pull request event: 573
- Pull request review event: 1675
- Pull request review comment event: 1272
- Fork event: 4
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 | 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:
- metoffice.gov.uk: 14
- bom.gov.au: 6
- niwa.co.nz: 4
- nrlmry.navy.mil: 3
- reading.ac.uk: 2
- apache.org: 1
- ed.ac.uk: 1
- noreply.github.com: 1
- idiap.ch: 1
- zmaw.de: 1
- unimelb.edu.au: 1
- ic3.cat: 1
- itransition.com: 1
- nasa.gov: 1
- pulo.com.au: 1
- metoffice.gov.ukpython: 1
- noaa.gov: 1
- csiro.au: 1
- fsu.edu: 1
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
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
- Total packages: 3
-
Total downloads:
- pypi: 10,861 last-month
- Total dependent packages: 12 (may contain duplicates)
- Total dependent repositories: 1 (may contain duplicates)
- Total versions: 67
- Total maintainers: 3
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
- 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
- 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
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- actions/checkout v3 composite
- cylc/release-actions/check-shortlog v1 composite
- actions/checkout v3 composite
- 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
- 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
- actions/checkout v3 composite
- actions/setup-python v4 composite
- cylc/release-actions/configure-git v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- cylc/cylc-doc/.github/actions/install-dependencies master composite
- 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
- conda/miniconda3 latest build
- cylc-dev latest build
- actions/checkout v3 composite
- cylc/release-actions/configure-git v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- cylc/release-actions/build-python-package v1 composite
Score: 20.066756937931743