Releases: OpenFreeEnergy/alchemiscale
Release v0.5.1
This patch release includes small fixes identified from the 0.5.0 release, as well as changes needed due to the migration of alchemiscale
to the OpenFreeEnergy GitHub org. We now also include openfe
1.1.0 in deployment environments.
Please note that new deployable Docker images for both server
and compute
are now published to GCR under the openfreeenergy
namespace instead of the openforcefield
namespace.
What's Changed
- Set default
claim_limit
back to 1 by @dotsdl in #289 - Switch pip installs to conda packages where possible, add restart policies to docker-compose containers by @dotsdl in #288
- Added UNWIND to cancel tasks query by @ianmkenney in #299
- Deploy openfe 1.1.0, update deployment apparatus for OpenFreeEnergy namespace by @dotsdl in #308
- Update tutorial notebook for openfe 1.0, latest cinnabar by @dotsdl in #311
- Prepping prod environments for v0.5.1 release by @dotsdl in #309
Full Changelog: v0.5.0...v0.5.1
Release v0.5.0
This release features changes required to support the following:
openfe
andgufe
versions >=1.0- Folding@Home execution via
alchemiscale-fah
If upgrading an existing alchemiscale
deployment to this release, result objects (ProtocolDAGResult
s) produced with openfe
and/or gufe
versions <1.0 existing in the database will not be usable. Many settings options for common Protocol
s, such as the RelativeHybridTopologyProtocol
, have been refined as part of these 1.0 releases, and these will settings remain relatively stable through the 1.0 series. Extract any results of importance from an existing alchemiscale
deployment before upgrading to this release!
What's Changed
- Added support for
NonTransformation
s by @ianmkenney in #270 - More HTTPExceptions in the interface API endpoints by @ianmkenney in #269
- Test new openfe & gufe rc by @mikemhenry in #254
- Fix regular expression matching in
query_networks
by @ianmkenney in #275 - Update operations manual to address changes in Neo4j database management by @ianmkenney in #272
- Fix for create_network in interface API, properly deserializing AlchemicalNetwork by @ianmkenney in #276
- Test TaskHub Task claiming by Protocol by @ianmkenney in #279
- Changes needed to support execution via
alchemiscale-fah
by @dotsdl in #218 - Increment compute env to use cudatoolkit 11.8 by @dotsdl in #278
- release 0.5.0 prep by @dotsdl in #283
Full Changelog: v0.4.0...v0.5.0
Release v0.4.0
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
Task
s statuses and actionedTask
s for many networks at once - added concept of network state, allowing users to set networks to
inactive
,deleted
, orinvalid
when no longer relevant - now using
neo4j
5.x, and the officialneo4j
Python driver for database communication
If upgrading an existing alchemiscale
deployment to this release, please follow the migration guide.
What's Changed
- Fix version menu by @mikemhenry in #231
- Fix moto imports in conftest by @ianmkenney in #233
- Bulk reformat project with Black by @ianmkenney in #234
- fix small typo by @mikemhenry in #240
- remove py2neo as primary database driver by @ianmkenney in #235
- Fixes a bug identified by @JenkeScheen in #236 by @dotsdl in #238
- Support Neo4j 5.x by @ianmkenney in #242
- Optimizations for TaskHub task claiming by @ianmkenney in #244
- Simplify
action_tasks
by @ianmkenney in #249 - Use
mamba-org/setup-micromamba
by @mattwthompson in #253 - Adding bulk task creation server side by @ianmkenney in #250
- Added DeprecationWarning to AlchemiscaleClient.get_scoped_key by @ianmkenney in #256
- Add more bulk methods to the Alchemiscale client by @ianmkenney in #255
- Added logo to README, docs by @dotsdl in #262
- Added a test to check that ComputeService deregistration resets claimed Tasks to status waiting by @dotsdl in #260
- User-defined Network state implementation with the NetworkState GufeTokenizable by @ianmkenney in #257
- Unimplemented tests marked with xfail by @ianmkenney in #263
- Release 0.4.0 testing by @dotsdl in #264
New Contributors
- @mattwthompson made their first contribution in #253
Full Changelog: v0.3.0...v0.4.0
Release v0.3.0
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 getAlchemicalNetwork
weight
relative to others, and set and get actionedTask
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 andAlchemicalNetwork
,Transformation
, andChemicalSystem
retrieval through smarter serialization via use of keyeddict
s, 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 thecreate_network
method by @ianmkenney in #207 - Add ability to sort
ScopedKey
s by @dotsdl in #199 - Remove
return_gufe
kwarg fromAlchemiscaleClient.query_networks
by @ianmkenney in #206 - Add client/API getter and setter methods for network weights by @ianmkenney in #212
- Add
weight
kwarg toAlchemiscaleClient.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
andget_task_actioned_networks
toAlchemicaleClient
by @ianmkenney in #214 - Network representation optimizations for JSON encoding by @ianmkenney in #217
- Optimization to
gufe_to_digraph
to avoid repeated traversals, calls toGufeTokenizable.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
This is a bugfix release for the v0.2.x release series.
What's Changed
- Added
n_retries
usage forSynchronousComputeService
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
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 toAlchemiscaleClient
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
- @ianmkenney made their first contribution in #165
Full Changelog: v0.1.4...v0.2.0
Release v0.1.4
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
Task
s that arestatus
'waiting', 'error', or 'running' by @dotsdl in #162
Full Changelog: v0.1.3...v0.1.4
Release v0.1.3
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 thescope
andnetwork
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
Quality of life improvements on AlchemiscaleClient
, SynchronousComputeService
logging.
Release v0.1.1
Bugfix release from deployment issues from release 0.1.0.