In general in Python you can find out a lot of information about objects by using "dir". For example,
in Python produces a list of all methods and properties on the object. Then, if you want more information on a method, you can type e.g.
help Bandstructure.evaluate
The best way to explore these things is by using ATK interactively, i.e. just start "atkpython" from the command line (without any script argument), then you can type Python commands manually, like those above, or any other ones that would normally appear in a script. It's a great way to develop a new script, to prototype something. This also allow you to do the "dir" thing above in a cool way: if you type something like
config = nlread("file.nc",BulkConfiguration)[0]
config.
Note where this stops - with a ".". Now, hit the TAB key - and you will see all possible things you can continue this statement with. And it will autocomplete them, if you start typing "e" and hit TAB, you see only two choices: "elements" and "externalPotential". Saves a lot of typing!
Now, the information contained in this is actually given in the
Reference Manual as well, there is no difference, except that with "dir" you also see "hidden" or "private" functionality, methods and properties that the object has, but which we haven't made public yet. These can be utilized for many things, just don't trust them to work 100% the same way in future versions on ATK. It can also be faster to look things up interactively than browse the html manual.