{"id":14989277,"url":"https://github.com/cokelaer/fitter","last_synced_at":"2026-03-06T00:02:28.479Z","repository":{"id":19817864,"uuid":"23078551","full_name":"cokelaer/fitter","owner":"cokelaer","description":"Fit data to many distributions ","archived":false,"fork":false,"pushed_at":"2024-11-12T13:48:19.000Z","size":1558,"stargazers_count":397,"open_issues_count":34,"forks_count":58,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-16T04:01:53.973Z","etag":null,"topics":["distribution","fit","python","statistics"],"latest_commit_sha":null,"homepage":"https://fitter.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cokelaer.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-18T16:34:51.000Z","updated_at":"2025-05-02T07:10:24.000Z","dependencies_parsed_at":"2023-12-05T23:24:10.349Z","dependency_job_id":"ed7f6e4e-dde1-4c3c-8054-8080f95030f1","html_url":"https://github.com/cokelaer/fitter","commit_stats":{"total_commits":160,"total_committers":18,"mean_commits":8.88888888888889,"dds":"0.18125000000000002","last_synced_commit":"6551ed47fd1d05b86f802d4f63c2012b0249a26d"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cokelaer%2Ffitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cokelaer%2Ffitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cokelaer%2Ffitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cokelaer%2Ffitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cokelaer","download_url":"https://codeload.github.com/cokelaer/fitter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464891,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distribution","fit","python","statistics"],"created_at":"2024-09-24T14:17:58.712Z","updated_at":"2026-03-06T00:02:28.467Z","avatar_url":"https://github.com/cokelaer.png","language":"Python","funding_links":[],"categories":["🐍 Python"],"sub_categories":["Useful Python Tools for Data Analysis"],"readme":"\n\n#############################\nFITTER documentation\n#############################\n\n.. image:: https://badge.fury.io/py/fitter.svg\n    :target: https://pypi.python.org/pypi/fitter\n\n.. image:: https://github.com/cokelaer/fitter/actions/workflows/main.yml/badge.svg?branch=main\n    :target: https://github.com/cokelaer/fitter/actions/workflows/main.yml\n\n.. image:: https://coveralls.io/repos/github/cokelaer/fitter/badge.svg?branch=main\n    :target: https://coveralls.io/github/cokelaer/fitter?branch=main\n\n.. image:: https://readthedocs.org/projects/fitter/badge/?version=latest\n    :target: https://fitter.readthedocs.org/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. image:: https://zenodo.org/badge/23078551.svg\n   :target: https://zenodo.org/badge/latestdoi/23078551\n\n.. image:: https://img.shields.io/pypi/pyversions/fitter.svg\n    :target: https://pypi.python.org/pypi/fitter\n\n.. image:: https://img.shields.io/conda/vn/bioconda/fitter.svg\n    :target: https://bioconda.github.io/recipes/fitter/README.html\n\n.. image:: https://img.shields.io/pypi/l/fitter.svg\n    :target: https://pypi.python.org/pypi/fitter\n\nCompatible with Python 3.9, 3.10, 3.11, 3.12, 3.13\n\n\nWhat is it ?\n################\n\nThe **fitter** package is a Python library used for fitting probability distributions to data. It provides a straightforward and and intuitive interface to estimate parameters for various types of distributions, both continuous and discrete. Using **fitter**, you can easily fit a range of distributions to your data and compare their fit, aiding in the selection of the most suitable distribution. The package is designed to be user-friendly and requires minimal setup, making it a useful tool for data scientists and statisticians working with probability distributions.\n\nInstallation\n###################\n\n::\n\n    pip install fitter\n\n**fitter** is also available on **conda** (bioconda channel)::\n\n     conda install fitter\n\n\nUsage\n##################\n\nstandalone\n===========\n\nA standalone application (very simple) is also provided and works with input CSV\nfiles::\n\n    fitter fitdist data.csv --column-number 1 --distributions gamma,normal\n\nIt creates a file called fitter.png and a log fitter.log\n\nFrom Python shell\n==================\n\nFirst, let us create a data samples with N = 10,000 points from a gamma distribution::\n\n    from scipy import stats\n    data = stats.gamma.rvs(2, loc=1.5, scale=2, size=10000)\n\n.. note:: the fitting is slow so keep the size value to reasonable value.\n\nNow, without any knowledge about the distribution or its parameter, what is the distribution that fits the data best ? Scipy has 80 distributions and the **Fitter** class will scan all of them, call the fit function for you, ignoring those that fail or run forever and finally give you a summary of the best distributions in the sense of sum of the square errors. The best is to give an example::\n\n\n    from fitter import Fitter\n    f = Fitter(data)\n    f.fit()\n    # may take some time since by default, all distributions are tried\n    # but you call manually provide a smaller set of distributions\n    f.summary()\n\n\n.. image:: http://pythonhosted.org/fitter/_images/index-1.png\n    :target: http://pythonhosted.org/fitter/_images/index-1.png\n\n\nSee the `online \u003chttp://fitter.readthedocs.io/\u003e`_ documentation for details.\n\n\nContributors\n=============\n\n\nSetting up and maintaining Fitter has been possible thanks to users and contributors.\nThanks to all:\n\n.. image:: https://contrib.rocks/image?repo=cokelaer/fitter\n    :target: https://github.com/cokelaer/fitter/graphs/contributors\n\n\n\n\nChangelog\n~~~~~~~~~\n========= ==========================================================================\nVersion   Description\n========= ==========================================================================\n1.7.1     * integrate PR github.com/cokelaer/fitter/pull/100 from @vitorandreazza\n            to speedup multiprocessing run.\n1.7.0     * replace logging with loguru\n          * main application update to add missing --output-image option and use\n            rich_click\n          * replace pkg_resources with importlib\n1.6.0     * for developers: uses pyproject.toml instead of setup.py\n          * Fix progress bar fixing https://github.com/cokelaer/fitter/pull/74\n          * Fix BIC formula https://github.com/cokelaer/fitter/pull/77\n1.5.2     * PR https://github.com/cokelaer/fitter/pull/74 to fix logger\n1.5.1     * fixed regression putting back joblib\n1.5.0     * removed easydev and replaced by tqdm for progress bar\n          * progressbar from tqdm also allows replacement of joblib need\n1.4.1     * Update timeout in docs from 10 to 30 seconds by @mpadge in\n            https://github.com/cokelaer/fitter/pull/47\n          * Add Kolmogorov-Smirnov goodness-of-fit statistic by @lahdjirayhan in\n            https://github.com/cokelaer/fitter/pull/58\n          * switch branch from master to main\n1.4.0     * get_best function now returns the parameters as a dictionary\n            of parameter names and their values rather than just a list of\n            values (https://github.com/cokelaer/fitter/issues/23) thanks to\n            contributor @kabirmdasraful\n          * Accepting PR to fix progress bar issue reported in\n            https://github.com/cokelaer/fitter/pull/37\n1.3.0     * parallel process implemented https://github.com/cokelaer/fitter/pull/25\n            thanks to @arsenyinfo\n1.2.3     * remove vervose arguments in Fitter class. Using the logging module\n            instead\n          * the Fitter.fit has now a progress bar\n          * add a standalone application called … fitter (see the doc)\n1.2.2     was not released\n1.2.1     adding new class called histfit (see documentation)\n1.2       * Fixed the version. Previous version switched from\n            1.0.9 to 1.1.11. To start a fresh version, we increase to 1.2.0\n          * Merged pull request required by bioconda\n          * Merged pull request related to implementation of\n            AIC/BIC/KL criteria (https://github.com/cokelaer/fitter/pull/19).\n            This also fixes https://github.com/cokelaer/fitter/issues/9\n          * Implement two functions to get all distributions, or a list of\n            common distributions to help users decreading computational time\n            (https://github.com/cokelaer/fitter/issues/20). Also added a FAQS\n            section.\n          * travis tested Python 3.6 and 3.7 (not 3.5 anymore)\n1.1       * Fixed deprecated warning\n          * fitter is now in readthedocs at fitter.readthedocs.io\n1.0.9     * https://github.com/cokelaer/fitter/pull/8 and 11\n            PR https://github.com/cokelaer/fitter/pull/8\n1.0.6     * summary() now returns the dataframe (instead of printing it)\n1.0.5      https://github.com/cokelaer/fitter/issues\n1.0.2     add manifest to fix missing source in the pypi repository.\n========= ==========================================================================\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcokelaer%2Ffitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcokelaer%2Ffitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcokelaer%2Ffitter/lists"}