Releases: Quantum-Accelerators/quacc
Releases · Quantum-Accelerators/quacc
v0.10.1
[0.10.1]
Changed
- Overhauled type hinting system
- Added kspacing default to Espresso non_scf_job
Fixed
- Fixed breaking change from monty 07.12.2024
- Fixed a variety of incompatible type hints
What's Changed
- Update run_jenkins_tests.sh by @Andrew-S-Rosen in #2327
- Fix mypy issues in calculators and schema modules by @AitElBadaoui in #2326
- tests: improve error handling by @AitElBadaoui in #2329
- Bugfix/espresso nscf kspacing by @nerdwarrior in #2330
- Bump pydantic from 2.8.0 to 2.8.2 by @dependabot in #2332
- Bump phonopy from 2.25.0 to 2.26.2 by @dependabot in #2331
- Bump parsl[monitoring] from 2024.6.24 to 2024.7.1 by @dependabot in #2333
- Bump dask[distributed] from 2024.6.2 to 2024.7.0 by @dependabot in #2334
- zpath(Path) -> zpath(str(Path)) by @zulissimeta in #2336
- Bump parsl[monitoring] from 2024.7.1 to 2024.7.8 by @dependabot in #2338
- Bump phonopy from 2.26.2 to 2.26.4 by @dependabot in #2337
- Bump prefect[dask] from 2.19.7 to 2.19.8 by @dependabot in #2340
- Bump monty from 2024.5.24 to 2024.7.12 by @dependabot in #2339
New Contributors
- @nerdwarrior made their first contribution in #2330
Full Changelog: v0.10.0...v0.10.1
v0.10.0
[0.10.0]
Added
- Added a function
from quacc import get_settings
to fetch the current settings on a thread - Added a mechanism to update the settings on-the-fly via a special
settings_swap
keyword argument that can be passed to the decorators when a workflow engine is used. - MD workflows!
Fixed
- Fixed an edge-case that can occur in multithreading environments where in-memory changes to the
QuaccSettings
could carry over to a concurrent thread - Made the detection of intermediate step directories more robust
Removed
- The global
SETTINGS
variable is gone! Modifying a global variable can cause havoc in multithreaded environments and was never compatible with workflow engines. Refer to the Modifying Settings page for the recommended approach. For most users without an active workflow engine, this will be thewith change_settings()
context manager.
What's Changed
- Clarify usage of
**calc_kwargs
in docs by @Andrew-S-Rosen in #2268 - clean up docs by @Andrew-S-Rosen in #2269
- Update workflows.md by @Andrew-S-Rosen in #2271
- Better handling of "stepN" detection by @Andrew-S-Rosen in #2270
- More docs cleanup by @Andrew-S-Rosen in #2272
- Update workflows.md by @Andrew-S-Rosen in #2273
- Check for atomate2 before running MP tests by @Andrew-S-Rosen in #2278
- Fix multithreading issues with settings management by @Andrew-S-Rosen in #2276
- Add support for dynamically changing settings with an activated workflow engine (v2) by @Andrew-S-Rosen in #2277
- Slight refactoring of settings by @Andrew-S-Rosen in #2279
- Further support for double application of
settings_swap
by @Andrew-S-Rosen in #2281 - Bump phonopy from 2.24.2 to 2.24.3 by @dependabot in #2282
- Bump parsl[monitoring] from 2024.6.10 to 2024.6.17 by @dependabot in #2283
- Bump dask[distributed] from 2024.6.0 to 2024.6.1 by @dependabot in #2284
- updating contributors.md by @honghuikim in #2286
- Update codes.md by @Andrew-S-Rosen in #2287
- Bump maggma from 0.68.4 to 0.68.5 by @dependabot in #2288
- Update test groups by @Andrew-S-Rosen in #2289
- Update test groups by @Andrew-S-Rosen in #2290
- Add a dedicated MP test runner by @Andrew-S-Rosen in #2291
- Update settings.md by @Andrew-S-Rosen in #2292
- Replace
__changed__
with_changed
by @Andrew-S-Rosen in #2293 - Bump maggma from 0.68.5 to 0.68.6 by @dependabot in #2294
- Bump dask[distributed] from 2024.6.1 to 2024.6.2 by @dependabot in #2295
- Remove deprecated
mace
method by @Andrew-S-Rosen in #2298 - job patterns for partitioning lists and mapping onto them by @zulissimeta in #2297
- Bump prefect[dask] from 2.19.5 to 2.19.6 by @dependabot in #2303
- Bump pydantic-settings from 2.3.3 to 2.3.4 by @dependabot in #2304
- Bump mace-torch from 0.3.4 to 0.3.5 by @dependabot in #2305
- Bump custodian from 2024.4.18 to 2024.6.24 by @dependabot in #2307
- Warn users about a future breaking change to
relax_cell
in VASP recipes by @Andrew-S-Rosen in #2299 - Bump parsl[monitoring] from 2024.6.17 to 2024.6.24 by @dependabot in #2309
- Implement MD workflows by @tomdemeyere in #1672
- Bump jobflow-remote from 0.1.1 to 0.1.2 by @dependabot in #2311
- Bump prefect[dask] from 2.19.6 to 2.19.7 by @dependabot in #2312
- Bump redun from 0.19.5 to 0.21.0 by @dependabot in #2313
- Address some mypy type hinting issues by @AitElBadaoui in #2314
- Update default type handling by @Andrew-S-Rosen in #2315
- Move a bunch of custom types into types.py by @Andrew-S-Rosen in #2316
- Migrate custom types to types.py by @Andrew-S-Rosen in #2317
- fix mypy issues for espresso recipes by @AitElBadaoui in #2318
- Bump pydantic from 2.7.4 to 2.8.0 by @dependabot in #2319
- Bump phonopy from 2.24.3 to 2.25.0 by @dependabot in #2320
- Bump maggma from 0.68.6 to 0.69.0 by @dependabot in #2321
- pre-commit autoupdate by @pre-commit-ci in #2322
- Update numpy in pyproject.toml by @Andrew-S-Rosen in #2325
New Contributors
- @honghuikim made their first contribution in #2286
- @AitElBadaoui made their first contribution in #2314
Full Changelog: v0.9.5...v0.9.6
v0.9.5
Changes
Changed
- Pinned numpy as <2.0... for now
What's Changed
- Update mkdocs.yml by @Andrew-S-Rosen in #2261
- More robust jobflow conftest by @Andrew-S-Rosen in #2262
Full Changelog: v0.9.4...v0.9.5
v0.9.4
[0.9.4.]
Added
- VASP: Added a new logging statement to specifically highlight which parameters were swapped, not just which recommendations were made
Changed
- VASP: Removed EFERMI="midgap" automatic INCAR swap since it does not influence the results and prevents VASP 5.x compatibility. This should not impact most users since the presets have "midgap" set by default and even if the user did not do so, the emmet-based schemas automatically handles efermi handling.
Fixed
- Fixed MD5-based
Atoms
hashing to work on FIPS-encrypted OSs
What's Changed
- Refactor the runners some more by @Andrew-S-Rosen in #2238
- Bump maggma from 0.67.0 to 0.68.4 by @dependabot in #2239
- Bump pydantic-settings from 2.3.1 to 2.3.2 by @dependabot in #2241
- Bump pydantic from 2.7.3 to 2.7.4 by @dependabot in #2243
- Update init.py by @Andrew-S-Rosen in #2245
- Add a prefect test by @Andrew-S-Rosen in #2246
- Rename phonopy reqs by @Andrew-S-Rosen in #2248
- Remove efermi handling by @Andrew-S-Rosen in #2249
- Improve VASP logging by @Andrew-S-Rosen in #2250
- Bump prefect[dask] from 2.19.4 to 2.19.5 by @dependabot in #2252
- Bump dask[distributed] from 2024.5.2 to 2024.6.0 by @dependabot in #2251
- Bump pydantic-settings from 2.3.2 to 2.3.3 by @dependabot in #2253
- Fix Q-Chem type hint by @Andrew-S-Rosen in #2254
- Minor cleanup of
run_opt
by @Andrew-S-Rosen in #2255 - Add more mutability tests by @Andrew-S-Rosen in #2256
- Fix MD5 hash for FIPS encryption compatability by @Andrew-S-Rosen in #2258
Full Changelog: v0.9.3...v0.9.4
v0.9.3
[0.9.3]
Changed
- Update the default
shear_strain
value inquacc.atoms.defects.make_deformations_from_bulk
to match that of Pymatgen - Internal refactoring of the runners to be class-based
Fixed
- Fixed an issue where the
Atoms
object in the output schema could get a stray calculator attached to it when passed between@job
s
What's Changed
- Bump shakenbreak from 3.3.4 to 3.3.5 by @dependabot in #2219
- Restrict Prefect version range by @Andrew-S-Rosen in #2222
- Revert PR that slowed down Covalent tests by @Andrew-S-Rosen in #2224
- Bump matgl by @Andrew-S-Rosen in #2225
- Bump phonopy from 2.23.1 to 2.24.2 by @dependabot in #2227
- Bump covalent from 0.235.0rc0 to 0.235.1rc0 by @dependabot in #2228
- Strip calculator off
trajectory
in output schema by @Andrew-S-Rosen in #2229 - Bump parsl[monitoring] from 2024.6.3 to 2024.6.10 by @dependabot in #2231
- Bump pymatgen from 2024.6.4 to 2024.6.10 by @dependabot in #2232
- Fix a small typo in elastic by @superstar54 in #2233
- Refactor runners into classes by @Andrew-S-Rosen in #2020
- Get rid of
.traj_atoms
hack by @Andrew-S-Rosen in #2235 - Slight refactor of runners by @Andrew-S-Rosen in #2234
- Update .pre-commit-config.yaml by @Andrew-S-Rosen in #2236
- Update phonons.py by @Andrew-S-Rosen in #2237
New Contributors
- @superstar54 made their first contribution in #2233
Full Changelog: v0.9.2...v0.9.3
v0.9.2
[0.9.2]
Added
- Added support for controlling which properties to calculate with MLP static jobs
Changed
- Bumped minimum version of pymatgen
What's Changed
- Fix
validate_espresso_parallel_cmd
type hint by @Andrew-S-Rosen in #2198 - Bump dask[distributed] from 2024.5.1 to 2024.5.2 by @dependabot in #2202
- add PARSL_MPI_PREFIX as prefix by @tomdemeyere in #2197
- pre-commit autoupdate by @pre-commit-ci in #2204
- Bump pydantic-settings from 2.2.1 to 2.3.0 by @dependabot in #2205
- Bump pydantic from 2.7.2 to 2.7.3 by @dependabot in #2206
- Bump parsl[monitoring] from 2024.5.27 to 2024.6.3 by @dependabot in #2210
- Bump prefect[dask] from 2.19.3 to 2.19.4 by @dependabot in #2211
- minor cleanup by @Andrew-S-Rosen in #2213
- Fix type hint by @Andrew-S-Rosen in #2214
- Bump chgnet from 0.3.5 to 0.3.8 by @dependabot in #2215
- Bump pydantic-settings from 2.3.0 to 2.3.1 by @dependabot in #2216
- Bump shakenbreak from 3.3.3 to 3.3.4 by @dependabot in #2217
- Bump pymatgen from 2024.5.1 to 2024.5.31 by @dependabot in #2196
- Bump pymatgen from 2024.5.1 to 2024.6.4 by @dependabot in #2212
- Support in run_calcs for models that implement arbitrary properties, and support for MLPs that don't have forces by @zulissimeta in #2218
New Contributors
- @zulissimeta made their first contribution in #2218
Full Changelog: v0.9.1...v0.9.2
v0.9.1: The "about time" release
[0.9.1]
Summary
This release coincides with ASE 3.23.0! No more needing to install ASE from master
. The future is here!
Changelog
Changed
- No longer need to install
master
branch of ASE - Modified Espresso and ONETEP settings to support new ASE profile features
- Removed
nsteps
from theOptSchema
PRs
- Update
Optimizer.todict()
call in ASE opt schema by @Andrew-S-Rosen in #2177 - Clean up import checks by @Andrew-S-Rosen in #2179
- Minor cleanup by @Andrew-S-Rosen in #2180
- Minor cleanup of newtonnet TS recipe by @Andrew-S-Rosen in #2181
- Remove unnecessary fixtures by @Andrew-S-Rosen in #2182
- Bump shakenbreak from 3.3.1 to 3.3.3 by @dependabot in #2155
- Bump monty from 2024.5.15 to 2024.5.24 by @dependabot in #2183
- Bump parsl[monitoring] from 2024.5.20 to 2024.5.27 by @dependabot in #2186
- Bump redun from 0.17.0 to 0.19.5 by @dependabot in #2185
- Bump pydantic from 2.7.1 to 2.7.2 by @dependabot in #2187
- Fix
copy_files
support with Parsl by @Andrew-S-Rosen in #1942 - Fix Parsl imports in test suite by @Andrew-S-Rosen in #2189
- Use
command
inOrcaProfile
by @Andrew-S-Rosen in #2190 - Bump covalent from 0.234.1-rc.0 to 0.235.0rc0 by @dependabot in #2191
- Bump prefect[dask] from 2.19.2 to 2.19.3 by @dependabot in #2192
- Add support for new ASE profile format by @Andrew-S-Rosen in #2061
- Bump for ASE 3.23.0 by @Andrew-S-Rosen in #2195
Full Changelog: v0.9.0...v0.9.1
v0.9.0
[0.9.0]
Added
- The
RESULTS_DIR
andSCRATCH_DIR
settings can now be relative paths, if desired
Changed
- The default
RESULTS_DIR
is nowPath()
(relative) instead ofPath.cwd()
(absolute) - Failed calculations are now stored in a
failed-quacc-12345-
directory to distinguish these tasks from the running tasks intmp-quacc-12345-
- The output schema is now written to a serialized JSON file instead of pickle for security and ease-of-use reasons. It can be rehydrated via
loadfn("quacc_results.json.gz")
whereloadfn
is frommonty.serialization import loadfn
- The
fmax
attribute was moved from the base level to theparameters_opt
section since it is an input parameter
Fixed
- File shuttling after a completed calculation is now faster since we simply rename the directory instead of moving each individual file
What's Changed
- Bump pymatgen-analysis-defects from 2024.4.23 to 2024.5.11 by @dependabot in #2135
- Slight cleanup of QMOF recipe by @Andrew-S-Rosen in #2136
- Clean up
customize_funcs
by @Andrew-S-Rosen in #2137 - Clean up of Espresso flow internals by @Andrew-S-Rosen in #2140
- Bump prefect from 2.18.3 to 2.19.0 by @dependabot in #2143
- Bump maggma from 0.66.0 to 0.67.0 by @dependabot in #2142
- Update pyproject.toml by @Andrew-S-Rosen in #2144
- Update settings.md by @Andrew-S-Rosen in #2148
- Update sella by @Andrew-S-Rosen in #2149
- Store failed calculations with a dedicated naming scheme by @Andrew-S-Rosen in #2151
- Bump parsl[monitoring] from 2024.5.6 to 2024.5.13 by @dependabot in #2153
- Bump monty from 2024.4.17 to 2024.5.15 by @dependabot in #2154
- Bump sella by @Andrew-S-Rosen in #2157
- [BREAKING] Write out results to JSON instead of pickle by @Andrew-S-Rosen in #2025
- Update fmax in schema by @Andrew-S-Rosen in #2158
- Update install.md by @Andrew-S-Rosen in #2161
- Bump dask[distributed] from 2024.5.0 to 2024.5.1 by @dependabot in #2164
- Bump prefect[dask] from 2.19.0 to 2.19.1 by @dependabot in #2165
- Remove restriction on absolute paths for RESULTS and SCRATCH directories by @Andrew-S-Rosen in #2160
- Move imports for defects by @Andrew-S-Rosen in #2169
- Update phonopy @requires by @Andrew-S-Rosen in #2170
- Update psi4 @requires by @Andrew-S-Rosen in #2171
- Update openbabel requires by @Andrew-S-Rosen in #2172
- Update phonopy requires by @Andrew-S-Rosen in #2173
- Bump parsl[monitoring] from 2024.5.13 to 2024.5.20 by @dependabot in #2174
- Bump prefect[dask] from 2.19.1 to 2.19.2 by @dependabot in #2175
Full Changelog: v0.8.0...v0.9.0
v0.8.0
[0.8.0]
Added
- Added a context handler,
quacc.settings.change_settings
, that can be used to modify global settings temporarily - Added
quacc.calculators.vasp.params.MPtoASEConverter
to convert between Pymatgen- and Atomate2-style input parameters to ASE-compatabile parameters
Fixed
- Fixed copying of WAVECAR between steps of the QMOF recipes
Changed
- Overhauled the MP recipes to ensure better compatability with atomate2 workflows
- The workflow engine must be directly specified with
WORKFLOW_ENGINE
, as noted in the docs - Changed
VASP_MAG_CUTOFF
from 0.05 to 0.02 - Removed the
preset
keyword argument from the QMOF recipes
Removed
- Removed the
pmg_input_set
keyword argument from theVasp
calculator
What's Changed
- Update Covalent by @Andrew-S-Rosen in #2111
- Don't pin python 3.13 by @Andrew-S-Rosen in #2113
- Update pyproject.toml to have a more specific ASE version by @Andrew-S-Rosen in #2112
- Fix copying of WAVECAR in QMOF recipes by @Andrew-S-Rosen in #2118
- Clean up module by @Andrew-S-Rosen in #2121
- Breaking: Don't try to auto-detect the workflow engine by @Andrew-S-Rosen in #2124
- Change
VASP_MAG_CUTOFF
from 0.05 to 0.02 by @Andrew-S-Rosen in #2125 - Remove warning from QMOF recipe by @Andrew-S-Rosen in #2126
- Add support for setting changes with a context handler by @Andrew-S-Rosen in #2127
- Fix the MLP tests by @Andrew-S-Rosen in #2120
- Remove unused test function by @Andrew-S-Rosen in #2130
- Increase robustness of MP settings by @Andrew-S-Rosen in #2123
- Add a small test by @Andrew-S-Rosen in #2133
Full Changelog: v0.7.8...v0.8.0
v0.7.8
[0.7.8]
Added
- Added support for Parsl "special" keyword arguments (e.g.
timeout
,parsl_resource_specification
)
Fixed
- Fixed bug where the common phonon subflow would generate a
Phonopy
object based on the unrelaxed, rather than relaxed, structure - Sped up the common phonon subflow by removing duplicate
get_phonopy()
calls