Skip to content

Rose Modernisation 2019

Matt Shin edited this page Dec 11, 2018 · 1 revision

Goals

  • Python 2 to 3.7.X.
  • PyGTK to web UI.
  • Rationalise Rose interface with Cylc.

To Do

Create a development branch @metomi and target feature pull requests against the development branch instead of master. Back port essential bug fixes as necessary.

  • Alternatively, create a maintenance branch as necessary. Target essential bug fixes against 2018.11.0 on the maintenance branch.

Delete PyGTK stuffs.

  • Retain Gnomekeyring and Gobject/libsecret as optional logic for Rosie password caching?
  • Or can we find better libraries for client side authentication/session management?

Delete obsolete stuffs.

  • Rose Bush.
  • rose suite-run related logic - when migration to Cylc is done.

Upgrade syntax to Python 3.7. Make the best use of any new features and the latest standard library.

  • E.g. rewrite file installation logic in asyncio?

Port usage of CherryPy by Rosie Discovery Service to use Tornado or aiohttp.

  • Add server side authentication/session management.
  • Retain REST API? Add GraphQL support?

Package Rose for PyPI and Conda.

Liaise with users to allow them to port 3rd party utilities such as Rose Macros to Python 3.7.

Rewrite rose config-edit as a service with a web UI.

  • To work under the proposed Cylc Hub architecture.
  • To work under a Jupyter notebook? To work as an Electron app?
  • Redesign.
  • As a text editor with awareness of Rose Configuration Metadata?

Rewrite rosie go as with rose config-edit.

  • First class web UI for Rosie Discovery Service and Rosie VCS.

Non Essentials

Move rose date logic to a new isodate command under metomi/isodatetime?

Support YAML configuration format?

Clone this wiki locally