In Development!
A tool to aide upgrades of plugins to new aiida-core versions
To use the command line tool, it is recommended to install via pipx:
$ pipx install aiida-upgradeOnce installed, you can simply run aiida-upgrade on any PATH, which can be a single file or a directory:
$ aiida-upgrade --help
Usage: aiida-upgrade [OPTIONS] PATH
The command line interface of aiida-upgrade.
Options:
--help Show this message and exit.In case PATH is a directory, aiida-upgrade will recursively update all .py files inside that directory.
Currently, aiida-upgrade performs the following code refactoring:
- Look for deprecated
aiida-coreentry points loaded by plugin factories and add thecore.prefix, see the corresponding section in the plugin migration guide. - Similarly, find and correct full deprecated entry point strings e.g.
'aiida.data:structure'. - Remove
dictandlistkeywords from theDictandListnode constructors, respectively. See PR #5165 onaiida-core, which removed the requirement of using these keywords.
Migration steps that are not (yet) supported are:
- Adding the
core.prefix in shell scripts. - Update
'name'to'label'when querying for aComputerwith theQueryBuilder. - Small changes in the API of Transport and Scheduler plugins.
- Removal of the
PluginTestCaseclass.
If you find any problems with the current refactoring, or any migration steps that are missing, please let us know by opening an issue.