Releases: ConorMacBride/mcalf
Releases · ConorMacBride/mcalf
MCALF v1.0.0
Breaking changes
- Change default Voigt implementation to
voigt_faddeeva
by @ConorMacBride in #52
To restore the old behaviour, passimpl=mcalf.profiles.voigt.voigt_integrate
to any of the following classes or functions when you use them:mcalf.models.IBIS8542Model
(after initialisation it will remember which to use for fitting and plotting)mcalf.visualisation.plot_ibis8542
mcalf.profiles.voigt.voigt_nobg
mcalf.profiles.voigt.voigt
mcalf.profiles.voigt.double_voigt_nobg
mcalf.profiles.voigt.double_voigt
New features
- Support for changing the Voigt implementation by @ConorMacBride in #51
- Publish pure Python wheels by @ConorMacBride in #53
- Upgrade supported Python versions by @ConorMacBride in #49
Documentation
- Update documentation by @ConorMacBride in #54
Testing/CI
- Revert "Fix for bug in azp template" by @ConorMacBride in #50
Full Changelog: v0.3.0...v1.0.0
MCALF v0.3.0
New features
- Support for Python 3.9 added, with Python 3.6 dropped as well as other dependency version changes. (#42)
- Stationary line core wavelength is recorded in FITS files from
mcalf.models.FitResults.save
. (#47) - MCALF version string is included in
mcalf.models.FitResults.save
files as aVERSION
header in the primary HDU. (#37) - Add MCALF version info string at
mcalf.version.version
, using generated_version.py
, orsetuptools_scm
for dev installs. (#37) - Added classes for managing collections of variable parameters. (#38)
Refactors
- Migrate from deprecated Distutils to Setuptools. (#48)
Documentation
- Include default parameter values in model signatures using features introduced in #38. (#41)
- Add JOSS citation to README and documentation. (#36)
Testing/CI
- Added support for skipping Azure Pipelines runs if a command such as
[skip ci]
is included in the commit message. (#43) - Remove pinned docs dependency versions. (#45)
- Configured a new tox environment
codestyle
that runsflake8
andisort
to check the code style during an Azure Pipelines run. (#46)
Full Changelog: v0.2.1...v0.3.0
MCALF v0.2.1
New features
- Added
random_state
parameter tomcalf.models.IBIS8542Model
, which is passed to thesklearn.neural_network.MLPClassifier
during initialisation of the defaultmcalf.models.IBIS8542Model.neural_network
attribute. This aids reproducibility. Default israndom_state=None
, so same default behaviour as previous versions of MCALF. (#33)
Documentation
- Added example
Working with IBIS data
to Example Gallery, using a real IBIS spectral imaging dataset. A neural network training dataset based on this IBIS dataset is included to demonstrate the classifying capabilities. Pre-computed results for the example are also included. (#31,#32,#34) - Updated
LabellingTutorial.ipynb
example to run as-is with the real IBIS spectral imaging dataset. (#31,#32) - Added example
Using IBIS8542Model
to Example Gallery, using randomly generated data as sample data. (#27) - Added JOSS paper to
/paper/
, and updated.zenodo.json
to match paper title. (#28,#30)
MCALF v0.2.0
New features
- Redesigned all of the plotting functions in
mcalf.visualisation
to be more general and integrate better with matplotlib - Added
mcalf.utils.plot
module with lots of new functions - Added function
mcalf.utils.misc.merge_results
to merge multiple files exported bymcalf.models.FitResults.save
Refactors
- In
mcalf.models
, refactoredmcalf.models.ModelBase
andmcalf.models.IBIS8542Model
to make the base model more general and the IBIS model more specific - In
mcalf.models
, improved handling of default parameters between a model and its parent classes - In
mcalf.models
, moved all classes and functions from submodules intomcalf.models
- In
mcalf.models
, deprecated the inclusion of a prefilter when initialising the model in favor of processing outside of the package, however, the existing functionality remains but a warning is given - Moved functions in
mcalf.profiles
to separatemcalf.profiles.voigt
andmcalf.profiles.gaussian
modules - Removed unused, undocumented and untested skew normal functions from
mcalf.profiles
- Moved functions in
mcalf.utils
to separate submodules - Merged all submodules of
mcalf.visualisation
Documentation
- Docstrings are made more consistent, typos are corrected and more examples are added
- Integrated
sphinx-gallery
package into documentation - Added examples to the example gallery for all functions in
mcalf.visualisation
- Added detailed documentation on running tests on the code
- Added citation for new paper (doi:10.1098/rsta.2020.0171)
- In
mcalf.models
, generated docstrings from replacement strings to improve consistency - In
mcalf.profiles.voigt
, generated docstrings from replacement strings to improve consistency - Added intersphinx mappings to other packages' documentation
- Included private members of
mcalf.models.ModelBase
in subclasses (astropy/sphinx-automodapi#121) - Automatically update the year in documentation
Testing/CI
- Increased test coverage throughout the package
- Using
pytest-mpl
to verify matplotlib figures produced during tests - Migrated testing from Travis CI to Azure Pipelines
- Moved tests from the package root to
mcalf.tests
inside the package source directory to enable testing wheels - Moved details from
setup.py
tosetup.cfg
- Moved testing and documentation dependencies to separate extra requirements sections
- Added custom configuration settings for pytest, coverage and tox
- Using
setuptools_scm
to keep track of package version number and files - Force
mcalf.models.voigt
to not use the C library if running on readthedocs as they do not support building C extensions
MCALF v0.1.1
- Added documentation
- Added tests and code coverage checking
- Added support for Windows
- Added ability to export results to FITS files
- Various minor bug fixes and code improvements
- Migrated from deploying to PyPI using Travis CI to Azure Pipelines such that wheels can be more easily built
- MCALF will be available on conda-forge
MCALF v0.1
This is the first release of MCALF