Recent Releases of alchemiscale
alchemiscale - Release v0.6.2
This is an incremental bugfix release, featuring small usability improvements from user feedback. In particular:
- it is now possible to set required arguments for the AlchemiscaleClient via environment variables, namely ALCHEMISCALE_URL, ALCHEMISCALE_ID, and ALCHEMISCALE_KEY.
- users of the AlchemiscaleClient can now disable local on-disk caching with use_local_cache=False
- compute services can now be configured to use a local on-disk cache where possible, or disable it completely
- Tasks now record the identity of the user that created them; this may be used in the future as a queryable
Thanks to all our contributors, including @LilDojd, @ianmkenney, @mikemhenry, and @dotsdl!
What's Changed
- feat: add environment variable support for client initialization params by @LilDojd in https://github.com/OpenFreeEnergy/alchemiscale/pull/368
- Fix docs by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/381
- Make RTD fail on warning by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/382
- Allow users to disable AlchemiscaleClient disk cache by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/380
- Update to current type annotation syntax and clean out general diagnostic issues by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/354
- Prevent warnings when environment variable is not set, and parameter is supplied by @LilDojd in https://github.com/OpenFreeEnergy/alchemiscale/pull/390
- switch to using setuptools_scm by @mikemhenry in https://github.com/OpenFreeEnergy/alchemiscale/pull/379
- Added ability to set cache location, size, or disable entirely for compute services by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/392
- Record the creator of new tasks by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/397
Full Changelog: https://github.com/OpenFreeEnergy/alchemiscale/compare/v0.6.1...v0.6.2
- Python
Published by dotsdl about 1 year ago
alchemiscale - Release v0.6.1
This is a bugfix release in response to a serious bug identified and addressed in #370. We recommend not using the v0.6.0 release due to this bug.
What's Changed
- Fix broken codepath in compute API for resolving task restarts for failed ProtocolDAGResults by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/370
Full Changelog: https://github.com/OpenFreeEnergy/alchemiscale/compare/v0.6.0...v0.6.1
- Python
Published by dotsdl over 1 year ago
alchemiscale - Release v0.6.0
This release introduces several major features aimed at improving the overall user experience and result retrieval performance:
- Task restart policies, which allow users to automate Task restarts for failure modes they encounter from unreliable compute resources
- compression-at-rest of ProtocolDAGResult objects by compute services, and use of the compact KeyedChain representation for these objects underneath
- user-configurable ProtocolDAGResult on-disk caching in the AlchemiscaleClient, reducing wait times for pulling results when they have been previously requested
This release also includes the following stack requirements:
- gufe > 1.2.0
- pydantic > 2
What's Changed
- Restart policy: resolve restarts by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/286
- Implement task restart policies by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/280
- Use
pydantic> 1 by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/192 - Add use of zstd compression on compute services by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/336
- Remove Python 3.10 from CI, add SPEC0 badge by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/359
- Use
diskcachefor cachingProtocolDAGResults in the Alchemiscale client by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/271 - Updated
gufeandopenfeversions in conda envs, addedcuda-version > 12to avoid pullingcudatoolkitby @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/360 - Added CITATION.cff file with authors involved in
alchemiscaleworking group over the last year by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/362 - Update user guide install instructions by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/361
- Pin libsqlite to <3.49 by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/365
- Fix sporadic test failures by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/367
- Prep for release 0.6.0 by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/363
Full Changelog: https://github.com/OpenFreeEnergy/alchemiscale/compare/v0.5.3...v0.6.0
- Python
Published by dotsdl over 1 year ago
alchemiscale - Release v0.5.3
Small patch release, addressing a bug in protocol filtering in SynchronousComputeService.
What's Changed
SynchronousComputeServicenow properly claims tasks with protocols filter by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/337- Update deployment envs, user guide to use release 0.5.3. by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/339
Full Changelog: https://github.com/OpenFreeEnergy/alchemiscale/compare/v0.5.2...v0.5.3
- Python
Published by dotsdl over 1 year ago
alchemiscale - Release v0.5.2
This patch release includes fixes/changes to alchemiscale internals; there are no new user-facing features or changes in this release. Please note that at minimum gufe v1.1.0 is now required.
Exceptional thanks to both @LilDojd and @ianmkenney for their work in this release cycle, in particular quickly addressing Cypher injection vulnerabilities identified by @LilDojd. This work greatly improves the security posture of alchemiscale, and should also come with performance benefits. :rocket:
What's Changed
- Addressing failures in CI by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/317
- Switch to matching against
SettingsBaseModelinstead ofSettingsingufe_to_subgraphby @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/316 - Changes to address #292 by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/323
- Adopt code from py2neo to remove the use of the
idfunction in cypher queries by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/302 - Closes #297 by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/324
- Use python < 3.13 for building docs by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/325
- Use query parameters wherever possible in Neo4jStore by @LilDojd in https://github.com/OpenFreeEnergy/alchemiscale/pull/330
- Replace passlib with bcrypt by @LilDojd in https://github.com/OpenFreeEnergy/alchemiscale/pull/306
- Replace the alchemiscale KeyedChain with new gufe KeyedChain by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/329
- Release v0.5.2 preparation by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/334
New Contributors
- @LilDojd made their first contribution in https://github.com/OpenFreeEnergy/alchemiscale/pull/330
Full Changelog: https://github.com/OpenFreeEnergy/alchemiscale/compare/v0.5.1...v0.5.2
- Python
Published by dotsdl over 1 year ago
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_limitback to 1 by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/289 - Switch pip installs to conda packages where possible, add restart policies to docker-compose containers by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/288
- Added UNWIND to cancel tasks query by @ianmkenney in https://github.com/OpenFreeEnergy/alchemiscale/pull/299
- Deploy openfe 1.1.0, update deployment apparatus for OpenFreeEnergy namespace by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/308
- Update tutorial notebook for openfe 1.0, latest cinnabar by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/311
- Prepping prod environments for v0.5.1 release by @dotsdl in https://github.com/OpenFreeEnergy/alchemiscale/pull/309
Full Changelog: https://github.com/OpenFreeEnergy/alchemiscale/compare/v0.5.0...v0.5.1
- Python
Published by dotsdl over 1 year ago
alchemiscale - Release v0.5.0
This release features changes required to support the following:
- openfe and gufe versions >=1.0
- Folding@Home execution via alchemiscale-fah
If upgrading an existing alchemiscale deployment to this release, result objects (ProtocolDAGResults) produced with openfe and/or gufe versions <1.0 existing in the database will not be usable. Many settings options for common Protocols, 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
NonTransformations by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/270 - More HTTPExceptions in the interface API endpoints by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/269
- Test new openfe & gufe rc by @mikemhenry in https://github.com/openforcefield/alchemiscale/pull/254
- Fix regular expression matching in
query_networksby @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/275 - Update operations manual to address changes in Neo4j database management by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/272
- Fix for create_network in interface API, properly deserializing AlchemicalNetwork by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/276
- Test TaskHub Task claiming by Protocol by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/279
- Changes needed to support execution via
alchemiscale-fahby @dotsdl in https://github.com/openforcefield/alchemiscale/pull/218 - Increment compute env to use cudatoolkit 11.8 by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/278
- release 0.5.0 prep by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/283
Full Changelog: https://github.com/openforcefield/alchemiscale/compare/v0.4.0...v0.5.0
- Python
Published by dotsdl almost 2 years ago
alchemiscale - 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 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
- Fix version menu by @mikemhenry in https://github.com/openforcefield/alchemiscale/pull/231
- Fix moto imports in conftest by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/233
- Bulk reformat project with Black by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/234
- fix small typo by @mikemhenry in https://github.com/openforcefield/alchemiscale/pull/240
- remove py2neo as primary database driver by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/235
- Fixes a bug identified by @JenkeScheen in #236 by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/238
- Support Neo4j 5.x by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/242
- Optimizations for TaskHub task claiming by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/244
- Simplify
action_tasksby @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/249 - Use
mamba-org/setup-micromambaby @mattwthompson in https://github.com/openforcefield/alchemiscale/pull/253 - Adding bulk task creation server side by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/250
- Added DeprecationWarning to AlchemiscaleClient.getscopedkey by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/256
- Add more bulk methods to the Alchemiscale client by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/255
- Added logo to README, docs by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/262
- Added a test to check that ComputeService deregistration resets claimed Tasks to status waiting by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/260
- User-defined Network state implementation with the NetworkState GufeTokenizable by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/257
- Unimplemented tests marked with xfail by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/263
- Release 0.4.0 testing by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/264
New Contributors
- @mattwthompson made their first contribution in https://github.com/openforcefield/alchemiscale/pull/253
Full Changelog: https://github.com/openforcefield/alchemiscale/compare/v0.3.0...v0.4.0
- Python
Published by dotsdl about 2 years ago
alchemiscale - Release v0.3.0
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 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
mainby @dotsdl in https://github.com/openforcefield/alchemiscale/pull/203 - Add the
visualizekwarg to thecreate_networkmethod by @ianmkenney in https://github.com/openforcefield/alchemiscale/pull/207 - Add ability to sort
ScopedKeys by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/199 - Remove
return_gufekwarg fromAlchemiscaleClient.query_networksby @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
weightkwarg toAlchemiscaleClient.action_tasksmethod 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_tasksandget_task_actioned_networkstoAlchemicaleClientby @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_digraphto avoid repeated traversals, calls toGufeTokenizable.to_shallow_dictby @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
- Python
Published by dotsdl over 2 years ago
alchemiscale - Release v0.2.1
This is a bugfix release for the v0.2.x release series.
What's Changed
- Added
n_retriesusage forSynchronousComputeServiceby @dotsdl in https://github.com/openforcefield/alchemiscale/pull/186 - Added validation guardrail for AlchemicalNetworks with self-Transformations by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/189
- Updates for release 0.2.1 by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/190
Full Changelog: https://github.com/openforcefield/alchemiscale/compare/v0.2.0...v0.2.1
- Python
Published by dotsdl over 2 years ago
alchemiscale - 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 https://github.com/openforcefield/alchemiscale/pull/165
- Add user guide to docs, restructure some other documentation pages by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/166
- Added compute doc, adding other operations docs (e.g. backups) by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/167
- Support adding and removing multiple scopes from identity with single CLI call by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/172
- Add developer-facing docs by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/175
- Review and refinement of API docs by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/177
- Added
get_network_resultsmethod toAlchemiscaleClientby @dotsdl in https://github.com/openforcefield/alchemiscale/pull/178 - Add Alchemiscale Demo as first tutorial by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/174
- Updated prod-oriented conda envs to use latest openfe, gufe, and python 3.11 by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/181
New Contributors
- @ianmkenney made their first contribution in https://github.com/openforcefield/alchemiscale/pull/165
Full Changelog: https://github.com/openforcefield/alchemiscale/compare/v0.1.4...v0.2.0
- Python
Published by dotsdl over 2 years ago
alchemiscale - 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 https://github.com/openforcefield/alchemiscale/pull/158
- Add deplyoment docs v2 by @mikemhenry in https://github.com/openforcefield/alchemiscale/pull/157
- Make
ProtocolDAGResultpush and pull keys self-consistent by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/161 - Set pydantic version less than 2.0 for all conda envs by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/160
- Only action
Tasks that arestatus'waiting', 'error', or 'running' by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/162
Full Changelog: https://github.com/openforcefield/alchemiscale/compare/v0.1.3...v0.1.4
- Python
Published by dotsdl almost 3 years ago
alchemiscale - 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 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 https://github.com/openforcefield/alchemiscale/pull/135
- Use pyproject.toml by @mikemhenry in https://github.com/openforcefield/alchemiscale/pull/141
- Add AlchemiscaleClient API points for simpler status, result retrieval by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/143
- AlchemiscalClient async+bulk for results, other methods; add request, response compression for large objects by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/150
AlchemiscaleClientLRU caching by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/155- Updated dependencies in conda envs, both testing and deployment by @dotsdl in https://github.com/openforcefield/alchemiscale/pull/152
Full Changelog: https://github.com/openforcefield/alchemiscale/compare/v0.1.2...v0.1.3
- Python
Published by dotsdl almost 3 years ago
alchemiscale - Release v0.1.2
Quality of life improvements on AlchemiscaleClient, SynchronousComputeService logging.
- Python
Published by dotsdl about 3 years ago
alchemiscale - Release v0.1.1
Bugfix release from deployment issues from release 0.1.0.
- Python
Published by dotsdl about 3 years ago
alchemiscale - Release v0.1.0
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.
- Python
Published by dotsdl about 3 years ago