--- name: DIALS core meeting 2021-06-17 tags: core meeting --- # DIALS core meeting 2021-06-17 [![hackmd-github-sync-badge](https://hackmd.io/cVC3lGMmQbKDMYMfGSEaxQ/badge)](https://hackmd.io/cVC3lGMmQbKDMYMfGSEaxQ) ## Previous Actions * [ ] MG: giving a [typing intro lecture](https://dials.github.io/kb/core/2020917#typing-mypy) on 14th of July, 13:00 BST * [ ] [dx2 proposal](https://dials.github.io/kb/core/20210128#dx2-proposal) * [ ] MG to put in a PR to create a proposal in the proposal-space * [ ] MG+ND: Come up with a proposal to [move away from all code being in header files](https://dials.github.io/kb/core/20201001#overall-architecture-discussion) and consolidate into a single library - cbflib conda-forge/pycbf packaging - [ ] Aaron: Look into labelit regression tests - [X] MG: Add HJB as repository owner - [x] DIALS deprecations - [X] [`cctbx/dxtbx#371`](https://github.com/cctbx/dxtbx/pull/371) can go in - [X] `xtc_process` needs minor work before [`dials/dials#1731`](https://github.com/dials/dials/pull/1731) - [X] Accept [DC-3](https://dials.github.io/kb/proposals/dc3) to follow [NEP-29](https://numpy.org/neps/nep-0029-deprecation_policy.html) - Python 3.6 will be supported on development branch until DIALS 3.6.0 is released, at which point 3.7 will become the minimum supported version of python. - Python 3.7 will be dropped on Dec 26, 2021, which means that DIALS 3.8.* will be the last release to support Python 3.7 as a minimum. - [X] Delete `master` branches from dials/dxtbx - [X] Switch to `hdf5plugin` as the HDF5 plugin provider - [dxtbx#373](https://github.com/cctbx/dxtbx/pull/373) and [dials#1733](https://github.com/dials/dials/pull/1733) merged. Developers will have to update this manually. - [X] scitbx flex "ABI" issue - resolved by conda-forge pulling package in question ## Agenda ### Azure tests broken on dxtbx/xia2 [Fixed] - ~~[`cctbx/dxtbx#383`](https://github.com/cctbx/dxtbx/issues/383)~~ Merged. - [`xia2/xia2#601`](https://github.com/xia2/xia2/issues/601) fix incoming via [`dials/dials#1752`](https://github.com/dials/dials/pull/1752) - Cause is mismatch between cctbx in `modules/` and version in `conda_base/lib/python3.X/site-packages/` - having a second copy of cctbx_project appears to be limitation of libtbx build system\ - Look into adding check for version shear in libtbx.SConscript - Make ticket (**Action: Nick**) ### [cbflib conda-forge package/pycbf](https://dials.github.io/kb/core/20210520#cbflib-conda-forge-package) * Version: 0.9.6.3 - fixes some distribution issues. .4 coming soon to use released [dials-data](https://github.com/dials/data/blob/master/dials_data/definitions/pycbf.yml) datasets * [dxtbx#368](https://github.com/cctbx/dxtbx/pull/368) for optional usage in dxtbx, no binary dependence on cbflib/_adaptbx if present. * Still stray issue with dataset `SPring8_ADSC_SN916` being the only one requiring `FormatCBFFull`. * Still need to test with `labelit`/`labelit_regression` once the test suites actually work * ~~GW needs to review~~ https://github.com/cctbx/dxtbx/pull/369 (**merged**) * All except one labelit tests are now working. On NKS todo list to fix. ### Status checks before merging We had two cases recently where pull requests were merged too eagerly ([dials#1699](https://github.com/dials/dials/pull/1699#issuecomment-847388092), [dials#1729](https://github.com/dials/dials/issues/1729)). We now have a status indicating build step. Should we set it so that the pull request build has to complete before merging? We can then also enable automatic merging once the build passes. **Outcome:** Turn it on, and evaluate in a month. ### Update to Python 3.9 as default environment [`dials#1735`](https://github.com/dials/dials/pull/1735) will make 3.9 the default for new environments. You can still pick 3.6 -- 3.8 by specifying a version manually. **Outcome:** No objection to merging. Make it so. ### `src/` layout for dxtbx [`cctbx/dxtbx#382`](https://github.com/cctbx/dxtbx/pull/382), ~~currently blocked by https://github.com/cctbx/dxtbx/issues/383~~. This is now affecting other people, [`dials/dials#1749`](https://github.com/dials/dials/issues/1749). Outcome: - Check cctbx bootstrap, xfel builder Check phenix builder (needs `--cci-user`) - Check dials bootstrap builder - Barring extra problems happy to make this change - Migration for libtbx entry point case in `libtbx_refresh.py` - Will need a developer *'this is how you update your environment'* bulletin ### Enable `pathlib` objects for dials-data [`dials/data#275`](https://github.com/dials/data/pull/275) will be merged soon. This deprecates the default `py.path` return objects, and adds an option to the dials-data fixture that allows returning `py.path` or `pathlib` objects. (Currently blocked by [`xia2/xia2#597`](https://github.com/xia2/xia2/pull/597), which is blocked by [`cctbx/dxtbx#381`](https://github.com/cctbx/dxtbx/pull/381), which is blocked by [`cctbx/dxtbx#383`](https://github.com/cctbx/dxtbx/issues/383)) **Outcome:** Make this happen once blockers are out of the way. ### flumpy -- flex/numpy bridge - [`cctbx/dxtbx#377`](https://github.com/cctbx/dxtbx/pull/377) - Tests blocked by [`cctbx/cctbx_project@ab8949`](https://github.com/cctbx/cctbx_project/commit/ab8949cd765dd31ef8749a5b5950459ffdf35c36) making it into release (cctbx v2021.6) Enthusiastically received. ### Next meeting Thursday, July 1st, 4pm UK (BST), 8am PDT.