SAGA-Python is dead - long live RADICAL-SAGA!

32 views
Skip to first unread message

Andre Merzky

unread,
Mar 14, 2019, 5:16:55 AM3/14/19
to saga-...@googlegroups.com, saga-devel, radical-cybertools-github
Hello everybody,

it has been a long time in the making, but it's finally happening:
SAGA-Python is about to be renamed to RADICAL-SAGA! This step signals
a tighter integration with the overall RCT software stack, and has a
number of implications - please do read this mail so that you
understand them, because some may require actions from your end! As
always, we will be happy to help you with this transition and any
inconvenience it may create.


1) deployment and import:

We will provide a backward compatible dummy package for `saga-python`
for a while, which will simply import `radical.saga` and then
re-export in the usual `saga` namespace. That package can only put in
place once points 3 and 4 are implemented, so there will be a small
window in time where a `pip install saga-python` will fail.


2) module import, application code:

While, per the above, `import saga` will continue to work, the new
convention will be to use `import radical.saga as rs`, in symmetry to
the remaining RCT stack. Examples, docs, and RP will be released at
the same time with those changes in place.

FWIW, `import radical.saga as saga` is an update path which requires
only minimal changes to most application codes.


3) repository:

The github repo `saga-python` will remain valid for 3 month and will
host the backward-compatibility module. The actual code, with all
issues, PRs, wiki etc. will move into a `radical.saga` repository.

IMPORTANT: if you have a forked saga-python repo, or if you are still
working on some SAGA branch, you SHOULD freeze your work, push to
github, and create a fresh clone after the transition. It will be
possible to merge later on, but the effort will be significantly
higher - so please follow this recommendation and get in contact with
us so that we can help with this transition and, in case, adjust our
timelines accordingly.


4) release:

version numbers for RU, RS and RP will bump to `0.60` with this
change, and pypi dependencies will require `>=0.60` within the RCT
stack. Upper layer RCT packages should not require any change, unless
they use RS directly - in that case see (1) and (2).

IMPORTANT: this release is scheduled for *March 30*, and will be
synchronized with the repository rename and compatibility module
release.


5) devel branches, other branches:

The current devel branches in RU, RS and RP reflect the planned
release, and thus cannot be individually used. Most other branches
(excluding experiments/* and version/*) will be synced after the
release. I will leave the decision of merging the experiment branches
to the respective users.

We will have the ability to release bug fixes based on the 0.50.x
versions, and can also push those to pypi. This will only be possible
for limited time (a couple of weeks), and only will be done when
explicitly requested. This will only be possible for 6 months after
the switch.


6) The only semantic change in this release is the synchronization of
the RCT logging, reporting, profiling debugging and configuration
facilities. If you use SAGA configuration files (not many users do),
please ensure that you transition to the new json file format.
Environment variables will move from `SAGA_*` to `RADICAL_SAGA_*`.
`*_VERBOSE` will move to `*_LOG_LVL`. Backward compatibility will for
the now deprecated settings will be provided for 6 months.

Please contact us if you need help with this transition!


7) Roadmap, python-3 support

There are two major efforts planned for 2019:

A) we will move from python-2 to python-3 (we call this JITT -
just-in-time-transition ;-) ) This will bump the version to v1.0.

B) re-architecting is underway in separating the RCT connectivity
layers from the protocol layers, which requires (and enables) a number
of additional architecture and implementation changes. This work goes
toward v2.0 - we will have a better estimate of this timeline towards
Q4 2019. This effort aims at resolving many issues with the current
code base: reliability, reconnectibility, isolation, composition,
performance, and code-reusability. We are very excited about these
prospects :-)


Many thanks to all contributors, and also a big "thank you!" to our
patient users :-)

Your RADICAL Team.

Andre Merzky

unread,
Apr 10, 2019, 4:54:27 AM4/10/19
to saga-...@googlegroups.com, saga-devel, radical-cybertools-github
Hello World,

it has happened: SAGA-Python is gone, and RADICAL-SAGA has been
released! Wohoo! :-)

Apart from a deprecation warning on `import saga`, your code should
continue to work! Please notify us if this is not the case, we will
help you to get this fixed! You can remove the deprecation warning by
changing `import saga` to `import radical.saga as saga` -- no other
code changes are needed.

Note that `pip install saga-python` will continue to work for a while
- it now pulls `radical.saga` as a dependency and provides the above
backward compatibility. This package is expected to disappear with
the release of radical.saga v1.0 toward the end of the year.

IMPORTANT: The repository for `saga-python` has be *renamed* to
`radical.saga`. If you still have clones of the original repository,
you can follow this transition with these two commands:

git remote rm origin
git remote add origin g...@github.com:radical-cybertools/radical.saga.git

Please only do this if you understand what those commands are doing!
If in doubt, it might be best to create a new clone. Please contact
us if you need help with this transition also.

Support is available on the mailing list on which you receive this
message. Tickets can be opened at [1].

Thanks for your patience with this transition - it has been taken a
loooong time to finally appear, but we hope it is as painless as it
can be at this point.

Best, Andre.


[1] https://github.com/radical-cybertools/radical.saga/issues/new
Reply all
Reply to author
Forward
0 new messages