cylc-flow


Namecylc-flow JSON
Version 8.2.6 PyPI version JSON
download
home_pagehttps://cylc.org/
SummaryA workflow engine for cycling systems
upload_time2024-05-02 11:26:28
maintainerNone
docs_urlNone
authorHilary Oliver
requires_python>=3.7
licenseGPL
keywords cycling-workflows hpc job-scheduler metascheduler workflow-automation workflow-engine workflow-management scheduling
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            <div
  align="center"
>
<img
  src="https://raw.githubusercontent.com/cylc/cylc-admin/master/docs/img/cylc-logo.svg"
  width="50%"
/>

[![PyPI](https://img.shields.io/pypi/v/cylc-flow.svg?color=yellow)](https://pypi.org/project/cylc-flow/)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/cylc-flow/badges/version.svg)](https://anaconda.org/conda-forge/cylc-flow)
[![chat](https://img.shields.io/matrix/cylc-general:matrix.org)](https://matrix.to/#/#cylc-general:matrix.org)
[![forum](https://img.shields.io/discourse/https/cylc.discourse.group/posts.svg)](https://cylc.discourse.group/)
[![Documentation](https://img.shields.io/website?label=documentation&up_message=live&url=https%3A%2F%2Fcylc.github.io%2Fcylc-doc%2Fstable%2Fhtml%2Findex.html)](https://cylc.github.io/cylc-doc/stable/html/index.html)

</div>

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](https://cylc.github.io/cylc-doc/stable/html/installation.html) |
[Documentation](https://cylc.github.io/cylc-doc/stable/html/index.html)

```bash
# install cylc
conda install cylc-flow

# write your first workflow
mkdir -p ~/cylc-src/example
cat > ~/cylc-src/example/flow.cylc <<__CONFIG__
[scheduling]
    initial cycle point = 1
    cycling mode = integer
    [[graph]]
        P1 = """
            a => b => c & d
            b[-P1] => b
        """
[runtime]
    [[a, b, c, d]]
        script = echo "Hello $CYLC_TASK_NAME"
__CONFIG__

# install and run it
cylc install example
cylc play example

# watch it run
cylc tui example
```

### The Cylc Ecosystem

- [cylc-flow](https://github.com/cylc/cylc-flow) - The core Cylc Scheduler for defining and running workflows.
- [cylc-uiserver](https://github.com/cylc/cylc-uiserver) - The web-based Cylc graphical user interface for monitoring and controlling workflows.
- [cylc-rose](https://github.com/cylc/cylc-rose) - Provides integration with [Rose](http://metomi.github.io/rose/).

### Migrating From Cylc 7

[Migration Guide](https://cylc.github.io/cylc-doc/stable/html/7-to-8/index.html)
| [Migration Support](https://cylc.discourse.group/c/cylc/7-to-8/13)

Cylc 8 can run most Cylc 7 workflows in compatibility mode with little to no
changes, go through the
[migration guide](https://cylc.github.io/cylc-doc/stable/html/7-to-8/index.html)
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](https://zenodo.org/badge/1836229.svg)](https://zenodo.org/badge/latestdoi/1836229)
[![JOSS](http://joss.theoj.org/papers/10.21105/joss.00737/status.svg)](https://doi.org/10.21105/joss.00737)
[![CISE](https://img.shields.io/website/https/ieeexplore.ieee.org/document/8675433.svg?color=orange&label=CISE&up_message=10.1109%2FMCSE.2019.2906593)](https://ieeexplore.ieee.org/document/8675433)

### Copyright and Terms of Use

[![License](https://img.shields.io/github/license/cylc/cylc-flow.svg?color=lightgrey)](https://github.com/cylc/cylc-flow/blob/master/COPYING)

Copyright (C) 2008-<span actions:bind='current-year'>2024</span> 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](http://www.gnu.org/licenses/).

### Contributing

[![Contributors](https://img.shields.io/github/contributors/cylc/cylc-flow.svg?color=9cf)](https://github.com/cylc/cylc-flow/graphs/contributors)
[![Commit activity](https://img.shields.io/github/commit-activity/m/cylc/cylc-flow.svg?color=yellowgreen)](https://github.com/cylc/cylc-flow/commits/master)
[![Last commit](https://img.shields.io/github/last-commit/cylc/cylc-flow.svg?color=ff69b4)](https://github.com/cylc/cylc-flow/commits/master)

Contributions welcome:

* Read the [contributing](CONTRIBUTING.md) page.
* Development setup instructions are in the
  [developer docs](https://cylc.github.io/cylc-admin/#cylc-8-developer-docs).
* Involved change proposals can be found in the
  [admin pages](https://cylc.github.io/cylc-admin/#change-proposals).
* Touch base in the
  [developers chat](https://matrix.to/#/#cylc-general:matrix.org).

            

Raw data

            {
    "_id": null,
    "home_page": "https://cylc.org/",
    "name": "cylc-flow",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "cycling-workflows, hpc, job-scheduler, metascheduler, workflow-automation, workflow-engine, workflow-management, scheduling",
    "author": "Hilary Oliver",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/59/e4/f1fc8984ebb2026f394c3dfddb95926b8d91cd139e0e05f03bcfd1c0c4a0/cylc_flow-8.2.6.tar.gz",
    "platform": "any",
    "description": "<div\n  align=\"center\"\n>\n<img\n  src=\"https://raw.githubusercontent.com/cylc/cylc-admin/master/docs/img/cylc-logo.svg\"\n  width=\"50%\"\n/>\n\n[![PyPI](https://img.shields.io/pypi/v/cylc-flow.svg?color=yellow)](https://pypi.org/project/cylc-flow/)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/cylc-flow/badges/version.svg)](https://anaconda.org/conda-forge/cylc-flow)\n[![chat](https://img.shields.io/matrix/cylc-general:matrix.org)](https://matrix.to/#/#cylc-general:matrix.org)\n[![forum](https://img.shields.io/discourse/https/cylc.discourse.group/posts.svg)](https://cylc.discourse.group/)\n[![Documentation](https://img.shields.io/website?label=documentation&up_message=live&url=https%3A%2F%2Fcylc.github.io%2Fcylc-doc%2Fstable%2Fhtml%2Findex.html)](https://cylc.github.io/cylc-doc/stable/html/index.html)\n\n</div>\n\nCylc (pronounced silk) is a general purpose workflow engine that also\nmanages cycling systems very efficiently. It is used in production weather,\nclimate, and environmental forecasting on HPC, but is not specialized to those\ndomains.\n\n### Quick Start\n\n\n[Installation](https://cylc.github.io/cylc-doc/stable/html/installation.html) |\n[Documentation](https://cylc.github.io/cylc-doc/stable/html/index.html)\n\n```bash\n# install cylc\nconda install cylc-flow\n\n# write your first workflow\nmkdir -p ~/cylc-src/example\ncat > ~/cylc-src/example/flow.cylc <<__CONFIG__\n[scheduling]\n    initial cycle point = 1\n    cycling mode = integer\n    [[graph]]\n        P1 = \"\"\"\n            a => b => c & d\n            b[-P1] => b\n        \"\"\"\n[runtime]\n    [[a, b, c, d]]\n        script = echo \"Hello $CYLC_TASK_NAME\"\n__CONFIG__\n\n# install and run it\ncylc install example\ncylc play example\n\n# watch it run\ncylc tui example\n```\n\n### The Cylc Ecosystem\n\n- [cylc-flow](https://github.com/cylc/cylc-flow) - The core Cylc Scheduler for defining and running workflows.\n- [cylc-uiserver](https://github.com/cylc/cylc-uiserver) - The web-based Cylc graphical user interface for monitoring and controlling workflows.\n- [cylc-rose](https://github.com/cylc/cylc-rose) - Provides integration with [Rose](http://metomi.github.io/rose/).\n\n### Migrating From Cylc 7\n\n[Migration Guide](https://cylc.github.io/cylc-doc/stable/html/7-to-8/index.html)\n| [Migration Support](https://cylc.discourse.group/c/cylc/7-to-8/13)\n\nCylc 8 can run most Cylc 7 workflows in compatibility mode with little to no\nchanges, go through the\n[migration guide](https://cylc.github.io/cylc-doc/stable/html/7-to-8/index.html)\nfor more details.\n\nQuick summary of major changes:\n\n* Python 2 -> 3.\n* Internal communications converted from HTTPS to ZMQ (TCP).\n* PyGTK GUIs replaced by:\n  * Terminal user interface (TUI) included in cylc-flow.\n  * Web user interface provided by the cylc-uiserver package.\n* A new scheduling algorithm with support for branched workflows.\n* Command line changes:\n  * `cylc run <id>` -> `cylc play <id>`\n  * `cylc restart <id>` -> `cylc play <id>`\n  * `rose suite-run` -> `cylc install; cylc play <id>`\n* The core package containing Cylc scheduler program has been renamed cylc-flow.\n* Cylc review has been removed, the Cylc 7 version remains Cylc 8 compatible.\n\n\n### Citations & Publications\n\n[![DOI](https://zenodo.org/badge/1836229.svg)](https://zenodo.org/badge/latestdoi/1836229)\n[![JOSS](http://joss.theoj.org/papers/10.21105/joss.00737/status.svg)](https://doi.org/10.21105/joss.00737)\n[![CISE](https://img.shields.io/website/https/ieeexplore.ieee.org/document/8675433.svg?color=orange&label=CISE&up_message=10.1109%2FMCSE.2019.2906593)](https://ieeexplore.ieee.org/document/8675433)\n\n### Copyright and Terms of Use\n\n[![License](https://img.shields.io/github/license/cylc/cylc-flow.svg?color=lightgrey)](https://github.com/cylc/cylc-flow/blob/master/COPYING)\n\nCopyright (C) 2008-<span actions:bind='current-year'>2024</span> NIWA & British Crown (Met Office) & Contributors.\n\nCylc is free software: you can redistribute it and/or modify it under the terms\nof the GNU General Public License as published by the Free Software Foundation,\neither version 3 of the License, or (at your option) any later version.\n\nCylc is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with\nCylc.  If not, see [GNU licenses](http://www.gnu.org/licenses/).\n\n### Contributing\n\n[![Contributors](https://img.shields.io/github/contributors/cylc/cylc-flow.svg?color=9cf)](https://github.com/cylc/cylc-flow/graphs/contributors)\n[![Commit activity](https://img.shields.io/github/commit-activity/m/cylc/cylc-flow.svg?color=yellowgreen)](https://github.com/cylc/cylc-flow/commits/master)\n[![Last commit](https://img.shields.io/github/last-commit/cylc/cylc-flow.svg?color=ff69b4)](https://github.com/cylc/cylc-flow/commits/master)\n\nContributions welcome:\n\n* Read the [contributing](CONTRIBUTING.md) page.\n* Development setup instructions are in the\n  [developer docs](https://cylc.github.io/cylc-admin/#cylc-8-developer-docs).\n* Involved change proposals can be found in the\n  [admin pages](https://cylc.github.io/cylc-admin/#change-proposals).\n* Touch base in the\n  [developers chat](https://matrix.to/#/#cylc-general:matrix.org).\n",
    "bugtrack_url": null,
    "license": "GPL",
    "summary": "A workflow engine for cycling systems",
    "version": "8.2.6",
    "project_urls": {
        "Documentation": "https://cylc.github.io/cylc-doc/stable/html/index.html",
        "Homepage": "https://cylc.org/",
        "Source": "https://github.com/cylc/cylc-flow",
        "Tracker": "https://github.com/cylc/cylc-flow/issues"
    },
    "split_keywords": [
        "cycling-workflows",
        " hpc",
        " job-scheduler",
        " metascheduler",
        " workflow-automation",
        " workflow-engine",
        " workflow-management",
        " scheduling"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b362a3a536296aa7158a46ad6ec91e02ae28ffd6427d0080d09783b4f689cde7",
                "md5": "8778a7dff61d919349669ea868a4956f",
                "sha256": "2f3a9fcda86e337968fb5b4d600ea618303d5910ecb921dac02f7d07ac43acda"
            },
            "downloads": -1,
            "filename": "cylc_flow-8.2.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8778a7dff61d919349669ea868a4956f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 902488,
            "upload_time": "2024-05-02T11:26:25",
            "upload_time_iso_8601": "2024-05-02T11:26:25.932973Z",
            "url": "https://files.pythonhosted.org/packages/b3/62/a3a536296aa7158a46ad6ec91e02ae28ffd6427d0080d09783b4f689cde7/cylc_flow-8.2.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "59e4f1fc8984ebb2026f394c3dfddb95926b8d91cd139e0e05f03bcfd1c0c4a0",
                "md5": "05b41c795b09a3c061c9786e93d31888",
                "sha256": "1c1acdc1dbb747f88f6190e4ad66b1d9629bcaa468128119db747c60ce695787"
            },
            "downloads": -1,
            "filename": "cylc_flow-8.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "05b41c795b09a3c061c9786e93d31888",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 704268,
            "upload_time": "2024-05-02T11:26:28",
            "upload_time_iso_8601": "2024-05-02T11:26:28.318338Z",
            "url": "https://files.pythonhosted.org/packages/59/e4/f1fc8984ebb2026f394c3dfddb95926b8d91cd139e0e05f03bcfd1c0c4a0/cylc_flow-8.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-02 11:26:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cylc",
    "github_project": "cylc-flow",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "cylc-flow"
}
        
Elapsed time: 0.26636s