-------------------------
The first release of lmodule v0.1.0 includes three python classes: ``Module``, ``Spider``, and ``ModuleLoadTest``
The features for Module class include:
- Pass modules to Module class and you can use get_command to retrieve module load command with list of modules
- You can test modules using test_command
- Save modules into a user collection via save and show collection content via describe.
- You can get & test collection via get_collection and test_collection
- Get Lmod version via version
- Check if module is avail via is_avail and avail
- Return a list of user collection via get_user_collections
- Features for Spider class include:
- **get_trees** will return a list of module trees used by spider
- **get_names** will return a list of software names
- **get_modules** will return a list of full canonical module names
- **get_parents** will return a list of parent modules
- **get_all_version** will return a list of versions for a particular software
**ModuleLoadTest** will automate module load test for one or more module trees.
This class include features such as
- testing one or more module trees, by default it resorts to MODULEPATH when testing
- tweak module purge and module --force purge when testing modules
- test modules in login shell, defaults to subshell
- Enable debug to view extra output during the test
- Filter module by software name when testing
- Filter include and exclude module by full canonical module name
- Run test up to a count threshold