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-upgrade
Once 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-core
entry 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
dict
andlist
keywords from theDict
andList
node 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 aComputer
with theQueryBuilder
. - Small changes in the API of Transport and Scheduler plugins.
- Removal of the
PluginTestCase
class.
If you find any problems with the current refactoring, or any migration steps that are missing, please let us know by opening an issue.