Changelog¶
0.8.2 - August 10, 2025¶
✨ Improved¶
Add
versioncommand to camera parser.Update
sdss-cluto2.5.3.
0.8.1 - February 24, 2025¶
⚙️ Engineering¶
Use
uvfor dependency management.Update workflows and RTDs.
0.8.0 - January 16, 2024¶
✨ Improved¶
Cast output
exposure_timeto float.
⚙️ Engineering¶
Lint using
ruff.Update workflows.
Update RTD config and docs building.
0.7.2 - April 27, 2023¶
✨ Improved¶
Improved overwritting of
BSCALEandBZEROfor compressed headers.Cast data to
float32before stacking multiple exposures.
0.7.1 - March 10, 2023¶
✨ Improved¶
Updated to using
sdss-clu 2.0.0.
0.7.1b1 - March 10, 2023¶
✨ Improved¶
Updated to using
sdss-clu 2.0.0b2.
0.7.0 - December 22, 2022¶
💥 Breaking changes¶
Dropped Python 3.7 to allow newer versions of
numpyandscipy.numpyis not explicitely in the requirements and is installed byastropy(see #31).
✨ Improved¶
Compress gzipped FITS file in temporary directory before moving it to the final location.
0.6.3 - June 29, 2022¶
🔧 Fixed¶
Fix the use of
--countwith theexposecommand.#28 Deal with
numpy.asscalarbeing deprecated innumpy1.23. Restrictednumpy<1.22.0to preventastropy4 running along withnumpy1.23.
0.6.2 - June 4, 2022¶
✨ New¶
Adjust dependencies to support Python 3.10
🔧 Fixed¶
Force
sdsstools>=0.5.2to fix the calculation of SJD.
0.6.1 - June 4, 2022¶
✨ Improved¶
Support defining a card in
HeaderModelwith a list(name, value, [comment]), e.g.,header_model.append(("BIASFILE", "/data/bias.fits")).
0.6.0 - June 4, 2022¶
🚀 New¶
#26 The
dirnamein anImageNamernow accepts the{sjd}placeholder which will be filled out with the SDSS-style MJD (as returned by sdsstoolsget_sjd()).
🔧 Fixed¶
Prevent a problem in which if an exposure fails with an uncaught error the listener callback was not removed, which would cause duplicate messages being output in successive exposures.
Try and except when saving exposures to disk.
Fix case in actor when camera fails to return status.
Issues with zero seconds exposure time.
0.5.4 - January 7, 2022¶
🚀 New¶
Allow to list available cameras.
Make expose command unique.
🔧 Fixed¶
Really (I hope) fixed the issue with compressed headers.
0.5.3 - December 14, 2021¶
🚀 New¶
Added a
--countflag to theexposecommand to issue a number of continous exposures.It’s now possible to pass a
-nflag toexposeto se the sequence number of the exposure. Useful when commanding multiple cameras that one wants to keep in sync.
🔧 Fixed¶
Finally (?) fixed the problem of compressed headers not being read by some software like JS9. The solution is a bit of a hack that requires updating the file headers after writing them, but seems to work fine.
0.5.2 - November 24, 2021¶
✨ Improved¶
Add
basecamversion to default header.Prevent isse when multiple cameras try to create the same directory at once.
0.5.1 - August 2, 2021¶
✨ Improved¶
Use
furoandmyst-parserfor the documentation.ImageNamer: allow to reset the sequence number when the directory changes.
0.5.0 - May 16, 2021¶
🚀 New¶
#19
Extensionnow acceptscompression_paramsthat are passed toCompImageHDU.#20 Allow to dynamically add extra HDUs to
Exposure.#21 Allow to pass extra arguments to
_expose_internalfrom the actor command.Make
BaseCamera.notifya public method.#22 Add optional post-process step during exposure.
Add hook to invoke a post-process callback coroutine in the
exposeactor command.Add
get_schemato retrieve the actor schema as a dictionary.
✨ Improved¶
Update CLU to
^1.0.0.
0.4.2 - February 16, 2021¶
🚀 New¶
#16 Use JSONSchema validation for actor keyword datamodel. The datamodel of the actor has been updated. The schema should work for all CLU actors, including
LegacyActoralthough in this case the keywords will be flattened into a list.CardGroupnow accepts string items that are evaluated to default cards.Complete version of the documentation.
✨ Improved¶
#18 Improve notifications during an exposure.
0.4.1 - February 13, 2021¶
🚀 New¶
#13 Add a
WCSCardsmacro that expands into full WCS header information.Allow
MacroCard.macroto returnCardorCardGroup.Allow
HeaderModelto acceptNoneas an item. This is useful to programmatically define cards that in some cases may not be added.
0.4.0 - February 12, 2021¶
🚀 New¶
Cardnow accepts atypeto which to be cast. By defaultautocast=Truewill try to cast the value to the correct type after evaluating.Cardnow accepts a default value to which it reverts if the value cannot be evaluated correctly.Allow re-setting the
ImageNamerbasename dynamically. CallImageNamerwith the camera by default.
✨ Improved¶
Simplify default cards.
Format using
blackand add type hinting to most of the codebase.
0.3.3 - December 7, 2020¶
🔧 Fixed¶
Retag of 0.3.2 with syntax error fixed.
0.3.2 - December 7, 2020¶
🔧 Fixed¶
Do not try to set logger format if it failed to create the file logger.
0.3.1 - October 31, 2020¶
✨ Improved¶
When
verbose=Falseset theStreamHandlerlevel toWARNING.
0.3.0 - August 1, 2020¶
🚀 New¶
#11 Breaking change.
Exposure.writeis now a coroutine and must be awaited if called directly.HDUList.writeto()is run in an executor.
🔧 Fixed¶
When
verbose=Falseset theStreamHandlerlevel toERRORto allow tracebacks.
0.2.0 - July 31, 2020¶
✨ Improved¶
Significant refactor. Most functionality is not affected but things are handled a bit differently, with some simplifications.
Use GitHub Workflows.
🔧 Fixed¶
Fix
CameraWarningwhen used from aCameraSysteminstance.
0.1.1 - January 24, 2020¶
✨ Improved¶
Allow to use
camerasubstitutions inImageNamer.Use asyncio exception handler in
Poller.Create intermediate directories when writing file.
Run
exposure.write()in executor.
0.1.0 - January 20, 2020¶
🚀 New¶
Initial release.