Skip to content

Releases: openforcefield/alchemiscale

Release v0.4.0

05 Apr 05:02
7284ee2
Compare
Choose a tag to compare

This release focused on performance improvements throughout alchemiscale, both user-facing and compute-facing. In particular:

  • performance improvements to Task creation, actioning, and claiming by compute services
  • new client methods for getting and setting many network weights at once
  • new client methods for getting Tasks statuses and actioned Tasks for many networks at once
  • added concept of network state, allowing users to set networks to inactive, deleted, or invalid when no longer relevant
  • now using neo4j 5.x, and the official neo4j Python driver for database communication

If upgrading an existing alchemiscale deployment to this release, please follow the migration guide.

What's Changed

New Contributors

Full Changelog: v0.3.0...v0.4.0

Release v0.3.0

19 Jan 18:28
b1cd4d7
Compare
Choose a tag to compare

This release focused on improving users' ability to influence compute effort allocation on their Tasks, as well as enabling support for large AlchemicalNetworks. This includes:

  • the ability to set and get Task priority, set and get AlchemicalNetwork weight relative to others, and set and get actioned Task weights. 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 dicts, thanks to work by @ianmkenney and @dotsdl to solve alchemiscale#216:
    • 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 #193
  • Fixing broken CI due to lomap import failures by @dotsdl in #196
  • Update prod envs to use gufe 0.9.5, openfe 0.14.0 by @dotsdl in #197
  • Make test env use latest release of openfe and gufe instead of main by @dotsdl in #203
  • Add the visualize kwarg to the create_network method by @ianmkenney in #207
  • Add ability to sort ScopedKeys by @dotsdl in #199
  • Remove return_gufe kwarg from AlchemiscaleClient.query_networks by @ianmkenney in #206
  • Add client/API getter and setter methods for network weights by @ianmkenney in #212
  • Add weight kwarg to AlchemiscaleClient.action_tasks method by @ianmkenney in #209
  • Add getters and setters for Task priority in AlchemiscaleClient by @ianmkenney in #213
  • Add get_network_actioned_tasks and get_task_actioned_networks to AlchemicaleClient by @ianmkenney in #214
  • Network representation optimizations for JSON encoding by @ianmkenney in #217
  • Optimization to gufe_to_digraph to avoid repeated traversals, calls to GufeTokenizable.to_shallow_dict by @dotsdl in #219
  • Added docs on getting and setting AlchemicalNetwork weights, Task actioned weights, and Task priorities by @dotsdl in #223
  • Attempting to fix seemingly random failures on CI by @dotsdl in #224
  • Adding KeyedChain class by @ianmkenney in #227
  • QA tests for impending 0.3.0 release by @dotsdl in #226

Full Changelog: v0.2.1...v0.3.0

Release v0.2.1

06 Oct 23:16
813cc5a
Compare
Choose a tag to compare

This is a bugfix release for the v0.2.x release series.

What's Changed

  • Added n_retries usage for SynchronousComputeService by @dotsdl in #186
  • Added validation guardrail for AlchemicalNetworks with self-Transformations by @dotsdl in #189
  • Updates for release 0.2.1 by @dotsdl in #190

Full Changelog: v0.2.0...v0.2.1

Release v0.2.0

23 Sep 00:57
535ea22
Compare
Choose a tag to compare

This release focused on adding documentation for alchemiscale, including a user guide, a first tutorial, deployment, compute, and operations guides, a developer guide, and an API reference. It also added efficient methods for getting network-wide results to the AlchemiscaleClient in #178, and some smaller fixes to the alchemiscale CLI.

What's Changed

  • Fixed version mismatch of alchemiscale in conda environments by @ianmkenney in #165
  • Add user guide to docs, restructure some other documentation pages by @dotsdl in #166
  • Added compute doc, adding other operations docs (e.g. backups) by @dotsdl in #167
  • Support adding and removing multiple scopes from identity with single CLI call by @dotsdl in #172
  • Add developer-facing docs by @dotsdl in #175
  • Review and refinement of API docs by @dotsdl in #177
  • Added get_network_results method to AlchemiscaleClient by @dotsdl in #178
  • Add Alchemiscale Demo as first tutorial by @dotsdl in #174
  • Updated prod-oriented conda envs to use latest openfe, gufe, and python 3.11 by @dotsdl in #181

New Contributors

Full Changelog: v0.1.4...v0.2.0

Release v0.1.4

08 Aug 05:37
ea8d802
Compare
Choose a tag to compare

This release focused on bugfixes for user-facing issues, in particular opportunities for mismatches between Transformation and ProtocolDAGResult gufe keys in the objectstore and statestore (#161). It also added initial documentation structure (#157), and guardrails on the allowed Task statuses for actioning (#162).

What's Changed

  • Update prod envs to use openfe 0.11.0 by @dotsdl in #158
  • Add deplyoment docs v2 by @mikemhenry in #157
  • Make ProtocolDAGResult push and pull keys self-consistent by @dotsdl in #161
  • Set pydantic version less than 2.0 for all conda envs by @dotsdl in #160
  • Only action Tasks that are status 'waiting', 'error', or 'running' by @dotsdl in #162

Full Changelog: v0.1.3...v0.1.4

Release v0.1.3

30 Jun 03:58
d4d2675
Compare
Choose a tag to compare

This release focused on bugfixes and user-facing features and performance improvements in the AlchemiscaleClient. In particular, it added:

  • visual feedback for method calls that push or retrieve large data structures
  • asyncio-based result retrieval
  • LRU caching where appropriate to methods that retrieve large data structures, allowing for fast repeated calls for the same objects
  • bulk API points for methods that get or set properties of many individual objects, allowing efficient batching and fast execution
  • Task status methods at the scope and network levels
  • fast accessor methods for related components, such as get_transformation_tasks, get_chemicalsystem_networks, get_network_transformations, etc.

Mismatches in the gufe key of an object between the client and the server should also no longer lock users out of their data, using the accessor methods mentioned above.

What's Changed

  • Update deployment envs with openfe=0.7.4, gufe=0.7.3 by @dotsdl in #135
  • Use pyproject.toml by @mikemhenry in #141
  • Add AlchemiscaleClient API points for simpler status, result retrieval by @dotsdl in #143
  • AlchemiscalClient async+bulk for results, other methods; add request, response compression for large objects by @dotsdl in #150
  • AlchemiscaleClient LRU caching by @dotsdl in #155
  • Updated dependencies in conda envs, both testing and deployment by @dotsdl in #152

Full Changelog: v0.1.2...v0.1.3

Release v0.1.2

23 Apr 04:23
Compare
Choose a tag to compare

Quality of life improvements on AlchemiscaleClient, SynchronousComputeService logging.

Release v0.1.1

18 Apr 06:31
Compare
Choose a tag to compare

Bugfix release from deployment issues from release 0.1.0.

Release v0.1.0

18 Apr 05:18
Compare
Choose a tag to compare

This marks the first release of alchemiscale. All components are deployable and usable, although there are certainly rough edges, performance bottlenecks, and insufficient documentation. These will be addressed in the releases to follow, informed by user feedback.