This release focused on improving users' ability to influence compute effort allocation on their `Task`s, as well as enabling support for large `AlchemicalNetwork`s. This includes:
- the ability to set and get `Task` `priority`, set and get `AlchemicalNetwork` `weight` relative to others, and set and get actioned `Task` `weight`s. These give users several levers of control for getting results of greater interest more quickly. Big thanks to ianmkenney for working on these pieces in detail.
- vast improvement to `AlchemicalNetwork` submission and `AlchemicalNetwork`, `Transformation`, and `ChemicalSystem` retrieval through smarter serialization via use of keyed `dict`s, thanks to work by ianmkenney and dotsdl to solve alchemiscale216:
- users should see very fast submission times compared to previously, even on relatively slow internet connections
- "large" networks (>1000 chemical systems) should be ingestible without issue
What's Changed
* Set minimum for openmmforcefields version in conda envs to 0.12.0 by dotsdl in https://github.com/openforcefield/alchemiscale/pull/193
* Fixing broken CI due to lomap import failures by dotsdl in https://github.com/openforcefield/alchemiscale/pull/196
* Update prod envs to use gufe 0.9.5, openfe 0.14.0 by dotsdl in https://github.com/openforcefield/alchemiscale/pull/197
* Make test env use latest release of openfe and gufe instead of `main` by dotsdl in https://github.com/openforcefield/alchemiscale/pull/203
* Add the `visualize` kwarg to the `create_network` method by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/207
* Add ability to sort `ScopedKey`s by dotsdl in https://github.com/openforcefield/alchemiscale/pull/199
* Remove `return_gufe` kwarg from `AlchemiscaleClient.query_networks` by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/206
* Add client/API getter and setter methods for network weights by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/212
* Add `weight` kwarg to `AlchemiscaleClient.action_tasks` method by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/209
* Add getters and setters for Task priority in AlchemiscaleClient by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/213
* Add `get_network_actioned_tasks` and `get_task_actioned_networks` to `AlchemicaleClient` by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/214
* Network representation optimizations for JSON encoding by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/217
* Optimization to `gufe_to_digraph` to avoid repeated traversals, calls to `GufeTokenizable.to_shallow_dict` by dotsdl in https://github.com/openforcefield/alchemiscale/pull/219
* Added docs on getting and setting AlchemicalNetwork weights, Task actioned weights, and Task priorities by dotsdl in https://github.com/openforcefield/alchemiscale/pull/223
* Attempting to fix seemingly random failures on CI by dotsdl in https://github.com/openforcefield/alchemiscale/pull/224
* Adding KeyedChain class by ianmkenney in https://github.com/openforcefield/alchemiscale/pull/227
* QA tests for impending 0.3.0 release by dotsdl in https://github.com/openforcefield/alchemiscale/pull/226
**Full Changelog**: https://github.com/openforcefield/alchemiscale/compare/v0.2.1...v0.3.0