{"id":18576541,"url":"https://github.com/scikit-learn-contrib/sklearn-ann","last_synced_at":"2025-04-10T08:31:19.516Z","repository":{"id":138393318,"uuid":"325566540","full_name":"scikit-learn-contrib/sklearn-ann","owner":"scikit-learn-contrib","description":"Integration with (approximate) nearest neighbors libraries for scikit-learn + clustering based on with kNN-graphs.","archived":false,"fork":false,"pushed_at":"2025-04-08T08:51:51.000Z","size":233,"stargazers_count":16,"open_issues_count":10,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-08T09:45:44.787Z","etag":null,"topics":["approximate-nearest-neighbor-search","clustering","knn","knn-graphs","scikit-learn"],"latest_commit_sha":null,"homepage":"https://sklearn-ann.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scikit-learn-contrib.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":"2020-12-30T14:08:33.000Z","updated_at":"2025-04-08T08:51:53.000Z","dependencies_parsed_at":"2024-03-11T15:46:54.923Z","dependency_job_id":"f88b404b-9176-44e6-8373-2fc484ff7572","html_url":"https://github.com/scikit-learn-contrib/sklearn-ann","commit_stats":null,"previous_names":["scikit-learn-contrib/sklearn-ann"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-learn-contrib%2Fsklearn-ann","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-learn-contrib%2Fsklearn-ann/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-learn-contrib%2Fsklearn-ann/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scikit-learn-contrib%2Fsklearn-ann/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scikit-learn-contrib","download_url":"https://codeload.github.com/scikit-learn-contrib/sklearn-ann/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248185405,"owners_count":21061509,"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":["approximate-nearest-neighbor-search","clustering","knn","knn-graphs","scikit-learn"],"created_at":"2024-11-06T23:25:21.215Z","updated_at":"2025-04-10T08:31:19.223Z","avatar_url":"https://github.com/scikit-learn-contrib.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. -*- mode: rst -*-\n\n|PyPI|_ |ReadTheDocs|_\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/sklearn-ann\n.. _PyPI: https://pypi.org/project/sklearn-ann/\n\n.. |ReadTheDocs| image:: https://readthedocs.org/projects/sklearn-ann/badge/?version=latest\n.. _ReadTheDocs: https://sklearn-ann.readthedocs.io/en/latest/?badge=latest\n\nsklearn-ann\n===========\n\n.. inclusion-marker-do-not-remove\n\n**sklearn-ann** eases integration of approximate nearest neighbours\nlibraries such as annoy, nmslib and faiss into your sklearn\npipelines. It consists of:\n\n* ``Transformers`` conforming to the same interface as\n  ``KNeighborsTransformer`` which can be used to transform feature matrices\n  into sparse distance matrices for use by any estimator that can deal with\n  sparse distance matrices. Many, but not all, of scikit-learn's clustering and\n  manifold learning algorithms can work with this kind of input.\n* RNN-DBSCAN: a variant of DBSCAN based on reverse nearest\n  neighbours.\n\nInstallation\n============\n\nTo install the latest release from PyPI, run:\n\n.. code-block:: bash\n\n    pip install sklearn-ann\n\nTo install the latest development version from GitHub, run:\n\n.. code-block:: bash\n\n    pip install git+https://github.com/scikit-learn-contrib/sklearn-ann.git#egg=sklearn-ann\n\nWhy? When do I want this?\n=========================\n\nThe main scenarios in which this is needed is for performing\n*clustering or manifold learning or high dimensional data*. The\nreason is that currently the only neighbourhood algorithms which are\nbuild into scikit-learn are essentially the standard tree approaches\nto space partitioning: the ball tree and the K-D tree. These do not\nperform competitively in high dimensional spaces.\n\nDevelopment\n===========\n\nThis project is managed using Hatch_ and pre-commit_. To get started, run ``pre-commit\ninstall`` and ``hatch env create``. Run all commands using ``hatch run python\n\u003ccommand\u003e`` which will ensure the environment is kept up to date. pre-commit_ comes into\nplay on every `git commit` after installation.\n\nConsult ``pyproject.toml`` for which dependency groups and extras exist,\nand the Hatch help or user guide for more info on what they are.\n\n.. _Hatch: https://hatch.pypa.io/\n.. _pre-commit: https://pre-commit.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-learn-contrib%2Fsklearn-ann","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscikit-learn-contrib%2Fsklearn-ann","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-learn-contrib%2Fsklearn-ann/lists"}