The one we've all been waiting for...#1527
Merged
Merged
Conversation
…ect multi-mission changes.
…ion, the required expmaps are now generated by calling a new 'make all expmaps' function in generate.multitelescope. A 'make all images' function was added at the same time.
… now have a telescope argument
… altered the handling of input temperature in black body, specifying that it is a quantity and allowing for one entry per source as well as one overall entry
…the TYPE_CHECKING flag to sourcetools/misc.py to avoid circular import errors from including BaseSource etc. as type hints.
…out circular import errors
…ormally look for config files.
…tries are present
… decorators that can be applied to specific tests so that they only run if the correct backend software are available.
… in utils.py, just to be safe
…mport .... statements should still work in the multi-mission-era
Signed-off-by: David Turner <djturner@umbc.edu>
Signed-off-by: David Turner <djturner@umbc.edu>
… module (if a config file changed for instance). Support for rebuilding the census is also added, and should work in parallel, and hopefully faster in general. Signed-off-by: David Turner <djturner@umbc.edu>
…e-init * Moved XGA from Configure-on-Import to Configure-on-Use via module-level __getattr__, resolving initialization race conditions with the wider ecosystem (e.g., DAXA). * Centralized lazy variable management in xga.utils with an exclusion mechanism for internal variables. * Implemented a high-performance parallel census builder using ProcessPoolExecutor and os.scandir, significantly reducing startup time for large data archives. * Added xga_reinit() to allow mid-session configuration directory switching and cache purging. * Added rebuild_census() providing administrative control for full rebuilds and pruning of dead census entries. * Refactored internal function signatures to break circular dependencies inherent in lazy loading.
Signed-off-by: David Turner <djturner@umbc.edu>
…product-level-imports of LightCurve work, as with other product classes Signed-off-by: David Turner <djturner@umbc.edu>
… rather than fetching declared sources directly from the init. CAUTION THIS IS LIKELY NOT FUNCTIONING RIGHT QUITE YET. Signed-off-by: David Turner <djturner@umbc.edu>
…XA because it doesn't support an environment variable based setting of the config directory yet. Signed-off-by: David Turner <djturner@umbc.edu>
added 17 commits
June 23, 2026 12:31
Signed-off-by: David Turner <djturner@umbc.edu>
Signed-off-by: David Turner <djturner@umbc.edu>
… BaseSource init. This should help with performance. Signed-off-by: David Turner <djturner@umbc.edu>
… file exists on declaration. This is intended to be used by XGA internally in cases like _existing_xga_products, where we can do a listdir on a whole directory to check that files exist, rather than doing repeated os.path.exists calls, which is much slower. Signed-off-by: David Turner <djturner@umbc.edu>
Signed-off-by: David Turner <djturner@umbc.edu>
…zation/reloading of XGA source/sample products. The _existing_xga_products method of BaseSource now uses listdir to store the file names of the contents of the current product directory, then compares to that, with product's own path checking behaviours turned off. Signed-off-by: David Turner <djturner@umbc.edu>
…or faster lookup Signed-off-by: David Turner <djturner@umbc.edu>
…s, for speeeeed Signed-off-by: David Turner <djturner@umbc.edu>
…s, for speeeeed (take two) Signed-off-by: David Turner <djturner@umbc.edu>
…s, for speeeeed (take three) Signed-off-by: David Turner <djturner@umbc.edu>
…itial_products. Should hopefully make it even faster. Signed-off-by: David Turner <djturner@umbc.edu>
…h the Image class (or its subclass) are now lazily loaded, which should hopefully speed up loading large samples even more. Signed-off-by: David Turner <djturner@umbc.edu>
…pectra from AnnularSpectra when their ObsIDs are combined Signed-off-by: David Turner <djturner@umbc.edu>
…ll a Pandas series Signed-off-by: David Turner <djturner@umbc.edu>
…existing_xga_products method of BaseSource Signed-off-by: David Turner <djturner@umbc.edu>
Signed-off-by: David Turner <djturner@umbc.edu>
…corded that I trust. Signed-off-by: David Turner <djturner@umbc.edu>
jessicapilling
approved these changes
Jun 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Finally, this is the PR that will merge multi-mission features into main branch!
The changes are too many to list in this description, but this PR brings a complete refactoring of XGA designed to implement support for telescopes other than XMM - specifically eROSITA and Chandra support has been added here, but the changes we made make it possible to add support for other telescopes fairly easily.