dLux 0.12.0
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 Source
s. 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