python-lmfit/python-lmfit.changes
Markéta Machová 03e97688a9 - Update to 1.3.2
* fix typo in restoring a _buildmodel dict (PR #957, Issue #956)
  * fixes for Numpy2 support (PR #959, Issue #958)
  * ensure that correct initial params are used when re-fitting a
    ModeRresult (PR #961, Issue #960)
  * make sure that CompositeModels cannot have a prefix (PR #961,
    Issue #954)
  * now require asteval>=1.0 and uncertainties>=3.2.2
- Fix requirements
- Drop support-numpy-2.patch
- Add lmfit-pr965-asteval.patch gh#lmfit/lmfit-py#965

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-lmfit?expand=0&rev=13
2024-09-05 10:13:46 +00:00

359 lines
17 KiB
Plaintext

-------------------------------------------------------------------
Thu Sep 5 09:41:05 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 1.3.2
* fix typo in restoring a _buildmodel dict (PR #957, Issue #956)
* fixes for Numpy2 support (PR #959, Issue #958)
* ensure that correct initial params are used when re-fitting a
ModeRresult (PR #961, Issue #960)
* make sure that CompositeModels cannot have a prefix (PR #961,
Issue #954)
* now require asteval>=1.0 and uncertainties>=3.2.2
- Fix requirements
- Drop support-numpy-2.patch
- Add lmfit-pr965-asteval.patch gh#lmfit/lmfit-py#965
-------------------------------------------------------------------
Fri Jul 5 03:01:53 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 1.3.1:
* New features:
+ add 'min_rel_change' as optional variable in calculation of confidence
intervals with Model.conf_interval().
+ Model.eval_uncertainty now takes an optional dscale parameter (default
value of 0.01) to set the step size for calculating derivatives
+ add calculation of predicted_interval to Model.eval_uncertainty
* Bug fixes/enhancements:
+ allow Model.eval_uncertainty to be performed with single points for x
independent variables
+ allow Model._parse_param to handle older-style passed-in 'argnames' and
'kwargs' as for variadic function
+ better allow (or re-allow) Model function independent variables / keyword
arguments to be given non-default values at model creation time
+ add form as independent variable for builtin Step, Rectangle, Thermal
Distribution models.
+ use Model._reprstring(long=True) for model Model.__repr__().
+ restore best-fit parameter values for high accuracy values of constrained
values
+ improvement to Model for the difference between Parameter, "independent
variable", and "option".
+ better saving/loading saved states of Model now use dill, have several
cleanups, and are now versioned for future-proofing.
+ fix bug calculating r-squared for fits with weights
+ fix bug in modelresult.eval_uncertainty() after load_modelresult()
+ add test for MinimizerResult.uvars after successful fit
* Maintenance/Deprecations:
+ drop support for Python 3.7
+ fix tests for Python 3.12 and Python 3.13-dev
+ increase minimum numpy verstio to 1.23 and scipy to 1.8.
+ updates for compatibility with numpy 2.0
+ the dill package is now required
- Switch to autosetup macro.
- Add patch support-numpy-2.patch:
* Support numpy 2.0 more thoroughly.
-------------------------------------------------------------------
Mon Aug 21 10:32:37 UTC 2023 - Markéta Machová <mmachova@suse.com>
- Update to 1.2.2
* add create_params function
* add ModelResult.summary() to return many resulting fit statistics
and attributes into a JSON-able dict.
* update tests for latest versions of NumPy and SciPy.
* Coercing of user input data and independent data for Model to
float64 ndarrays is somewhat less aggressive and will not increase
the precision of numpy ndarrays
* improve Model.make_params and create_params to take optional dict
of Parameter attributes
* Outputs of residual functions, including Model._residual, are more
explicitly coerced to 1d-arrays of datatype Float64. This decreases the
expectation for the user-supplied code to return ndarrays, and increases
the tolerance for more “array-like” objects or ndarrays that are not
Float64 or 1-dimensional.
-------------------------------------------------------------------
Fri Jan 13 15:42:09 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to v1.1.0
## New features:
* add Pearson4Model (@lellid; PR #800)
* add SplineModel (PR #804)
* add R^2 rsquared statistic to fit outputs and reports for Model
fits (Issue #803; PR #810)
* add calculation of dely for model components of composite
models (Issue #761; PR #826)
## Bug fixes/enhancements:
* make sure variable spercent is always defined in
params_html_table functions (reported by @MySlientWind; Issue
#768, PR #770)
* always initialize the variables success and covar the
MinimizerResult (reported by Marc W. Pound; PR #771)
* build package following PEP517/PEP518; use pyproject.toml and
setup.cfg; leave setup.py for now (PR #777)
* components used to create a CompositeModel can now have
different independent variables (@Julian-Hochhaus; Discussion
#787; PR #788)
* fixed function definition for StepModel(form='linear'), was not
consistent with the other ones (@matpompili; PR #794)
* fixed height factor for Gaussian2dModel, was not correct
(@matpompili; PR #795)
* for covariances with negative diagonal elements, we set the
covariance to None (PR #813)
* fixed linear mode for RectangleModel (@arunpersaud; Issue #815;
PR #816)
* report correct initial values for parameters with bounds (Issue
#820; PR #821)
* allow recalculation of confidence intervals (@jagerber48; PR
#798)
* include 'residual' in JSON output of ModelResult.dumps
(@mac01021; PR #830)
* supports and is tested against Python 3.11; updated minimum
required version of SciPy, NumPy, and asteval (PR #832)
## Deprecations:
* remove support for Python 3.6 which reached EOL on 2021-12-23
(PR #790)
- Clean check section from extra example
-------------------------------------------------------------------
Tue Dec 28 19:11:00 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to v1.0.3
**Potentially breaking change:**
* argument ``x`` is now required for the ``guess`` method of
Models (Issue #747; PR #748)
To get reasonable estimates for starting values one should
always supply both ``x`` and ``y`` values; in some cases it
would work when only providing ``data`` (i.e., y-values). With
the change above, ``x`` is now required in the ``guess`` method
call, so scripts might need to be updated to explicitly supply
``x``.
**Bug fixes/enhancements:**
* do not overwrite user-specified figure titles in Model.plot()
functions and allow setting with ``title`` keyword argument (PR
#711)
* preserve Parameters subclass in deepcopy (@jenshnielsen; PR
#719)
* coerce ``data`` and ``indepdent_vars`` to NumPy array with
``dtype=float64`` or ``dtype=complex128`` where applicable
(Issues #723 and #728)
* fix collision between parameter names in built-in models and
user-specified parameters (Issue #710 and PR #732)
* correct error message in PolynomialModel (@kremeyer; PR #737)
* improved handling of altered JSON data (Issue #739; PR #740,
reported by Matthew Giammar)
* map ``max_nfev`` to ``maxiter`` when using
``differential_evolution`` (PR #749, reported by Olivier B.)
* correct use of noise versus experimental uncertainty in the
documentation (PR #751, reported by Andrés Zelcer)
* specify return type of ``eval`` method more precisely and allow
for plotting of (Complex)ConstantModel by coercing their
``float``, ``int``, or ``complex`` return value to a
``numpy.ndarray`` (Issue #684 and PR #754)
* fix ``dho`` (Damped Harmonic Oscillator) lineshape (PR #755;
@rayosborn)
* reset ``Minimizer._abort`` to ``False`` before starting a new
fit (Issue #756 and PR #757; @azelcer)
* fix typo in ``guess_from_peak2d`` (@ivan-usovl; PR #758)
**Various:**
* update asteval dependency to >= 0.9.22 to avoid
DeprecationWarnings from NumPy v1.20.0 (PR #707)
* remove incorrectly spelled ``DonaichModel`` and ``donaich``
lineshape, deprecated in version 1.0.1 (PR #707)
* remove occurrences of OrderedDict throughout the code; dict is
order-preserving since Python 3.6 (PR #713)
* update the contributing instructions (PR #718; @martin-majlis)
* (again) defer import of matplotlib to when it is needed
(@zobristnicholas; PR #721)
* fix description of ``name`` argument in ``Parameters.add``
(@kristianmeyerr; PR #725)
* update dependencies, make sure a functional development
environment is installed on Windows (Issue #712)
* use ``setuptools_scm`` for version info instead of
``versioneer`` (PR #729)
* transition to using ``f-strings`` (PR #730)
* mark ``test_manypeaks_speed.py`` as flaky to avoid intermittent
test failures (repeat up to 5 times; PR #745)
* update scipy dependency to >= 1.14.0 (PR #751)
* improvement to output of examples in sphinx-gallery and use
higher resolution figures (PR #753)
* remove deprecated functions ``lmfit.printfuncs.report_errors``
and ``asteval`` argument in ``Parameters`` class (PR #759)
-------------------------------------------------------------------
Wed Feb 17 11:46:57 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to version 1.0.2
* officially supports Python 3.9 and has dropped support for
Python 3.5. The minimum version of the following dependencies
were updated: asteval>=0.9.21, numpy>=1.18, and scipy>=1.3.
New features:
* added two-dimensional Gaussian lineshape and model (PR #642;
@mpmdean)
* all built-in models are now registered in lmfit.models.
lmfit_models; new Model class attribute valid_forms (PR #663;
@rayosborn)
* added a SineModel (PR #676; @lneuhaus)
* add the run_mcmc_kwargs argument to Minimizer.emcee to pass to
the emcee.EnsembleSampler.run_mcmc function (PR #694; @rbnvrw)
- Skip python36 build: Numpy 1.20 dropped support for Python 3.6
(NEP 29)
-------------------------------------------------------------------
Tue Jun 16 08:44:01 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Skip two failing tests that are borked on non 64bit intel
-------------------------------------------------------------------
Mon Jun 8 07:06:22 UTC 2020 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to version 1.0.1
+ New features:
- added thermal distribution model and lineshape (PR #620; @mpmdean)
- introduced a new argument ``max_nfev`` to uniformly specify the maximum
number of function evalutions (PR #610)
**Please note: all other arguments (e.g., ``maxfev``, ``maxiter``, ...)
will no longer be passed to the underlying solver. A warning will be emitted
stating that one should use ``max_nfev``.**
- the attribute ``call_kws`` was added to the ``MinimizerResult`` class and
contains the keyword arguments that are supplied to the solver in SciPy.
+ Bug fixes:
- fixes to the ``load`` and ``__setstate__`` methods of the Parameter class
- fixed failure of ModelResult.dump() due to missing attributes
(Issue #611, PR #623; @mpmdean)
- ``guess_from_peak`` function now also works correctly with decreasing
x-values or when using pandas (PRs #627 and #629; @mpmdean)
- the ``Parameter.set()`` method now correctly first updates the boundaries
and then the value (Issue #636, PR #637; @arunpersaud)
+ Various:
- fixed typo for the use of expressions in the documentation
(Issue #610; @jkrogager)
- removal of PY2-compatibility and unused code and improved test
coverage (PRs #619, #631, and #633)
- removed deprecated ``isParameter`` function and automatic conversion of
an ``uncertainties`` object (PR #626)
- inaccurate FWHM calculations were removed from built-in models, others
labeled as estimates (Issue #616 and PR #630)
- corrected spelling mistake for the Doniach lineshape and model
(Issue #634; @rayosborn)
- removed unsupported/untested code for IPython notebooks in lmfit/ui/*
- from version 1.0.0
+ New features:
- no new features are introduced in 1.0.0.
+ Improvements:
- support for Python 2 and use of the ``six`` package are removed. (PR #612)
+ Various:
- documentation updates to clarify the use of ``emcee``. (PR #614)
- from version 0.9.15
+ New features, improvements, and bug fixes:
- move application of parameter bounds to setter instead of getter (PR #587)
- add support for non-array Jacobian types in least_squares
(Issue #588, @ezwelty in PR #589)
- add more information (i.e., acor and acceptance_fraction) about
emcee fit (@j-zimmermann in PR #593)
- "name" is now a required positional argument for Parameter class,
update the magic methods (PR #595)
- fix nvars count and bound handling in confidence interval
calculations (Issue #597, PR #598)
- support Python 3.8; requires asteval >= 0.9.16 (PR #599)
- only support emcee version 3 (i.e., no PTSampler anymore) (PR #600)
- fix and refactor prob_bunc in confidence interval calculations (PR #604)
- fix adding Parameters with custom user-defined symbols
(Issue #607, PR #608; thanks to @gbouvignies for the report)
+ Various:
- bump requirements to LTS version of SciPy/ NumPy and code clean-up (PR #591)
- documentation updates (PR #596, and others)
- improve test coverage and Travis CI updates (PR #595, and others)
- update pre-commit hooks and configuration in setup.cfg
+ To-be deprecated:
- function Parameter.isParameter and conversion from
uncertainties.core.Variable to value in _getval (PR #595)
- from version 0.9.14
+ New features:
- the global optimizers ``shgo`` and ``dual_annealing`` (new in SciPy v1.2)
are now supported (Issue #527; PRs #545 and #556)
- ``eval`` method added to the Parameter class (PR #550 by @zobristnicholas)
- avoid ZeroDivisionError in ``printfuncs.params_html_table``
(PR #552 by @aaristov and PR #559)
- add parallelization to ``brute`` method (PR #564, requires SciPy v1.3)
+ Bug fixes:
- consider only varying parameters when reporting potential issues with calculating
errorbars (PR #549) and compare ``value`` to both ``min`` and ``max`` (PR #571)
- guard against division by zero in lineshape functions and ``FWHM``
and ``height`` expression calculations (PR #545)
- fix issues with restoring a saved Model (Issue #553; PR #554)
- always set ``result.method`` for ``emcee`` algorithm (PR #558)
- more careful adding of parameters to handle out-of-order
constraint expressions (Issue #560; PR #561)
- make sure all parameters in Model.guess() use prefixes (PRs #567 and #569)
- use ``inspect.signature`` for PY3 to support wrapped functions
(Issue #570; PR #576)
- fix ``result.nfev``` for ``brute`` method when using parallelization
(Issue #578; PR #579)
+ Various:
- remove "missing" in the Model class (replaced by nan_policy) and "drop"
as option to nan_policy (replaced by omit) deprecated since 0.9 (PR #565).
- deprecate 'report_errors' in printfuncs.py (PR #571)
- updates to the documentation to use ``jupyter-sphinx`` to include
examples/output (PRs #573 and #575)
- include a Gallery with examples in the documentation
using ``sphinx-gallery`` (PR #574 and #583)
- improve test-coverage (PRs #571, #572 and #585)
- add/clarify warning messages when NaN values are detected (PR #586)
- several updates to docstrings (Issue #584; PR #583, and others)
- update pre-commit hooks and several docstrings
- Update BuildRequires and Requires from setup.py
-------------------------------------------------------------------
Wed Apr 24 08:42:15 UTC 2019 - pgajdos@suse.com
- version update to 0.9.13
New features:
Clearer warning message in fit reports when uncertainties should
but cannot be estimated, including guesses of which Parameters
to examine (#521, #543)
SplitLorenztianModel and split_lorentzian function (#523)
HTML representations for Parameter, MinimizerResult, and Model
so that they can be printed better with Jupyter (#524, #548)
support parallelization for differential evolution (#526)
Bug fixes:
delay import of matplotlib (and so, the selection of its backend)
as late as possible (#528, #529)
fix for saving, loading, and reloading ModelResults (#534)
fix to leastsq to report the best-fit values, not the values tried
last (#535, #536)
fix synchronization of all parameter values on Model.guess() (#539, #542)
improve deprecation warnings for outdated nan_policy keywords (#540)
fix for edge case in gformat() (#547)
Project managements:
using pre-commit framework to improve and enforce coding style (#533)
added code coverage report to github main page
updated docs, github templates, added several tests.
dropped support and testing for Python 3.4.
- deleted patches
- lmfit-scipy.patch (upstreamed)
-------------------------------------------------------------------
Tue Mar 5 14:57:02 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Fix spurious unit test errors.
-------------------------------------------------------------------
Fri Jan 18 10:24:44 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Apply patch to fix build with new scipy:
* lmfit-scipy.patch
-------------------------------------------------------------------
Fri Jan 18 10:19:27 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 0.9.12:
* make exceptions explicit
* use inspect.getfullargspec for Python3
* test-suite: use pytest features, improve coverage, fix mistakes
-------------------------------------------------------------------
Thu Mar 22 04:46:08 UTC 2018 - toddrme2178@gmail.com
- Initial version