FitBenchmarking 1.5.0__tar.gz → 1.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/.gitignore +1 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/PKG-INFO +20 -17
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/README.md +8 -7
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cli/checkpoint_handler.py +18 -4
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cli/exception_handler.py +2 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cli/main.py +80 -66
- fitbenchmarking-1.6.0/fitbenchmarking/controllers/aoclda_controller.py +305 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/base_controller.py +193 -11
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/bumps_controller.py +24 -12
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/ceres_controller.py +5 -3
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/galahad_controller.py +2 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/gofit_controller.py +1 -3
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/gradient_free_controller.py +6 -6
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/gsl_controller.py +24 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/lmfit_controller.py +4 -4
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/mantid_controller.py +1 -1
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/matlab_curve_controller.py +1 -1
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/matlab_mixin.py +4 -1
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/scipy_controller.py +7 -4
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/scipy_ls_controller.py +1 -1
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/theseus_controller.py +2 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/core/fitting_benchmarking.py +41 -6
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/core/results_output.py +159 -88
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/hellinger_nlls_cost_func.py +1 -1
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/loglike_nlls_cost_func.py +1 -1
- fitbenchmarking-1.6.0/fitbenchmarking/cost_func/nlls_base_cost_func.py +195 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/nlls_cost_func.py +3 -3
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/poisson_cost_func.py +11 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/weighted_nlls_cost_func.py +7 -2
- fitbenchmarking-1.6.0/fitbenchmarking/cost_func/whitened_nlls_cost_func.py +134 -0
- fitbenchmarking-1.6.0/fitbenchmarking/jacobian/gvar_jacobian.py +60 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/fitbenchmark_parser.py +32 -9
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/fitting_problem.py +24 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/hogben_parser.py +3 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/horace_parser.py +4 -1
- fitbenchmarking-1.6.0/fitbenchmarking/parsing/lsqfit_parser.py +123 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/mantiddev_parser.py +1 -6
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/base_table.py +64 -39
- fitbenchmarking-1.6.0/fitbenchmarking/results_processing/compare_scatter.py +1502 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/compare_table.py +3 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/performance_profiler.py +7 -1
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/plots.py +16 -8
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/problem_summary_page.py +13 -1
- fitbenchmarking-1.6.0/fitbenchmarking/results_processing/scripts/compare_scatter/handle_link.js +11 -0
- fitbenchmarking-1.6.0/fitbenchmarking/results_processing/scripts/compare_scatter/resize_observer.js +22 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/tables.py +10 -3
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/css/custom_style.css +3 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/js/table.js +5 -3
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/problem_summary_page_template.html +25 -11
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/table_template.html +60 -10
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/checkpoint.py +8 -3
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/exceptions.py +13 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/fitbm_result.py +62 -3
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/log.py +4 -2
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/options.py +23 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/pyproject.toml +39 -8
- fitbenchmarking-1.5.0/fitbenchmarking/cost_func/nlls_base_cost_func.py +0 -107
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/LICENSE.txt +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/__main__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/ENSO.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Gauss3.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Hahn1.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Kirby2.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Lanczos1.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Lanczos2.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/META.txt +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/MGH17.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Misra1c.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Misra1d.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/ENSO.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/ENSO.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Gauss3.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Gauss3.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Hahn1.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Hahn1.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Kirby2.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Kirby2.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos1.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos1.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos2.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos2.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/MGH17.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/MGH17.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1c.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1c.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1d.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1d.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Bennett5.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/BoxBOD.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Eckerle4.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/META.txt +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/MGH09.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/MGH10.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Rat42.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Rat43.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Thurber.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Bennett5.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Bennett5.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/BoxBOD.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/BoxBOD.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Eckerle4.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Eckerle4.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH09.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH09.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH10.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH10.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat42.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat42.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat43.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat43.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Thurber.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Thurber.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Chwirut1.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Chwirut2.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/DanWood.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Gauss1.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Gauss2.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Lanczos3.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/META.txt +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Misra1a.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Misra1b.dat +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut1.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut1.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut2.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut2.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/DanWood.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/DanWood.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss1.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss1.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss2.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss2.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Lanczos3.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Lanczos3.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1a.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1a.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1b.hes +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1b.jac +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cli/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/controller_factory.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/dfo_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/horace_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/levmar_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/matlab_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/matlab_curve_controller/eval_r.m +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/matlab_opt_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/matlab_stats_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/minuit_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/nlopt_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/paramonte_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/ralfit_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/scipy_go_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/controllers/scipy_leastsq_controller.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/core/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/base_cost_func.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/cost_func/cost_func_factory.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Bold.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-BoldItalic.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Italic.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Light.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-LightItalic.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Medium.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-MediumItalic.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Regular.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Bold.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-BoldItalic.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Italic.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Light.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-LightItalic.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Medium.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-MediumItalic.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Regular.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Bold.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-BoldItalic.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Italic.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Light.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-LightItalic.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Medium.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-MediumItalic.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Regular.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Bold.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-BoldItalic.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Italic.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Light.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-LightItalic.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Medium.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-MediumItalic.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Regular.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.eot +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.svg +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.ttf +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.woff2 +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/hessian/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/hessian/analytic_hessian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/hessian/base_hessian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/hessian/best_available_hessian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/hessian/hessian_factory.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/hessian/numdifftools_hessian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/hessian/scipy_hessian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/analytic_jacobian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/base_jacobian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/best_available_jacobian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/default_jacobian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/jacobian_factory.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/numdifftools_jacobian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/scipy_jacobian.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/jacobian/scripts/NIST-Jacobians.nb +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/bal_parser.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/base_parser.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/ivp_parser.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/mantid_parser.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/nist_data_functions.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/nist_parser.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/parser_factory.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/sasview_parser.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/parsing/sscanss_parser.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/acc_table.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/energy_usage_table.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/fitting_report.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/local_min_table.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/results_processing/runtime_table.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/css/dropdown_style.css +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/css/main_style.css +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/css/math_style.css +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/css/table_style.css +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/fitting_report_template.html +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/images/accuracy.png +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/images/compare.png +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/images/energy.png +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/images/fitbenchmarking_logo.png +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/images/local_min.png +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/images/runtime.png +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/index_page.html +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/js/dropdown.js +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/problem_index_page.html +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/templates/style_sheet.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/__init__.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/create_dirs.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/debug.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/matlab_engine.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/misc.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/output_grabber.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/timer.py +0 -0
- {fitbenchmarking-1.5.0 → fitbenchmarking-1.6.0}/fitbenchmarking/utils/write_files.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: FitBenchmarking
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0
|
|
4
4
|
Summary: FitBenchmarking: A tool for comparing fitting software
|
|
5
5
|
Project-URL: Homepage, https://fitbenchmarking.github.io
|
|
6
6
|
Project-URL: Documentation, https://fitbenchmarking.readthedocs.io/en/stable
|
|
@@ -13,21 +13,24 @@ Keywords: benchmark,comparison,fitting,least squares,optimisation
|
|
|
13
13
|
Classifier: License :: OSI Approved :: BSD License
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Requires-Python: >=3.
|
|
16
|
+
Requires-Python: >=3.11
|
|
17
17
|
Requires-Dist: codecarbon>=3.2.6
|
|
18
18
|
Requires-Dist: configparser
|
|
19
19
|
Requires-Dist: dash
|
|
20
|
+
Requires-Dist: dash-bootstrap-components
|
|
20
21
|
Requires-Dist: docutils
|
|
21
22
|
Requires-Dist: jinja2
|
|
22
23
|
Requires-Dist: lxml
|
|
23
24
|
Requires-Dist: matplotlib>=2.0
|
|
24
25
|
Requires-Dist: numpy
|
|
25
26
|
Requires-Dist: pandas>=1.3
|
|
26
|
-
Requires-Dist: plotly>=
|
|
27
|
-
Requires-Dist: scipy
|
|
27
|
+
Requires-Dist: plotly>=7.0.0
|
|
28
|
+
Requires-Dist: scipy>=1.16
|
|
28
29
|
Requires-Dist: tqdm>=4.60
|
|
30
|
+
Provides-Extra: aoclda
|
|
31
|
+
Requires-Dist: aoclda; (platform_system == 'Linux') and extra == 'aoclda'
|
|
29
32
|
Provides-Extra: bumps
|
|
30
|
-
Requires-Dist: bumps
|
|
33
|
+
Requires-Dist: bumps; extra == 'bumps'
|
|
31
34
|
Provides-Extra: dev
|
|
32
35
|
Requires-Dist: coverage[toml]>=6.3; extra == 'dev'
|
|
33
36
|
Requires-Dist: coveralls; extra == 'dev'
|
|
@@ -46,6 +49,8 @@ Provides-Extra: gofit
|
|
|
46
49
|
Requires-Dist: gofit; extra == 'gofit'
|
|
47
50
|
Provides-Extra: gradient-free
|
|
48
51
|
Requires-Dist: gradient-free-optimizers[sklearn]; extra == 'gradient-free'
|
|
52
|
+
Provides-Extra: gvar
|
|
53
|
+
Requires-Dist: gvar; extra == 'gvar'
|
|
49
54
|
Provides-Extra: hogben
|
|
50
55
|
Requires-Dist: hogben; extra == 'hogben'
|
|
51
56
|
Provides-Extra: levmar
|
|
@@ -53,9 +58,6 @@ Requires-Dist: levmar; extra == 'levmar'
|
|
|
53
58
|
Provides-Extra: lmfit
|
|
54
59
|
Requires-Dist: emcee>=3.1.0; extra == 'lmfit'
|
|
55
60
|
Requires-Dist: lmfit; extra == 'lmfit'
|
|
56
|
-
Provides-Extra: mantid
|
|
57
|
-
Requires-Dist: h5py<3,>=2.10.0; extra == 'mantid'
|
|
58
|
-
Requires-Dist: pyyaml>=5.4.1; extra == 'mantid'
|
|
59
61
|
Provides-Extra: matlab
|
|
60
62
|
Requires-Dist: dill; extra == 'matlab'
|
|
61
63
|
Provides-Extra: minuit
|
|
@@ -67,14 +69,14 @@ Requires-Dist: numdifftools; extra == 'numdifftools'
|
|
|
67
69
|
Provides-Extra: paramonte
|
|
68
70
|
Requires-Dist: paramonte; extra == 'paramonte'
|
|
69
71
|
Provides-Extra: sas
|
|
70
|
-
Requires-Dist: sasmodels; extra == 'sas'
|
|
72
|
+
Requires-Dist: sasmodels==1.0.12; extra == 'sas'
|
|
71
73
|
Requires-Dist: tinycc; (platform_system == 'Windows') and extra == 'sas'
|
|
72
74
|
Description-Content-Type: text/markdown
|
|
73
75
|
|
|
74
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.
|
|
75
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.
|
|
76
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.6.0)
|
|
77
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.6.0)
|
|
76
78
|
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/install.yml)
|
|
77
|
-
[](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
78
80
|
[](https://coveralls.io/github/fitbenchmarking/fitbenchmarking)
|
|
79
81
|
[](https://slack.com/)
|
|
80
82
|
[](https://zenodo.org/records/15546207)
|
|
@@ -83,10 +85,11 @@ Description-Content-Type: text/markdown
|
|
|
83
85
|
|
|
84
86
|
FitBenchmarking is an open source tool for comparing different minimizers/fitting frameworks. FitBenchmarking is cross platform and we support Windows, Linux and Mac OS. For questions, feature requests or any other inquiries, please open an issue on GitHub.
|
|
85
87
|
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
88
|
+
- [Installation Instructions](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
89
|
+
> **Note:** Please ensure that you are using the latest version of FitBenchmarking in order to stay up to date with security fixes.
|
|
90
|
+
- [User Documentation & Example Usage](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
91
|
+
- [Community Guidelines](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
92
|
+
- Automated Tests are [run via GitHub Actions](https://github.com/fitbenchmarking/fitbenchmarking/actions), please see [our documentation](https://fitbenchmarking.readthedocs.io/en/v1.6.0) for more information.
|
|
90
93
|
|
|
91
94
|
The package is the result of a collaboration between STFC’s Scientific Computing Department and ISIS Neutron and Muon Facility and the Diamond Light Source. We also would like to acknowledge support from:
|
|
92
95
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.
|
|
2
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.
|
|
1
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.6.0)
|
|
2
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.6.0)
|
|
3
3
|
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/install.yml)
|
|
4
|
-
[](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
5
5
|
[](https://coveralls.io/github/fitbenchmarking/fitbenchmarking)
|
|
6
6
|
[](https://slack.com/)
|
|
7
7
|
[](https://zenodo.org/records/15546207)
|
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
FitBenchmarking is an open source tool for comparing different minimizers/fitting frameworks. FitBenchmarking is cross platform and we support Windows, Linux and Mac OS. For questions, feature requests or any other inquiries, please open an issue on GitHub.
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
13
|
+
- [Installation Instructions](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
14
|
+
> **Note:** Please ensure that you are using the latest version of FitBenchmarking in order to stay up to date with security fixes.
|
|
15
|
+
- [User Documentation & Example Usage](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
16
|
+
- [Community Guidelines](https://fitbenchmarking.readthedocs.io/en/v1.6.0)
|
|
17
|
+
- Automated Tests are [run via GitHub Actions](https://github.com/fitbenchmarking/fitbenchmarking/actions), please see [our documentation](https://fitbenchmarking.readthedocs.io/en/v1.6.0) for more information.
|
|
17
18
|
|
|
18
19
|
The package is the result of a collaboration between STFC’s Scientific Computing Department and ISIS Neutron and Muon Facility and the Diamond Light Source. We also would like to acknowledge support from:
|
|
19
20
|
|
|
@@ -20,8 +20,11 @@ from fitbenchmarking.core.results_output import (
|
|
|
20
20
|
save_results,
|
|
21
21
|
)
|
|
22
22
|
from fitbenchmarking.utils.checkpoint import Checkpoint
|
|
23
|
+
from fitbenchmarking.utils.log import get_logger
|
|
23
24
|
from fitbenchmarking.utils.options import find_options_file
|
|
24
25
|
|
|
26
|
+
LOGGER = get_logger()
|
|
27
|
+
|
|
25
28
|
|
|
26
29
|
def get_parser() -> ArgumentParser:
|
|
27
30
|
"""
|
|
@@ -188,7 +191,17 @@ def generate_report(options_file="", additional_options=None, debug=False):
|
|
|
188
191
|
all_dirs.append(directory)
|
|
189
192
|
|
|
190
193
|
index_page = create_index_page(options, list(results), all_dirs)
|
|
191
|
-
|
|
194
|
+
|
|
195
|
+
# flatten results dictionary because open_browser expects a list of
|
|
196
|
+
# fitting results
|
|
197
|
+
|
|
198
|
+
flat_results = [
|
|
199
|
+
result for result_list in results.values() for result in result_list
|
|
200
|
+
]
|
|
201
|
+
|
|
202
|
+
open_browser(
|
|
203
|
+
index_page, options, pp_dfs_all_prob_sets, results=flat_results
|
|
204
|
+
)
|
|
192
205
|
|
|
193
206
|
|
|
194
207
|
@exception_handler
|
|
@@ -270,19 +283,20 @@ def merge_data_sets(
|
|
|
270
283
|
:param debug: Enable debugging output.
|
|
271
284
|
:type debug: bool
|
|
272
285
|
"""
|
|
286
|
+
|
|
273
287
|
if len(files) < 2:
|
|
274
288
|
return
|
|
275
289
|
|
|
276
|
-
|
|
290
|
+
LOGGER.info("Loading %s...", files[0])
|
|
277
291
|
with open(files[0], encoding="utf-8") as f:
|
|
278
292
|
A = json.load(f)
|
|
279
293
|
for to_merge in files[1:]:
|
|
280
|
-
|
|
294
|
+
LOGGER.info("Merging %s...", to_merge)
|
|
281
295
|
with open(to_merge, encoding="utf-8") as f:
|
|
282
296
|
B = json.load(f)
|
|
283
297
|
A = merge(A, B, strategy=strategy)
|
|
284
298
|
|
|
285
|
-
|
|
299
|
+
LOGGER.info("Writing to %s...", output)
|
|
286
300
|
with open(output, "w", encoding="utf-8") as f:
|
|
287
301
|
json.dump(A, f, indent=2)
|
|
288
302
|
|
|
@@ -35,7 +35,7 @@ def exception_handler(f):
|
|
|
35
35
|
if debug:
|
|
36
36
|
raise
|
|
37
37
|
|
|
38
|
-
LOGGER.error(
|
|
38
|
+
LOGGER.error(e, exc_info=debug)
|
|
39
39
|
sys.exit(1)
|
|
40
40
|
|
|
41
41
|
except Exception as e:
|
|
@@ -43,7 +43,7 @@ def exception_handler(f):
|
|
|
43
43
|
if debug:
|
|
44
44
|
raise
|
|
45
45
|
|
|
46
|
-
LOGGER.error(
|
|
46
|
+
LOGGER.error(e, exc_info=debug)
|
|
47
47
|
sys.exit(1)
|
|
48
48
|
|
|
49
49
|
return wrapped
|
|
@@ -366,6 +366,80 @@ of the Fitbenchmarking docs. """
|
|
|
366
366
|
return parser
|
|
367
367
|
|
|
368
368
|
|
|
369
|
+
def parse_options_from_cli(args: argparse.Namespace) -> dict:
|
|
370
|
+
"""
|
|
371
|
+
parse the command line options, and apply any options which should override
|
|
372
|
+
the options file or default options.
|
|
373
|
+
:param args: The command line arguments.
|
|
374
|
+
:type args: argparse.Namespace
|
|
375
|
+
|
|
376
|
+
:return: A dictionary of options to be used in the benchmarking run.
|
|
377
|
+
:rtype: dict
|
|
378
|
+
"""
|
|
379
|
+
|
|
380
|
+
# Dictionary of options which can be set via argparse
|
|
381
|
+
# rather than from an ini file or from the default options
|
|
382
|
+
options_dictionary = {
|
|
383
|
+
"results_dir": args.results_dir,
|
|
384
|
+
"num_runs": args.num_runs,
|
|
385
|
+
"algorithm_type": args.algorithm_type,
|
|
386
|
+
"software": args.software,
|
|
387
|
+
"jac_method": args.jac_method,
|
|
388
|
+
"cost_func_type": args.cost_func_type,
|
|
389
|
+
"comparison_mode": args.comparison_mode,
|
|
390
|
+
"table_type": args.table_type,
|
|
391
|
+
"file_name": args.logging_file_name,
|
|
392
|
+
"level": args.level,
|
|
393
|
+
"external_output": args.external_output,
|
|
394
|
+
"run_name": args.run_name,
|
|
395
|
+
"runtime_metric": args.runtime_metric,
|
|
396
|
+
"port": args.port,
|
|
397
|
+
"ip_address": args.ip_address,
|
|
398
|
+
}
|
|
399
|
+
# Check if make_plots in options.py should be overridden, and if so,
|
|
400
|
+
# add to options_dictionary
|
|
401
|
+
if args.make_plots:
|
|
402
|
+
options_dictionary["make_plots"] = True
|
|
403
|
+
elif args.dont_make_plots:
|
|
404
|
+
options_dictionary["make_plots"] = False
|
|
405
|
+
|
|
406
|
+
# Check if results_browser in options.py should be overridden, and if so,
|
|
407
|
+
# add to options_dictionary
|
|
408
|
+
if args.results_browser:
|
|
409
|
+
options_dictionary["results_browser"] = True
|
|
410
|
+
elif args.no_results_browser:
|
|
411
|
+
options_dictionary["results_browser"] = False
|
|
412
|
+
|
|
413
|
+
# Check if run_dash in options.py should be overridden, and if so,
|
|
414
|
+
# add to options_dictionary
|
|
415
|
+
if args.run_dash:
|
|
416
|
+
options_dictionary["run_dash"] = True
|
|
417
|
+
elif args.dont_run_dash:
|
|
418
|
+
options_dictionary["run_dash"] = False
|
|
419
|
+
|
|
420
|
+
# Check if check_jacobian in options.py should be overridden, and if so,
|
|
421
|
+
# add to options_dictionary
|
|
422
|
+
if args.check_jacobian:
|
|
423
|
+
options_dictionary["check_jacobian"] = True
|
|
424
|
+
elif args.dont_check_jacobian:
|
|
425
|
+
options_dictionary["check_jacobian"] = False
|
|
426
|
+
|
|
427
|
+
# Check if benchmark in options.py should be overridden, and if so,
|
|
428
|
+
# add to options_dictionary
|
|
429
|
+
if args.pbar:
|
|
430
|
+
options_dictionary["pbar"] = True
|
|
431
|
+
elif args.no_pbar:
|
|
432
|
+
options_dictionary["pbar"] = False
|
|
433
|
+
|
|
434
|
+
# Check if log_append in options.py should be overridden, and if so,
|
|
435
|
+
# add to options_dictionary
|
|
436
|
+
if args.append_log:
|
|
437
|
+
options_dictionary["append"] = True
|
|
438
|
+
elif args.overwrite_log:
|
|
439
|
+
options_dictionary["append"] = False
|
|
440
|
+
return options_dictionary
|
|
441
|
+
|
|
442
|
+
|
|
369
443
|
@exception_handler
|
|
370
444
|
def run(problem_sets, additional_options=None, options_file="", debug=False):
|
|
371
445
|
"""
|
|
@@ -410,7 +484,7 @@ def run(problem_sets, additional_options=None, options_file="", debug=False):
|
|
|
410
484
|
result_dir = []
|
|
411
485
|
pp_dfs_all_prob_sets = {}
|
|
412
486
|
cp = Checkpoint(options=options)
|
|
413
|
-
|
|
487
|
+
results = {}
|
|
414
488
|
try:
|
|
415
489
|
for sub_dir in problem_sets:
|
|
416
490
|
# Create full path for the directory that holds a group of
|
|
@@ -510,9 +584,8 @@ def run(problem_sets, additional_options=None, options_file="", debug=False):
|
|
|
510
584
|
"You can also set 'results_dir' in an options file.",
|
|
511
585
|
options.results_dir,
|
|
512
586
|
)
|
|
513
|
-
|
|
514
587
|
index_page = create_index_page(options, group_labels, result_dir)
|
|
515
|
-
open_browser(index_page, options, pp_dfs_all_prob_sets)
|
|
588
|
+
open_browser(index_page, options, pp_dfs_all_prob_sets, results=results)
|
|
516
589
|
|
|
517
590
|
|
|
518
591
|
def main():
|
|
@@ -524,84 +597,25 @@ def main():
|
|
|
524
597
|
|
|
525
598
|
if len(sys.argv) == 1:
|
|
526
599
|
if not args.problem_sets[0].exists():
|
|
527
|
-
|
|
600
|
+
LOGGER.error(
|
|
528
601
|
"The default problem set has either been "
|
|
529
602
|
"deleted or moved. Please specify a file "
|
|
530
603
|
"path to a different problem set with the "
|
|
531
604
|
"-p option."
|
|
532
605
|
)
|
|
533
606
|
sys.exit(1)
|
|
534
|
-
|
|
607
|
+
LOGGER.info(
|
|
535
608
|
"Running NIST average_difficulty problem set "
|
|
536
609
|
"with scipy minimizers \n"
|
|
537
610
|
)
|
|
538
611
|
|
|
539
|
-
|
|
540
|
-
# rather than from an ini file or from the default options
|
|
541
|
-
options_dictionary = {
|
|
542
|
-
"results_dir": args.results_dir,
|
|
543
|
-
"num_runs": args.num_runs,
|
|
544
|
-
"algorithm_type": args.algorithm_type,
|
|
545
|
-
"software": args.software,
|
|
546
|
-
"jac_method": args.jac_method,
|
|
547
|
-
"cost_func_type": args.cost_func_type,
|
|
548
|
-
"comparison_mode": args.comparison_mode,
|
|
549
|
-
"table_type": args.table_type,
|
|
550
|
-
"file_name": args.logging_file_name,
|
|
551
|
-
"level": args.level,
|
|
552
|
-
"external_output": args.external_output,
|
|
553
|
-
"run_name": args.run_name,
|
|
554
|
-
"runtime_metric": args.runtime_metric,
|
|
555
|
-
"port": args.port,
|
|
556
|
-
"ip_address": args.ip_address,
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
# Check if make_plots in options.py should be overridden, and if so,
|
|
560
|
-
# add to options_dictionary
|
|
561
|
-
if args.make_plots:
|
|
562
|
-
options_dictionary["make_plots"] = True
|
|
563
|
-
elif args.dont_make_plots:
|
|
564
|
-
options_dictionary["make_plots"] = False
|
|
565
|
-
|
|
566
|
-
# Check if results_browser in options.py should be overridden, and if so,
|
|
567
|
-
# add to options_dictionary
|
|
568
|
-
if args.results_browser:
|
|
569
|
-
options_dictionary["results_browser"] = True
|
|
570
|
-
elif args.no_results_browser:
|
|
571
|
-
options_dictionary["results_browser"] = False
|
|
572
|
-
|
|
573
|
-
# Check if run_dash in options.py should be overridden, and if so,
|
|
574
|
-
# add to options_dictionary
|
|
575
|
-
if args.run_dash:
|
|
576
|
-
options_dictionary["run_dash"] = True
|
|
577
|
-
elif args.dont_run_dash:
|
|
578
|
-
options_dictionary["run_dash"] = False
|
|
579
|
-
|
|
580
|
-
# Check if check_jacobian in options.py should be overridden, and if so,
|
|
581
|
-
# add to options_dictionary
|
|
582
|
-
if args.check_jacobian:
|
|
583
|
-
options_dictionary["check_jacobian"] = True
|
|
584
|
-
elif args.dont_check_jacobian:
|
|
585
|
-
options_dictionary["check_jacobian"] = False
|
|
586
|
-
|
|
587
|
-
# Check if benchmark in options.py should be overridden, and if so,
|
|
588
|
-
# add to options_dictionary
|
|
589
|
-
if args.pbar:
|
|
590
|
-
options_dictionary["pbar"] = True
|
|
591
|
-
elif args.no_pbar:
|
|
592
|
-
options_dictionary["pbar"] = False
|
|
593
|
-
|
|
594
|
-
# Check if log_append in options.py should be overridden, and if so,
|
|
595
|
-
# add to options_dictionary
|
|
596
|
-
if args.append_log:
|
|
597
|
-
options_dictionary["append"] = True
|
|
598
|
-
elif args.overwrite_log:
|
|
599
|
-
options_dictionary["append"] = False
|
|
612
|
+
options_dictionary = parse_options_from_cli(args)
|
|
600
613
|
|
|
601
614
|
if args.load_checkpoint:
|
|
602
615
|
generate_report(
|
|
603
616
|
options_file=args.options_file,
|
|
604
617
|
additional_options=options_dictionary,
|
|
618
|
+
debug=args.debug_mode,
|
|
605
619
|
)
|
|
606
620
|
else:
|
|
607
621
|
run(
|