Add an optional attribute to handle updates during atlas downloads #126
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
What is this PR
Atlas download progress is currently handled within a Rich progress indicator, but external libraries do not have access to these updates. This PR adds an optional attribute to
BrainGlobeAtlas
to reference a handler that is updated during atlas downloads. This handler can be given as a function that takes the currently competed and total required bytes to download the given atlas.Why is this PR needed?
Provides access to track real-time atlas download updates by external apps. There may be better ways to provide this functionality...I'm all ears to alternatives.
What does this PR do?
Adds a hook called by
bg-atlasapi
during atlas downloads.References
I am using this handler to update a progress bar in MagellanMapper when downloading atlases through BrainGlobe (see sanderslab/magellanmapper#75).
How has this PR been tested?
Is this a breaking change?
No
Does this PR require an update to the documentation?
Updated the docstrings with the changes. Also added a type hint to the handler to specify its expected parameters.
Checklist: