Changelog
Changelog
All notable changes to light-curve-python will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
Periodogramnow accepts aphase_featuresargument: features extracted from the light curve phase-folded at the best period (#701).- New feature
Chi2Pvar: probability of variability from the chi-squared test (#701). - New feature
LaflerKinmanStringLength: smoothness of the light curve (#701).
Changed
- Breaking Underlying
nuts-rscrate has updated, so specific non-linear optimization results may change https://github.com/light-curve/light-curve-python/pull/701
Deprecated
--
Removed
--
Fixed
--
Security
--
[0.12.3] 2026-05-14
Added
- New experimental
light_curve.embedmodule with ONNX-backed light-curve embedding models (#692):Astromer1andAstromer2— transformer encoders pretrained on MACHO light curves (Donoso-Oliva et al. 2023/2026). Load directly from HuggingFace withAstromer1.from_hf()/Astromer2.from_hf().ATCAT— multiband transformer pretrained on LSST-like light curves (Tung 2025, arXiv:2511.00614). Load withATCAT.from_hf().NonOverlappingWindows,Beginning,End,RandomSubsample,MultipleReductions— strategies for mapping variable-length light curves to fixed-length model inputs.InputTensors/AstromerInputs/ATCATInputs— typed dataclass containers for preprocessed tensors.
[0.12.2] 2026-05-09
Changed
- Development and test dependencies are moved from project extras to
dependency-groupsinpyproject.toml, so only user-facing optional dependencies are exposed as extras.
Fixed
- Fixed segmentation fault when using
pyarrow24 on macOS (#694)
[0.12.1] 2026-04-09
Changed
- Windows PyPI wheels now include Ceres and GSL support, enabled via vcpkg https://github.com/light-curve/light-curve-python/pull/661
[0.12.0] 2026-03-24
Added
BazinFit,LinexpFit, andVillarFitgainednuts,nuts-ceres, andnuts-lmsderalgorithms using NUTS (No-U-Turn Sampler) for gradient-based Hamiltonian Monte Carlo optimization. Newnuts_ntuneandnuts_niterparameters control the number of tuning and drawing iterations respectively https://github.com/light-curve/light-curve-python/pull/635
Changed
- API breaking:
.many()now requiresarrow_fieldsargument when called with an Arrow array. Pass a list of 2 or 3 field names (str) or indices (int) to selectt,m, and optionallysigmafrom the struct https://github.com/light-curve/light-curve-python/pull/632 - Bump
light-curve-featureto 0.13.0,randto 0.10,rand_xoshiroto 0.8 https://github.com/light-curve/light-curve-python/pull/648 - Build breaking: Minimum supported Rust version (MSRV) bumped from 1.85 to 1.88 https://github.com/light-curve/light-curve-python/pull/648
Deprecated
--
Removed
--
Fixed
.many(arrow_array)now checks for nulls, and raises an error if any nulls presented. Previously we used all the values, even masked, which may cause unexpected results https://github.com/light-curve/light-curve-python/pull/629
Security
--
[0.11.1] 2026-02-16
Added
- Arrow input support for
.many(): pass aList<Struct<t, m[, sigma]>>Arrow array (or chunked array) instead of a list of tuples. Works with any library implementing the Arrow C Data Interface, including pyarrow, polars, nanoarrow, and arro3. Two struct fields means(t, m)without sigma, three fields means(t, m, sigma). Field names are ignored; all fields must share the same float dtype (float32 or float64). https://github.com/light-curve/light-curve-python/pull/621
[0.11.0] 2026-02-12
Added
Periodogramnow accepts anormalizationparameter ('psd','standard','model','log') affectingpower()andfreq_power()outputs. Default is'psd'(unchanged behavior). The'standard','model', and'log'normalizations are consistent with astropy'sLombScargle.
Changed
- PyPI wheels changes:
- Minimum supported Python version bumped from 3.9 to 3.10 https://github.com/light-curve/light-curve-python/pull/614
- Linux x86_64 wheels continue to ship with Intel MKL, for its FFT implementation, which is used by
Periodogram(fast=True). All other platforms (macOS, Windows, Linux aarch64) now use RustFFT instead of FFTW for FFT. https://github.com/light-curve/light-curve-python/pull/612
- Breaking Build: Default ABI3 Cargo feature flag now enables Python 3.10 instead of Python 3.9 https://github.com/light-curve/light-curve-python/pull/614
- Breaking Build:
fftw-source(default),fftw-system, andfftw-mklCargo features are replaced with a single optionalmklfeature. The default FFT backend for the fast periodogram is now RustFFT (pure Rust, no C dependencies). Enable themklfeature to use FFTW with Intel MKL instead, recommended for Intel CPUs. https://github.com/light-curve/light-curve-python/pull/612 - Bump
light-curve-featureto 0.12.0 https://github.com/light-curve/light-curve-python/pull/611 https://github.com/light-curve/light-curve-python/pull/613 - Bump
light-curve-dmdtto 0.9.0 https://github.com/light-curve/light-curve-python/pull/611 - Bump
pyO3andrust-numpyfrom 0.28.0 https://github.com/light-curve/light-curve-python/pull/611
Removed
- Breaking Build
fftw-source,fftw-system, andfftw-mklCargo features, replaced by optionalmklfeature
[0.10.5] 2025-11-26
Changed
- Bump
pyO3andrust-numpyfrom 0.25.0 to 0.27.0: introduce Python build 3.14/3.14t support https://github.com/light-curve/light-curve-python/pull/553 https://github.com/light-curve/light-curve-python/pull/590 - Breaking macOS x86_64 binary wheel now requires macOS 15 instead of 13 https://github.com/light-curve/light-curve-python/issues/587
Fixed
- A problem with pickling of
Periodogramwhich caused wrong results from.powerand.freq_powerfor a deserialized object https://github.com/light-curve/light-curve-python/pull/532
[0.10.4] 2025-06-11
Added
- Periodogram(freqs: ArrayLike | None = None) is added to set fixed user-defined frequency grids https://github.com/light-curve/light-curve-python/pull/528
Periodogram.powermethod https://github.com/light-curve/light-curve-python/pull/529
Changed
- Bump
light-curve-featureto 0.10.0
[0.10.3] 2025-05-22
Added
- Mark the module as no-GIL, which enables free-threaded Python (can be built from source, not provided so far via PyPI/conda) https://github.com/light-curve/light-curve-python/pull/499
- Allow non-numpy inputs and casting mismatched f32 arrays to f64 for the feature extractions with newly added
cast: bool = Falseargument. We plan to change the default value toTruein a future 0.x version. https://github.com/light-curve/light-curve-python/issues/509 https://github.com/light-curve/light-curve-python/pull/512
Changed
- PyPI wheels change: bump Musl PyPI wheels compatibility from musllinux 1.1 to 1.2 https://github.com/light-curve/light-curve-python/pull/503
- Build breaking: minimum supported Rust version (MSRV) is changed from 1.67 to 1.85 https://github.com/light-curve/light-curve-python/pull/516
- We also migrated from Rust edition 2021 to 2024 https://github.com/light-curve/light-curve-python/pull/516
- Bump both
PyO3andrust-numpyto v0.25 https://github.com/light-curve/light-curve-python/pull/499 https://github.com/light-curve/light-curve-python/pull/520 - Bump
light-curve-featureto v0.9.0
Fixed
- Fix error messages for invalid inputs https://github.com/light-curve/light-curve-python/issues/505 https://github.com/light-curve/light-curve-python/pull/510
[0.10.2] 2025-03-25
Fixed
- Restored minimum supported Rust version (MSRV) compatibility for v1.67+
[0.10.1] 2025-03-25 (DELETED)
Release is deleted from PyPI and has never been released on conda-forge. The reason is a bug fixed in 0.10.2.
Changed
- Experimental Feature Breaking: change parameter limits for Rainbow https://github.com/light-curve/light-curve-python/pull/494
Removed
- We stop building PPC64le wheels in CI and publishing them to PyPI https://github.com/light-curve/light-curve-python/issues/479 https://github.com/light-curve/light-curve-python/pull/480
Fixed
- Rainbow multi-band scaler didn't work with list inputs https://github.com/light-curve/light-curve-python/issues/492 https://github.com/light-curve/light-curve-python/pull/493
[0.10.0] 2025-01-07
Changed
- Breaking macOS x86_64 binary wheel now requires macOS 13 instead of 12 https://github.com/light-curve/light-curve-python/issues/437 https://github.com/light-curve/light-curve-python/pull/446
- Breaking Minimum supported Python version is 3.9 due to
rust-numpy0.23 requirement - Default ABI3 version is also bumped to 3.9
- Bump
pyO3to 0.23, which should potentially support free-threading, butrust-numpystill doesn't https://github.com/light-curve/light-curve-python/pull/457 - Bump
rust-numpyto 0.23, should potentially bring a betternumpyv2 support https://github.com/light-curve/light-curve-python/pull/457 - Bump
ndarrayto 0.16 https://github.com/light-curve/light-curve-python/pull/458 - Bump
light-curve-featureto 0.8.0 https://github.com/light-curve/light-curve-python/pull/458 - Bump
light-curve-dmdtto 0.8.0 https://github.com/light-curve/light-curve-python/pull/458
Fixed
pyproject.toml: movetool.setuptools.dynamictoproject.dynamicwhich fixes build withmaturinv1.8.x https://github.com/light-curve/light-curve-python/pull/467
[0.9.6] 2024-10-01
Changed
LinexpBolometricTermforRainbowchanged to clip negative values to zero https://github.com/light-curve/light-curve-python/pull/430
[0.9.5] 2024-09-20
Added
- More variants of temperature and bollometric functions for
RainbowFithttps://github.com/light-curve/light-curve-python/pull/411
Changed
- Change boundary conditions for
RainbowFithttps://github.com/light-curve/light-curve-python/pull/414
Fixed
- Package import doesn't fail if
scipyis missed https://github.com/light-curve/light-curve-python/pull/422
[0.9.4] 2024-09-11
Changed
- Experimental Rainbow fit features use maximum likelihood cost function instead of least squares https://github.com/light-curve/light-curve-python/pull/407
[0.9.3] 2024-06-17
Fixed
- Small bug fix in MagnitudeNNotDetBeforeFd for numpy v2.0 compatibility https://github.com/light-curve/light-curve-python/pull/383
[0.9.2] 2024-06-05
Added
Romsfeature implemented in Rust https://github.com/light-curve/light-curve-python/pull/362 https://github.com/light-curve/light-curve-python/issues/356
Fixed
- PyPI wheels used to have wrong platform tags, actual minimum macOS versions are those used at CI: 12.0+ for x86_64 and 14.0+ for arm64. https://github.com/light-curve/light-curve-python/issues/376 https://github.com/light-curve/light-curve-python/pull/378
[0.9.1] 2024-04-23
Added
PeakToPeakVarexperimental feature https://github.com/light-curve/light-curve-python/pull/332
Changed
- Bump
pyO3to 0.21 - Bump
rust-numpyto 0.21 - "abi3" is a default Cargo feature now
Removed
- Stop publishing PyPy wheels to PyPI. We still publish all CPython wheels we published previously https://github.com/light-curve/light-curve-python/issues/345 https://github.com/light-curve/light-curve-python/pull/347
Fixed
- Bug which prevents initialization of Rust's
*Fitfeatures if compiled without Ceres or GSL (our PyPi Windows wheels) https://github.com/light-curve/light-curve-python/issues/343 https://github.com/light-curve/light-curve-python/pull/344
[0.9.0] 2024-03-06
Added
Roms(robust median statistics) experimental feature, a variability index based on the deviation of observations from the median. https://github.com/light-curve/light-curve-python/pull/315 Thanks @GaluTi for their first contribution
Changed
- Breaking
RainbowFitis significantly refactored to make it more flexible for usage of different bolometric and temperature functions. It deletesRainbowRisingFitandRainbowSymmetricFitin favor of a singleRainbowFitfeature. https://github.com/light-curve/light-curve-python/pull/324 - Breaking: stop supporting Python 3.7 https://github.com/light-curve/light-curve-python/pull/282
- We stop distributing CPython wheels for specific Python versions, now we distribute ABI3 wheels which are compatible with all future Python versions
Deprecated
--
Removed
- Build breaking:
abi311Cargo feature is removed, now we plan to haveabi3feature only, which would correspond to the minimum supported Python version. Feel free to usepyo3/abi3..features directly for newer ABI versions.
Fixed
--
Security
--
[0.8.2] 2024-02-27
Added
- New flavour of
RainbowFit:RainbowSymmetricFitwhich will replace bothRainbowFitandRainbowRisingFitin the future. https://github.com/light-curve/light-curve-python/pull/314 Thanks @karpov-sv for their first contribution - New cargo build-time feature,
mimalloc, it is default feature now. When activated, it gives up to 2.9x of performance boost for some "fast" features. https://github.com/light-curve/light-curve-python/pull/302
Changed
- Refactoring of rainbow features, it reduces code duplication and makes it easier to add new variants like
RainbowFitandRainbowRisingFitin the future https://github.com/light-curve/light-curve-python/pull/293 - Another change for
Rainbowfeatures is changingminuitoptimization parameters https://github.com/light-curve/light-curve-python/pull/314 - Build breaking: bump
light-curve-featureto v0.7.0, which requires ceres-solver v2.2 forceres-systemCargo feature.
Fixed
RainbowFitandRainbowRisingFitinitial guesses for baseline fluxes are now consistent with limits. We also use band information to make initial guesses and limits more accurate. Note, that this change leads to different results comparing to previous versions. https://github.com/light-curve/light-curve-python/pull/293
[0.8.1] 2023-11-30
Added
RainbowRisingFitexperimental feature, https://github.com/light-curve/light-curve-python/pull/278 by @erusseil
[0.8.0] 2023-09-20
Added
- Breaking change in experimental features: Multiband support is introduced for features implemented in Python. It changes class inheritance interface in a backward-incompatible way
light-curve[full]extras which installs all optional Python dependencies required by experimental features- New
LinexpFitfeature for parametric model fit comes withlight-curve-featurev0.6.0 - Experimental
RainbowFitfeature for fitting multiband light curves with a single model, Russeil+23 in prep. It requires Python 3.8 or later because ofiminuitdependency - Optional
iminuit>=2,<3Python dependency (included into[full]) forRainbowFitfeature - Add
once_cellv1 dependency
Changed
- Breaking change in experimental features
scipydependency is now optional for experimental features implemented in Python - Breaking change in experimental features: All experimental features implemented in Python require keyword-only arguments in their constructors. Also, all names of the arguments are changed to be the same as for Rust features
- Build breaking: "abi3-py310" Cargo feature is replaced with "abi3-py311". "abi3" feature is now linked to " abi3-py311" feature. This is because our aim with ABI is to support future versions of Python
- Build breaking: minimum supported Rust version (MSRV) is changed from 1.62 to 1.67 (released 2023-01-26)
- Update
*Fitfatures doc-strings to list names of the features they output - Bump
light-curve-feature0.5.5 -> 0.6.0 - Bump
pyO30.18.3 -> 0.19.1, it simplified signature generations for classes https://github.com/light-curve/light-curve-python/pull/230 - Bump
rust-numpy0.18.0 -> 0.19.0 https://github.com/light-curve/light-curve-python/pull/230 - Bump
enum-iterator1.2.0 -> 1.4.1 https://github.com/light-curve/light-curve-python/pull/233 - Bump
thiserror1.0.41 -> 1.0.48 https://github.com/light-curve/light-curve-python/pull/242
[0.7.3] 2023-07-06
Added
- All Rust features got
.to_json()method to serialize their state to JSON string. https://github.com/light-curve/light-curve-python/pull/226 - New special Rust feature
JSONDeserializedFeatureand a helper functionfeature_from_json()to deserialize features from JSON string. https://github.com/light-curve/light-curve-python/pull/226 - Build: "abi3" and "abi3-py310" Cargo features (the least one is enabled by the first one) to build a wheel for CPython 3.10+. This stable ABI wheel is less performant than the regular one, but it is compatible with all future Python versions. See PEP 384 for details. https://github.com/light-curve/light-curve-python/issues/79
Changed
- Build breaking: the only Python build requirement
maturinupdated from v0.14.x to v1.0 https://github.com/light-curve/light-curve-python/pull/216 https://github.com/light-curve/light-curve-python/pull/215 - CI: bump cibuildwheel to 2.13.1 https://github.com/light-curve/light-curve-python/pull/225
- Bump
itertools0.10.5 -> 0.11.0 https://github.com/light-curve/light-curve-python/pull/224 - Bump
pyO30.18.2 -> 0.18.3 https://github.com/light-curve/light-curve-python/pull/207
Fixed
- Building from sdist on x86-64 macOS required manual setting of
$MACOSX_DEPLOYMENT_TARGETto 10.9 or higher. Recentmaturinupdate allowed us to specify it viapyproject.toml
[0.7.2] 2023-04-12
Added
- Feature transformations via
transformconstructor keyword. For most of the features it could accept string with a transformation name such as 'arcsinh' or 'clipped_lg',Trueor 'default' for the default transformation,NoneorFalsefor no transformation https://github.com/light-curve/light-curve-python/issues/184 https://github.com/light-curve/light-curve-python/pull/188 - Binary wheels for x86_64 Windows built with no Ceres nor GSL features https://github.com/light-curve/light-curve-python/issues/12 https://github.com/light-curve/light-curve-python/pull/185
enum-iteratorcrate dependency https://github.com/light-curve/light-curve-python/pull/188- CI: code coverage with
codecovhttps://github.com/light-curve/light-curve-python/pull/197 - Development: now project has extras for testing (
test) and development (dev) https://github.com/light-curve/light-curve-python/pull/197
Changed
- Build breaking: minimum supported Rust version (MSRV) is bump from 1.60 to 1.62
- Bump
light-curve-feature0.5.4 -> 0.5.5 - Bump
pyO30.18.1 -> 0.18.2 - Most of the parametric features have default values for their parameters now, which, due to
pyO3limitations, are not presented in the signatures, but documented in the docstrings. It also makes Python and Rust implementations more consistent https://github.com/light-curve/light-curve-python/issues/194 https://github.com/light-curve/light-curve-python/pull/195 - Development: switch from
pytest-markdowntomarkdown-pytestwhich allowed us to use up-to-date pytest https://github.com/light-curve/light-curve-python/pull/198
Deprecated
BazinFitandVillarFitconstructors will not acceptNoneformcmc_niter,ceres_niter, andlmsder_niterarguments in the future, just do not specify them to use defaults instead. https://github.com/light-curve/light-curve-python/pull/195Periodogramconstructor will not acceptNoneforpeaks,resolution,max_freq_factor,nyquistandfastin the future, just do not specify them to use defaults instead. https://github.com/light-curve/light-curve-python/pull/195
Fixed
Binsfeature had non-optimal lower boundary check for time series length: it checked if it is at least unity for any underlying features. Now it takes underlying feature requirements into account. It was fixed by updatinglight-curve-featureto v0.5.5.
[0.7.1] 2023-03-17
Fixed
- Bug introduced in v0.6.5:
*Fit.model(t, params)wrongly checkedtandparamsarrays to have the same length
[0.7.0] 2023-03-16
Added
BazinFitandVillarFithave gotceresandmcmc-ceresalgorithms using Ceres Solver as a non-linear least squares optimizer.ceresis found to be more robust thanlmsderalgorithm ( available viagslCargo feature) but working roughly twice slower. Ceres can be built from source (ceres-sourceCargo feature, enabled by default inCargo.toml) or linked to system library (ceres-systemCargo feature, enabled for cibuildwheel inpyproject.toml)
Changed
- API breaking: Features'
__call__()signature changed to makesorted=None,check=Trueandfill_value=Nonearguments to be keyword-only - API breaking: Features'
many()signature changed to make all arguments but the firstlcsto be keyword-only - API breaking:
Binsconstructor signature changed to makeoffsetandwindowarguments to be keyword-only. For Rust implementation__getnewargs__is replaced with__getnewargs_ex__. Please note that for the specific case of Python implementation and Python version < 3.10,Binsstill accepts positional arguments - API breaking:
BazinFitandVillarFitconstructor signatures changed to make everything but the firstlcsargument to be keyword-only - API breaking:
Periodogramconstructor signature changed to make all arguments to be keyword-only - API breaking:
DmDtconstructor signature changed to make all arguments butdtanddmto be keyword-only,__getnewargs__is replaced with__getnewargs_ex__.DmDt.from_bordersclass-method constructor has all arguments to be keyword-only - API breaking:
DmDtmethods' signatures changed to make all arguments but data (liket,t, morlcs) to be keyword-only - Build breaking: building with Ceres Solver (
ceres-sourceCargo feature) is now a default, and potentially could break a building pipeline in some cases. If you want to build without Ceres Solver, you need to explicitly disable default features with--no-default-featuresmaturin flag - CI: switch from
macos-11tomacos-latestfor testing - Bump
pyo30.17.3 -> 0.18.1 - Bump
rust-numpy0.17.2 -> 0.18.0
Removed
- Build breaking:
fftw-static,fftw-dynamic,mklCargo features are removed after deprecation in v0.6.2 and replaced withfftw-source,fftw-systemandfftw-mkl.
[0.6.6] 2023-03-17
Fixed
- Bug introduced in v0.6.5:
*Fit.model(t, params)wrongly checkedtandparamsarrays to have the same length
[0.6.5] 2023-02-22
Fixed
- Reduce Rust-Python inter-op cost for numpy arrays significantly. It dropped from ~4 μs per array to ~ 100ns. https://github.com/light-curve/light-curve-python/pull/174
[0.6.4] 2023-01-19
Added
- Initial
copyandpickle(minimum protocol version is 2) support for feature extractors andDmDthttps://github.com/light-curve/light-curve-python/issues/103 https://github.com/light-curve/light-curve-python/pull/145 https://github.com/light-curve/light-curve-python/pull/150 serdev1 andserde-picklev1 Rust dependencies.serde-pickleis an arbitrary choice of a (de) serialization binary format, but it could be useful in the future having a way to inspect Rust structures from Python https://github.com/light-curve/light-curve-python/pull/145
Changed
- Build environment: minimum support Rust version (MSRV) is bumped 1.57 -> 1.60
- Bump
light-curve-dmdt0.6.0 -> 0.7.1
Fixed
BazinFitandVillarFitdocs are clarified for.model()andln_priorusage https://github.com/light-curve/light-curve-python/issues/125 https://github.com/light-curve/light-curve-python/pull/146
[0.6.3] 2022-12-23
No changes, it was accidentally released instead of 0.6.2
[0.6.2] 2022-12-27
OtsuSplitimplementation in Rust https://github.com/light-curve/light-curve-python/issues/120 https://github.com/light-curve/light-curve-python/pull/123
Changed
light-curve-feature0.5.0 -> 0.5.2 https://github.com/light-curve/light-curve-python/pull/123light-curve-dmdt0.5.0 -> 0.6.0pyO30.16.6 -> 0.17.3rust-numpy0.16.2 -> 0.17.2- CI: binary wheels are now built using our
custom manylinux/musllinux images, which include FFTW
library
optimised to use platform-specific SIMD instructions. It should give up to 50% performance gain for
Periodogramat all Linux platforms butx86_64where we use MKL https://github.com/light-curve/light-curve-python/pull/134 - We don't provide binary wheels for Linux i686 anymore, please contact us if you need them https://github.com/light-curve/light-curve-python/pull/134
- wheel build dependency:
maturin0.13.x -> 0.14.x https://github.com/light-curve/light-curve-python/issues/130 https://github.com/light-curve/light-curve-python/pull/135
Deprecated
- cargo features "fftw-dynamic", "fftw-static" and "mkl" are renamed to "fftw-system", "fftw-source" and " fftw-mkl" correspondingly https://github.com/light-curve/light-curve-python/pull/137
Fixed
— fix threshold method in Python according to Rust
implementation https://github.com/light-curve/light-curve-python/pull/123
[0.6.1] 2022-11-01
Added
- CI: Python 3.11 binary wheels
Changed
const_format0.2.25 -> 0.2.30itertools0.10.3 -> 0.10.5pyo30.16.5 -> 0.16.6thiserror1.0.31 -> 1.0.37- wheel build dependency:
maturin0.12.x -> 0.13.x - CI:
macos-10.15GitHub actions runners are EOL, we switched tomacos-11 - CI:
cibuildwheel2.10.2 -> 2.11.2
Deprecated
—
Removed
—
Fixed
- https://github.com/light-curve/light-curve-python/issues/110 Experimental warning message specifies a class name https://github.com/light-curve/light-curve-python/pull/111
- Support of
setuptoolsv61+
Security
—
[0.6.0] 2022-07-04
Changed
- Breaking: drop Python 3.6 support
- Breaking: minimum supported Rust version (MSRV) 1.56 -> 1.57
light-curve-feature0.4.6 -> 0.5.0, causes MSRV changerust-numpy0.15.1 -> 0.16.2py030.15.1 -> 0.16.3
[0.5.9] 2022-06-15
Added
macro_const0.1.0 dependency
Fixed
- docstring for
manymethod is added to each Rust feature class
[0.5.8] 2022-06-14
Changed
light-curve-feature0.4.5 -> 0.4.6
Fixed
- Minimum supported Rust version 1.56 wasn't actually supported,
light-curve-featureupgrade fixed it
[0.5.7] 2022-06-10
Added
- CI: build Windows w/o GSL
Changed
light-curve-feature0.4.4 -> 0.4.5
Fixed
light-curve-featureupdate fixesNaN value of lnprobproblem with MCMC fit in{Bazin,Villar}Fit
[0.5.6] 2022-06-06
Changed
- Infrastructure: cibuildweel for package publishing
light-curve-feature0.4.1 -> 0.4.4thiserror1.0.24 -> 1.0.31enumflags20.7.4 -> 0.7.5rayon1.5.1 -> 1.5.3pyo30.15.1 -> 0.15.2const_format0.2.22 -> 0.2.24
Fixed
light-curve-featureupdate fixes{Bazin,Villar}Fitoverflow panic- Benchmark and test for
MagnitudePercentageRatio
[0.5.5] 2022-04-05
Added
- Pure-Python implemented features
FluxNNotDetBeforeFdandMagnitudeNNotDetBeforeFd - Pure-Python implemented
OtsuSplit.thresholdmethod
Changed
rust-numpy0.15.0 -> 0.15.1rand0.8.4 -> 0.8.5enumflag20.7.3 -> 0.7.4
[0.5.4] 2021-12-20
Added
ln_priorsubmodule withLnPrior1Dclass and stand-alone functions to construct its instancesln_priorargument forBazinFitandVillarFitconstructors which can be one of:None,strliterals (currently the only useful value is 'hosseinzadeh2020' forVillarFit) orlist[LnPrior1D]Cargo.lockis used to build the release packages and it is added to sdist, all these should make builds more reproducible
Changed
- The project repository was split from Rust crates and moved into https://gituhb.com/light-curve/light-curve-python
- Maturin '>=0.12.15,<0.13' is required
light-curve-dmdtversion 0.5.0
[0.5.3] 2021-12-16
Added
- Python 3.10 support and binary wheels for supported platforms
Changed
- Update
pyo3to 0.15.1 andrust-numpyto 0.15.0
[0.5.2] 2021-12-16
Fixed
- Fix implementation of
OtsuSplit, see issue #150
[0.5.1] 2021-12-15
Added
initandboundsarguments ofBazinFitandVillarFitconstructors
[0.5.0] 2021-12-14
Added
check: bool = Truekeyword argument for__call__andmanymethods of feature classes. It coulb be used to check if input arrays are valid
Changed
gslis a default Cargo feature now, which means that GSL must be installed to build this package by standard Python tools likepip installlight-curve-feature0.3 -> 0.4.1 transition brings MCMC improvements, changing feature names ofBazinFitand significant changes ofVillarFitfeature set
Removed
antifeaturessubmodule of the Rust implementation
[0.4.1] 2021-12-15
Fixed
- Fix implementation of
OtsuSplit, see issue #150
[0.4.0] 2021-11-26
Added
- Pure-Python implemented
OtsuSplitfeature extractor (experimental) - Python snippets in
README.mdare tested, this requirespytest-markdown - A lot of new unit-tests for the pure-Python implementation
- New benchmarks to compare pure-Python and Rust implementations performance
- Publish Linux packages for
aarch64andppc64le
Changed
- The Python package is renamed to
light-curve,light-curve-pythonstill exists as an alias - Pure Python implementation of the most of the features are added, now Rust-implemented features live
in
light_curve_extsub-package, while the Python implementation is inlight_curve_py. Python-implemented feature extractors have an experimental status - Now
dataclasses(for Python 3.6 only) andscipyare required, they are used by the pure-Python implementation maturinversion 0.12
Fixed
- The Rust implemented classes
.__module__wasbuitins, now it islight_curve.light_curve_ext
[0.3.5] 2021-10-27
Changed
- Rust edition 2021
- Minimum supported Rust version is 1.56
- Maturin version 0.11
[0.3.4] 2021-10-18
Fixed
- An exception shouldn't be raised for the case of small time-series length and non-
Nonefill_value
[0.3.3] 2021-10-14
Added
- Support
dtype=np.float32for feature extractors _FeatureEvaluator.many(lcs)method for parallel execution
[0.3.2] 2021-08-30
Changed
- Update
light-curve-featureto0.3.3 __call__docs for features
Fixed
light-curve-feature0.3.3 fixes wrongVillarFitequation
[0.3.1] 2021-08-16
Added
mcmc_niterandlmsder_niterparameters of*Fitfeatures
Changed
- Amd64 PyPI packages are manylinux2014
- PyPI releases compiled with
gslfeature enabled
Deprecated
gslwill become a default feature in future releases
Fixed
*Fitalgorithmparameter was marked as optional in the docstrings
[0.3.0] 2021-08-10
Added
- This
CHANGELOG.mdfile BazinFitis enabledVillarFitfeature
Changed
- Remove
DmDt.point_from_columnarandDmDt.gausses_from_columnar - Update
ndarrayto 0.15.3 andlight-curve-dmdtto 0.4.0 - Update
rust-numpyandpyo3to 0.14 - Update
light-curve-featureto 0.3.1 - Rename
nonlinear-fitCargo feature togsl - Docstrings improvements
[0.2.x] pre 2021-05-31
—
[0.1.x] pre 2020-09-09
—