Parsing as we have done previously will only return the string form of the function, i.e., config.project.data.download == "@download_function". Resolving it, will search for a registered function under the name download_mnist and assign it to the variable so that it can be called like so -
from torch_snippets.registry import parse_and_resolve
import custom_functions
config = parse_and_resolve('config.ini')
config.project.data.download()
Here's the summary in pictures -

config.ini
custom_functions.py
main.py