Skip to content

1.0.2

Compare
Choose a tag to compare
@newville newville released this 07 Feb 22:32
· 419 commits to master since this release

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)

Bug fixes:

  • ModelResult.eval_uncertainty should use provided Parameters (PR #646)
  • center in lognormal model can be negative (Issue #644, PR #645; @YoshieraHuang)
  • restore best-fit values after calculation of covariance matrix (Issue #655, PR #657)
  • add helper-function not_zero to prevent ZeroDivisionError in lineshapes and use in exponential lineshape (Issue #631, PR #664; @s-weigand)
  • save last_internal_values and use to restore internal values if fit is aborted (PR #667)
  • dumping a fit using the lbfgsb method now works, convert bytes to string if needed (Issue #677, PR #678; @leonfoks)
  • fix use of callable Jacobian for scalar methods (PR #681; @mstimberg)
  • preserve float/int types when encoding for JSON (PR #696; @jedzill4)
  • better support for saving/loading of ExpressionModels and assure that init_params and init_fit are set when loading a ModelResult (PR #706)

Various:

  • update minimum dependencies (PRs #688, #693)
  • improvements in coding style, docstrings, CI, and test coverage (PRs #647, #649, #650, #653, #654; #685, #668, #689)
  • fix typo in Oscillator (PR #658; @flothesof)
  • add example using SymPy (PR #662)
  • allow better custom pool for emcee() (Issue #666, PR #667)
  • update NIST Strd reference functions and tests (PR #670)
  • make building of documentation cross-platform (PR #673; @s-weigand)
  • relax module name check in test_check_ast_errors for Python 3.9 (Issue #674, PR #675; @mwhudson)
  • fix/update layout of documentation, now uses the sphinx13 theme (PR #687)
  • fixed DeprecationWarnings reported by NumPy v1.2.0 (PR #699)
  • increase value of tiny and check for it in bounded parameters to avoid "parameter not moving from initial value" (Issue #700, PR #701)
  • add max_nfev to basinhopping and brute (now supported everywhere in lmfit) and set to more uniform default values (PR #701)
  • use Azure Pipelines for CI, drop Travis (PRs #696 and #702)