Skip to content

dLux 0.12.0

Compare
Choose a tag to compare
@LouisDesdoigts LouisDesdoigts released this 13 Apr 03:21
· 23 commits to main since this release

Alright this is a fairly big one.

High level

Docs overhaul

The entire structure of the documentation has been changed. Docs pages are now build specifically from .md files giving a much finer-grained control over them, and reducing the overall number of files.

The backend of the docs is changed too, with the addition light/dark mode support.

A low-level tutorial has been added.

General usage sections now exist in the full API. There are still some sections that should be expanded upon, but the core stuff is covered.

A series of typos etc have been fixed.

API simplification

This stems from the desire to simplify a series of APIs across the package, primarily the core.model function. It now has two positional arguments, optics and sources. The sources input can either be a single Source object or a list/dict/tuple of Sources. It also no longer supports Filter input since this is not likely to be built for a while and no one can have been using it since it throws an NotImplementedError if you try to.

This has also led to a change in the core.xxx.model methods. They now don't support all of the core.model inputs, but rather only the inputs specific to that class. Check the new docs for details.

This also has led to the deprecation of Scene as it was primarily just a hidden class that was never interacted with and simply added class structure complexity without really bringing any benefit.

Together these changes have also simplified some of the tests - all round good.

optics.proapagte_multi -> optics.propagate

Enhancements

__getattr__ methods: Observation, Source

__getattr__ methods have been added to both the Observation and Source classes.

The same was added to the CompositeAperture class, just not in this specific PR. I mention this here for clarity in the changelog.

Note about parameter raising from sources: Since Scene is now deprecated, parameters from Source objects currently are not raised all the way to Instrument. A slightly more detailed __getattr__ method in Instrument needs to be built, though this is low-priority.

Deprecations

OpticalSystem

Scene

optics.CompoundAperture

Filter (techincally)

Tests

All updated to reflect these changes.

Issues

This PR should fix a large number of issues: #153 #188 #196 #197 #198 #200 #202 #205 #207 #208 #211 #215