Housekeeping / roadmap for future

Hello all, Appreciate a phenix release coming shortly & not suggesting anything any time soon However we were discussing earlier what the road map is for cctbx - making it ready for the future - and I was wondering what is already on the table? Is there a road map somewhere? I recall Billy mentioning Python3 recently, as an example... Thanks Graeme -- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom

Hi Graeme,
I can provide a more concrete list after the Phenix release, but generally,
the migration to Python 3 in 2020 (exact date for Python 2 end-of-life is
unclear, https://www.python.org/dev/peps/pep-0373/) will require checking
through the existing codebase, so we would like to clean things up by
removing unused code and consolidating any duplicate functionality.
I would also like to introduce a more standard template for programs so
that the non-science stuff is more consistent among all programs. For
example, file I/O (with more automatic handling of compressed files) can be
isolated at the beginning with proper sanity checks on the data.
Command-line flags, like an option for showing citations for the algorithms
in the program, can also be more standardized.
The standard program template will also help in migrating the GUI away from
wxPython. The replacement package for the GUI will most likely be PyQt5.
To help track progress and keep everyone up to date, we can use the
"Projects" feature on GitHub.
--
Billy K. Poon
Research Scientist, Molecular Biophysics and Integrated Bioimaging
Lawrence Berkeley National Laboratory
1 Cyclotron Road, M/S 33R0345
Berkeley, CA 94720
Tel: (510) 486-5709
Fax: (510) 486-5909
Web: https://phenix-online.org
On Fri, Jun 16, 2017 at 5:05 AM,
Hello all,
Appreciate a phenix release coming shortly & not suggesting anything any time soon
However we were discussing earlier what the road map is for cctbx – making it ready for the future – and I was wondering what is already on the table? Is there a road map somewhere? I recall Billy mentioning Python3 recently, as an example…
Thanks Graeme
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb

On 16 June 2017 at 18:14, Billy Poon
The standard program template will also help in migrating the GUI away from wxPython. The replacement package for the GUI will most likely be PyQt5.
Out of curiosity: have you considered migrating to wxPython4 (Phoenix) instead? BTW, we are just observing here CCP-EM project migrating GUI away from PyQt. To web technologies. Marcin

Hi Marcin,
I did look into wxPython (Phoenix). It's not clear how well supported it
is, since it seems like only one person is working on it. But there have
been more recent updates on GitHub (https://github.com/wxWidgets/Phoenix),
so it's something I'm watching.
For the new GUI, a web app seemed too much of a jump currently. I do plan
on more strictly following the Model-View-Controller design pattern so that
we can potentially reuse code (e.g. for translating information from cctbx
data structures for the View) if we move towards a web app.
--
Billy K. Poon
Research Scientist, Molecular Biophysics and Integrated Bioimaging
Lawrence Berkeley National Laboratory
1 Cyclotron Road, M/S 33R0345
Berkeley, CA 94720
Tel: (510) 486-5709
Fax: (510) 486-5909
Web: https://phenix-online.org
On Fri, Jun 16, 2017 at 11:01 AM, Marcin Wojdyr
On 16 June 2017 at 18:14, Billy Poon
wrote: The standard program template will also help in migrating the GUI away
from
wxPython. The replacement package for the GUI will most likely be PyQt5.
Out of curiosity: have you considered migrating to wxPython4 (Phoenix) instead?
BTW, we are just observing here CCP-EM project migrating GUI away from PyQt. To web technologies.
Marcin _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb

Hi Billy
I like the idea of using something on GitHub to track ideas for modernisation & also the idea of going through the codebase and removing unused code / cruft is appealing.
If you intend to move to a more standard template for program structure, I wonder if it is also worth asking about using more standard test frameworks too i.e. Python unittest - would make the refactoring somewhat safer...
Anyhow, endorse the idea of gathering thoughts somewhere on GitHub - I will keep an eye out for this
Thanks Graeme
________________________________
From: [email protected] [[email protected]] on behalf of Billy Poon [[email protected]]
Sent: 16 June 2017 18:14
To: cctbx mailing list
Subject: Re: [cctbxbb] Housekeeping / roadmap for future
Hi Graeme,
I can provide a more concrete list after the Phenix release, but generally, the migration to Python 3 in 2020 (exact date for Python 2 end-of-life is unclear, https://www.python.org/dev/peps/pep-0373/) will require checking through the existing codebase, so we would like to clean things up by removing unused code and consolidating any duplicate functionality.
I would also like to introduce a more standard template for programs so that the non-science stuff is more consistent among all programs. For example, file I/O (with more automatic handling of compressed files) can be isolated at the beginning with proper sanity checks on the data. Command-line flags, like an option for showing citations for the algorithms in the program, can also be more standardized.
The standard program template will also help in migrating the GUI away from wxPython. The replacement package for the GUI will most likely be PyQt5.
To help track progress and keep everyone up to date, we can use the "Projects" feature on GitHub.
--
Billy K. Poon
Research Scientist, Molecular Biophysics and Integrated Bioimaging
Lawrence Berkeley National Laboratory
1 Cyclotron Road, M/S 33R0345
Berkeley, CA 94720
Tel: (510) 486-5709
Fax: (510) 486-5909
Web: https://phenix-online.org
On Fri, Jun 16, 2017 at 5:05 AM,

Just to add to this, I recently stumbled across Aaron's "cctbx dependencies" google doc. Might be worth revisiting?
https://docs.google.com/spreadsheets/d/13kCFntbip4_8frMgB8sEKHN5M_hBguISI9J2...
(I suspect this is not public, so apologies if your name does not begin with Aaron or Billy)
-Markus
________________________________
From: [email protected] [[email protected]] on behalf of Billy Poon [[email protected]]
Sent: 16 June 2017 18:14
To: cctbx mailing list
Subject: Re: [cctbxbb] Housekeeping / roadmap for future
Hi Graeme,
I can provide a more concrete list after the Phenix release, but generally, the migration to Python 3 in 2020 (exact date for Python 2 end-of-life is unclear, https://www.python.org/dev/peps/pep-0373/) will require checking through the existing codebase, so we would like to clean things up by removing unused code and consolidating any duplicate functionality.
I would also like to introduce a more standard template for programs so that the non-science stuff is more consistent among all programs. For example, file I/O (with more automatic handling of compressed files) can be isolated at the beginning with proper sanity checks on the data. Command-line flags, like an option for showing citations for the algorithms in the program, can also be more standardized.
The standard program template will also help in migrating the GUI away from wxPython. The replacement package for the GUI will most likely be PyQt5.
To help track progress and keep everyone up to date, we can use the "Projects" feature on GitHub.
--
Billy K. Poon
Research Scientist, Molecular Biophysics and Integrated Bioimaging
Lawrence Berkeley National Laboratory
1 Cyclotron Road, M/S 33R0345
Berkeley, CA 94720
Tel: (510) 486-5709
Fax: (510) 486-5909
Web: https://phenix-online.org
On Fri, Jun 16, 2017 at 5:05 AM,
participants (4)
-
Billy Poon
-
Graeme.Winter@diamond.ac.uk
-
Marcin Wojdyr
-
markus.gerstel@diamond.ac.uk