June 2026
What's Changed
- (GA) Implement abstract class and update dependencies by @guidoagapito in #211
Full Changelog: v1.4.3...v1.5.0
Details
This pull request introduces several improvements and updates across the TIPTOP example scripts, dependency management, and benchmarking capabilities. The main changes include standardizing the initialization and working directory setup in all example scripts and notebooks, updating dependencies to newer versions, and adding a new benchmarking script for performance and regression testing. Additionally, there are some code cleanups and minor improvements in the high-order asterism simulation logic.
Key changes:
AbstractSimulation
*Added a new AbstractSimulation class, which serves as the base class for baseSimulation.
Benchmarking and Performance Testing:
- Added a new script
scripts/benchmark_tiptop.pythat benchmarks simulation performance across different configurations, reports results in both ASCII table and JSON formats, and collects system information including GPU status.
High-Order Asterism Simulation Refactoring:
- Refactored
tiptop/asterismSimulationHo.pyto clean up imports, remove unused dataclasses, clarify docstrings, and improve error handling and logging in the configuration of high-order asterisms.
Dynamic Path Handling
- Replaced hardcoded relative paths (e.g.,
"tiptop/astTest") with dynamically constructed paths usingPathobjects based on the package's installation location inERIS_Asterism.py,MAVIS_Asterism.py,TIPTOP-AST-EXAMPLE-MAVIS.ipynb, andTIPTOP-AST-GEN-RECARRAY.ipynb. This makes the examples portable and less dependent on the current working directory.
Dependency Updates:
- Updated the minimum required versions of
astro-p3to1.6.1andmastselto1.5.1inpyproject.tomlfor improved compatibility and bug fixes.
Other minor updates include notebook metadata adjustments, code cleanup, and improved output formatting in notebooks.