{
  "result": {
    "1.9.0.post1": {
      "name": "faiss-cpu",
      "version": "1.9.0.post1",
      "metadata_version": "2.4",
      "summary": "A library for efficient similarity search and clustering of dense vectors.",
      "home_page": "",
      "author": "",
      "author_email": "Kota Yamaguchi <yamaguchi_kota@cyberagent.co.jp>",
      "maintainer": "",
      "maintainer_email": "",
      "license": "",
      "description": "# faiss-wheels \ud83c\udfa1\n\n[![Build](https://github.com/kyamagu/faiss-wheels/actions/workflows/build.yml/badge.svg)](https://github.com/kyamagu/faiss-wheels/actions/workflows/build.yml)\n[![PyPI](https://img.shields.io/pypi/v/faiss-cpu?label=faiss-cpu)](https://pypi.org/project/faiss-cpu/)\n\n> [!IMPORTANT]\n> **This repository is archived.**\n> Starting with faiss v1.14.2, the upstream [faiss](https://github.com/facebookresearch/faiss) repository officially supports PyPI wheel distribution. This community-maintained repository has ended its role. Please install faiss directly from PyPI:\n>\n> ```bash\n> pip install faiss-cpu\n> ```\n\n---\n\nFaiss Python wheel packages.\n\n- [faiss](https://github.com/facebookresearch/faiss)\n\n## Overview\n\nThis repository provides CI scripts to build wheel packages for the\n[faiss](https://github.com/facebookresearch/faiss) library.\n\n- Builds wheels with [cibuildwheel](https://github.com/pypa/cibuildwheel/).\n- Build backend uses [scikit-build-core](https://github.com/scikit-build/scikit-build-core).\n- Default BLAS backend is [OpenBLAS](https://github.com/OpenMathLib/OpenBLAS) on Linux/Windows and [the Accelerate framework](https://developer.apple.com/documentation/accelerate) on macOS.\n- Support various build options for customization.\n\n### Features\n\nThe PyPI distributed wheels include the following extentions.\n\n|Platform|Arch  |Extensions           |BLAS backend|\n|--------|------|---------------------|------------|\n|Linux   |x86_64|generic, avx2, avx512|OpenBLAS    |\n|Linux   |arm64 |generic, sve         |OpenBLAS    |\n|macOS   |x86_64|generic, avx2        |Accelerate framework|\n|macOS   |arm64 |generic              |Accelerate framework|\n|Windows |x86_64|generic, avx2        |OpenBLAS    |\n|Windows |arm64 |generic              |OpenBLAS    |\n\n> **Note**\n> GPU binary package is discontinued as of 1.7.3 release. Build a custom wheel to support GPU features.\n\n### Install\n\nInstall the CPU-only package by:\n\n```bash\npip install faiss-cpu\n```\n\nNote that the package name is `faiss-cpu`.\n\n## Usage\n\nCheck [the official documentation at the upstream](https://faiss.ai/) for general usage.\n\n### Index portability\n\nOne caveat is that faiss indices built in a specific environment is not always compatible in the other environment. For example, indices built and saved in the x86_64 architecture is not always compatible in the arm64 environment. In addition, SIMD features can lead to incompatibility. Indices built in the AVX2 extension are not compatible in the generic extension. Faiss automatically detects the CPU instruction set and loads extensions. This tends to be an issue in the containerized environment where CPU features are not correctly detected due to driver issues.\n\nIf you encounter a segfault or weird argument errors, set the following environment variable to force or disable the specific SIMD extension:\n\n```bash\nexport FAISS_OPT_LEVEL=\"generic\"\n```\n\n## Building customized wheels\n\nThe PyPI wheels do not support GPU by default. To support GPU methods or use faiss with a different build configuration, build a custom wheel. For building a wheel package, there are a few requirements.\n\n- BLAS: There must be a BLAS implementation available on the Linux and Windows platforms.\n- OpenMP: macOS requires `libomp` (available via Homebrew).\n- CUDA or ROCm: A GPU development toolkit is necessary to support GPU features.\n\nSee `scripts/install_*` scripts for details.\n\n### Build instruction\n\nClone the repository with submodules.\n\n```bash\ngit clone --recursive https://github.com/kyamagu/faiss-wheels.git\ncd faiss-wheels\n```\n\nYou can use a standard Python environment manager like `pipx` to build a wheel.\n\n```bash\npipx run build --wheel\n```\n\nAny build backend supporting `scikit-build-core` can build wheels. For example, you can use `uv` to build wheels.\n\n```bash\nuv build --wheel\n```\n\n### Build options\n\nYou can set environment variables to customize the build options. The following example builds a wheel with AVX2 and CUDA support.\n\n```bash\nexport FAISS_OPT_LEVELS=avx2\nexport FAISS_GPU_SUPPORT=CUDA\npipx run build --wheel\n```\n\nAlternatively, you may directly pass CMake options via the command line. See [the scikit-build-core documentation](https://scikit-build-core.readthedocs.io/en/latest/configuration/index.html#configuring-cmake-arguments-and-defines) for details on how to specify CMake defines.\n\n```bash\npipx run build --wheel \\\n    -Ccmake.define.FAISS_OPT_LEVELS=avx2 \\\n    -Ccmake.define.FAISS_GPU_SUPPORT=CUDA\n```\n\nThe following options are available for configuration.\n\n- `FAISS_OPT_LEVELS`: Optimization levels. You may set a semicolon-separated list of values from `<generic|avx2|avx512|avx512_spr|sve>`. For example, setting `generic,avx2` will include both `generic` and `avx2` binary extensions in the resulting wheel. This option offers more flexibility than the upstream config variable `FAISS_OPT_LEVEL`, which cannot specify arbitrary combinations.\n- `FAISS_GPU_SUPPORT`: GPU support. You may set a value from `<OFF|CUDA|CUVS|ROCM>`. For example, setting `CUDA` will enable CUDA support. For CUDA, you will need the [CUDA toolkit](https://developer.nvidia.com/cuda-toolkit) installed on the system. For ROCm, you will need the [ROCm](https://rocm.docs.amd.com/en/latest/).\n- `FAISS_ENABLE_MKL`: Intel MKL support. Default is `OFF`. Setting `FAISS_ENABLE_MKL=ON` links Intel oneAPI Math Kernel Library on Linux. You will need to install [Intel oneAPI MKL](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html) before building a wheel. When `OFF`, the system needs a BLAS backend that CMake can find, such as OpenBLAS.\n- `FAISS_USE_LTO`: Enable link time optimization. Default is `ON`. Set `FAISS_USE_LTO=OFF` to disable.\n\nSee also the list of supported build-time options in [the upstream documentation](https://github.com/facebookresearch/faiss/blob/main/INSTALL.md#step-1-invoking-cmake). Do not directly set `FAISS_OPT_LEVEL` and `FAISS_ENABLE_GPU` when building a wheel via this project, as that will confuse the build process.\n\nYou might want to overwrite the default wheel package name `faiss-cpu` depending on the build option. Manually rewrite the name field in `pyproject.toml` file, or launch the following script to update the project name in `pyproject.toml`.\n\n```bash\n./scripts/rename_project.sh faiss-gpu\n```\n\n## Development\n\nThis repository is intended to support PyPI distribution for the official [faiss](https://github.com/facebookresearch/faiss) library.\nThe repository contains the CI workflow based on [cibuildwheel](https://github.com/pypa/cibuildwheel/).\nFeel free to make a pull request to fix packaging problems.\n\nCurrently, GPU wheels result in a large binary size that exceeds the file size limit of PyPI.\n\nOther relevant resources:\n\n- [Packaging projects with GPU code](https://pypackaging-native.github.io/key-issues/gpus/)\n",
      "keywords": "faiss,similarity search,clustering,machine learning",
      "platform": [],
      "classifiers": [
        "Development Status :: 4 - Beta",
        "Intended Audience :: Developers",
        "Intended Audience :: Science/Research",
        "Operating System :: MacOS :: MacOS X",
        "Operating System :: Microsoft :: Windows",
        "Operating System :: POSIX",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Programming Language :: Python :: 3.14",
        "Topic :: Scientific/Engineering :: Artificial Intelligence",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Repository, https://github.com/kyamagu/faiss-wheels"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "numpy<3.0,>=1.25.0",
        "packaging"
      ],
      "requires_external": [],
      "requires_python": "<3.15,>=3.10",
      "description_content_type": "text/markdown",
      "provides_extras": [],
      "dynamic": [],
      "license_expression": "MIT AND BSD-3-Clause",
      "license_file": [],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=ef465f51da803d4ed8b88cede9d91cdea375d73264dc385cfc8efed2ff08e8d4",
          "hashes": {
            "sha256": "ef465f51da803d4ed8b88cede9d91cdea375d73264dc385cfc8efed2ff08e8d4"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/ef4/65f51da803d4e/faiss_cpu-1.9.0.post1-cp312-abi3-manylinux_2_39_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                8,
                28,
                5,
                54,
                26
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=257f0f38c241f07a80f3265feee98ce8b4c35f1b953242e29d01fbee6f2a9baa",
          "hashes": {
            "sha256": "257f0f38c241f07a80f3265feee98ce8b4c35f1b953242e29d01fbee6f2a9baa"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/257/f0f38c241f07a/faiss_cpu-1.9.0.post1-cp313-abi3-manylinux_2_39_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                8,
                28,
                5,
                54,
                28
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=0b9c235f48a2269d4286119996383dc1bdf65d409523825b3748fa4833599297",
          "hashes": {
            "sha256": "0b9c235f48a2269d4286119996383dc1bdf65d409523825b3748fa4833599297"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/0b9/c235f48a2269d/faiss_cpu-1.9.0.post1-cp314-abi3-manylinux_2_39_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                8,
                28,
                5,
                54,
                29
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    }
  },
  "type": "projectconfig"
}
