This PR refactors the code used for 1) checking the availability of packages, and 2) importing the attributes from Python source files. The new code is fully compatible with Python 2 and 3, and also makes working with loading the attributes from .py files much easier and cleaner.
Merge Checklist
[x] the PR has been reviewed and all comments are resolved
PR Description
This PR refactors the code used for 1) checking the availability of packages, and 2) importing the attributes from Python source files. The new code is fully compatible with Python 2 and 3, and also makes working with loading the attributes from
.py
files much easier and cleaner.Merge Checklist
closes #<issue-number>
to automatically close an issue