{"categories":[{"label":"Scientific/Engineering","url":"https://skillfed.io/packages/category/scientific-engineering/3"}],"enrichment":{"capability":"Lmfit provides non-linear least-squares minimization and curve fitting with named, constrained parameters that can be bounded, fixed, or linked by expressions.","skillfed_tags":["curve-fitting","optimization","parameter-constraints"],"use_cases":["Fit spectral lines or peaks to experimental data with bounds on amplitude, center, and width.","Constrain model parameters by mathematical expressions (e.g., force FWHM = width \u00d7 2.355) without rewriting the objective function.","Estimate parameter uncertainties and correlations after fitting, or explore confidence intervals.","Build reusable model functions and combine them for complex multi-peak or multi-component fits.","Switch between optimization algorithms without changing your model or parameter setup."],"what_it_does":"Lmfit wraps scipy's optimization routines to make curve fitting and least-squares minimization more accessible and flexible. Instead of passing raw arrays to an optimizer, you define named Parameters with optional bounds, fixed values, and mathematical constraints linking them together. The library handles the bookkeeping of which parameters vary and which are held constant, so your fitting function stays clean and model-focused rather than optimization-focused.\n\nThe package ships with a Model class for common curve-fitting workflows, built-in model functions, and tools to explore confidence intervals and estimate parameter uncertainties even for solvers where scipy doesn't provide them natively. It's built on numpy and scipy, supports multiple optimization algorithms (Levenberg-Marquardt by default, plus Nelder-Mead, differential_evolution, basin-hopping, and others), and is designed for interactive data analysis where you may want to change constraints or fix parameters on the fly.","worth_installing":"Yes. Lmfit is stable, permissively licensed, and widely used for scientific curve fitting. Install friction is low and it has no known vulnerabilities. The 391-day release gap suggests aging maintenance rather than active development, so treat it as a mature tool rather than one receiving frequent feature updates\u2014but that's appropriate for a well-established optimization library. Install if you need flexible, named-parameter fitting with bounds and constraints."},"id":"lmfit","links":{"html":"https://skillfed.io/packages/lmfit","md":"https://skillfed.io/packages/lmfit.md","pypi":"https://pypi.org/project/lmfit/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-07-19","license_spdx":"BSD-3-Clause","license_treatment":"permissive","name":"lmfit","python_support":"supports_current","summary":"Least-Squares Minimization with Bounds and Constraints"},"popularity":{"monthly_downloads":867327,"position":4855,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.3.4"}
