Release notes#

Version 0.13.3 (2026-02-10)#

  • Added rough support for DigiEventCircular objects in the event display.

  • New resolution.py and calibration.py modules incorporating some common functions that were previously living in the script area.

  • New script to calculate the EEF for events reconstructed with the different algorithms, disaggregated by cluster size.

  • –max_neighbors option added to the cli interface.

  • eta reconstructions modified to use the centroid for events with more than three pixels.

  • Two parameters added to the eta reconstruction to control the transition from linear to probit reconstruction for two and three pixel events.

  • New suppression step added to accept at most three pixels in a cluster, with the condition that all the pixels are neighbors.

  • Pull requests merged and issues closed:

Version 0.13.2 (2026-02-04)#

Version 0.13.1 (2026-01-30)#

  • Added scripts to calibrate the eta function.

  • Added more command-line options to the cli interface to control the reconstruction with the eta function.

  • Bug fix in the hexagonal beam implementation.

  • Pull requests merged and issues closed:

Version 0.13.0 (2026-01-28)#

  • New command-line interface—this adds the new cli and tasks modules, and removes the old app module, as well as all the application scripts in the bin folder. This is the biggest single change in this release, and has a number of ramifications, with many files and modules affected.

  • New base module, containing a few base classes and utilities for general use, including a TypeProxy class to handle dynamic typing.

  • Major refactoring of the classes in the readout module, mainly for making the signature of the read() method consistent across all types.

  • Refactoring of the source and sensor classes.

  • Sparse readout and all associated data structures (including the event and file io machinery) removed, as deemed un-necessary.

  • pprint module renamed as pretty to avoid confusion with the standard library pprint module.

  • Limiting the pytest target in the ci workflow.

  • Documentation and unit tests updated.

  • General cleanup and linting, with removal of obsolete files such as test_optimize_sim.

  • Pull requests merged and issues closed:

Version 0.12.0 (2025-12-20)#

Version 0.11.0 (2025-11-19)#

  • Major repository restructuring to modernize the package layout and tooling infrastructure.

  • Adoption of the “src” layout for the package.

  • Migrate from a legacy setuptools-based structure to a modern pyproject.toml-based build system.

  • Introduced nox for task automation (testing, linting, documentation building).

  • Rewrote release tooling in tools/release.py with improved version management.

  • Added pytest fixtures in tests/conftest.py for test data handling and matplotlib figure management.

  • Consolidated logging configuration into src/hexsample/logging_.py module.

  • Old setup files removed in favor of an editable install via pip.

  • Old Makefile removed.

  • Documentation sphinx theme changed.

  • __init__.py file cleaned up.

  • Full linting with ruff and pylint.

  • github workflows updated.

  • Pull requests merged and issues closed:

Version 0.10.0 (2025-11-13)#

  • Adding aptapy as a new dependency in both requirements.txt and pyproject.toml.

  • Removing internal modules: hexsample/hist.py, hexsample/modeling.py, hexsample/plot.py and their test files.

  • Updating imports across all test files, source files, and command-line scripts to use aptapy.hist, aptapy.models, and aptapy.plotting.

  • Modified API calls to match aptapy’s interface.

  • Updates CI/CD configuration to use Ubuntu 22.04 and test on Python 3.7 and 3.13.

  • Pull requests merged and issues closed:

Version 0.9.0 (2025-04-30)#

Version 0.8.1 (2023-12-12)#

Version 0.8.0 (2023-12-07)#

Version 0.7.0 (2023-10-25)#

  • Major refactoring of the modeling framework, with no (intentional) modification to the public API.

  • New FitStatus class, refactoring of the FitModelBase class, with fit() and fit_histogram() now class members (as opposed to loose functions in the fitting module).

  • Fit with parameter bounds now supported.

  • Specific class for a double gaussian fit, with sensible initial values.

  • Pull requests merged and issues closed:

Version 0.6.0 (2023-10-19)#

Version 0.5.2 (2023-10-18)#

  • New attempt at compiling the docs on github pages.

Version 0.5.1 (2023-10-18)#

Version 0.5.0 (2023-10-17)#

Version 0.4.0 (2023-10-16)#

  • This is a major rework of the sampling, trigger and digitization facilities allowing for a simulation speedup of almost an order of magnitude, without loss of performance.

  • Digitization machinery refactored in order to avoid working with large sparse arrays (in pixel and minicluster space) full of zeroes.

  • Generation of the noise moved at the end of the digitization process.

  • Hexagonal sampling largely rewritten to avoid the use of numpy.histogram2d.

  • Trigger machinery reworked to accommodate the previous changes.

  • Comparison operator defined for Padding, RegionOfInterest and DigiEvent in order to be able to make strict comparisons between output digi files.

  • Seed for a small utility to compare digi files added.

  • Pull requests merged and issues closed:

Version 0.3.2 (2023-10-16)#

Version 0.3.1 (2023-10-13)#

Version 0.3.0 (2023-10-13)#

Version 0.2.0 (2023-10-12)#

Version 0.1.0 (2023-10-10)#