cctbx_project icon indicating copy to clipboard operation
cctbx_project copied to clipboard

Proposal: extract PHIL into a standard python package

Open graeme-winter opened this issue 3 years ago • 4 comments

I would like to be able to use PHIL for input for a non-cctbx / non-DIALS Python project and it would be very nice to be able to

pip install phil

or

conda install phil

and not get the whole of cctbx etc. - currently we are using JSON for input to this and mapping to PHIL would be almost identical UI wise but much more useful.

Is there any hostility to making PHIL a standard Python package? I can see there being takers for it as it is a lot more useful for complex input than anything else in the standard library.

graeme-winter avatar Nov 19 '20 07:11 graeme-winter

I like this idea. PHIL has some nice features and it would be laudable to gift that to the general Python community. The fact that "core PHIL" is extensible (e.g. to iotbx.phil) gives some hope that it could be extracted cleanly, but I do wonder how deep the roots go into libtbx. Worth a look.

dagewa avatar Nov 19 '20 08:11 dagewa

The experience with dxtbx was entirely unsatisfactory. Once it was moved out of cctbx_project, new coding practices were introduced outside of our control here at Berkeley Lab. In my view there are two options for PHIL: a) keep everything exactly as it is now. b) separate PHIL into a new repository entirely under LBNL control; still open source, but no shared development.

On Thu, Nov 19, 2020 at 12:53 AM David Waterman [email protected] wrote:

I like this idea. PHIL has some nice features and it would be laudable to gift that to the general Python community. The fact that "core PHIL" is extensible (e.g. to iotbx.phil) gives some hope that it could be extracted cleanly, but I do wonder how deep the roots go into libtbx. Worth a look.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cctbx/cctbx_project/issues/565#issuecomment-730225472, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADQ24VVWGJTFYECMTTKCYF3SQTMJXANCNFSM4T3AA7VA .

nksauter avatar Nov 19 '20 17:11 nksauter

Yes, please. I actually was just looking on how to use Phil stand-alone... Cannot believe the issue is just 4days old :-D Something like PHIL is teriblly missing in Python... There is plenty other CLI stuff, but non suitable for potentialy complex inputs. JSON is to picky to be user friendly.

Please, make it even from pip only. However, there is already 'phil' package in PyPi already.

stranskj avatar Nov 23 '20 16:11 stranskj

This looks like something to be discussed at the next cctbx management meeting. A potential solution is that I can build the conda and pip packages for PHIL without changing anything in the repository.

bkpoon avatar Nov 26 '20 08:11 bkpoon