Skip to main content

Python bindings for FFF (Fast File Finder)

Project description

fff-search

Python bindings for FFF (Fast File Finder), built with PyO3 and Maturin. Install with pip install fff-search; import as fff.

Requirements

  • Python >= 3.10
  • Rust toolchain (to build the native extension)
  • uv (recommended)

Development setup

cd packages/fff-python
uv sync --all-extras
uv run maturin develop --release

Running tests

cd packages/fff-python
uv run pytest -v

Standalone example

cd packages/fff-python
uv run python examples/basic.py .

Basic usage

from fff import FileFinder

with FileFinder("/path/to/project", watch=False) as finder:
    finder.wait_for_scan_blocking(timeout_ms=5000)
    print(f"Indexed under {finder.base_path}")

    result = finder.search("main")
    if result:
        print(f"Showing {len(result)} of {result.total_matched} matches")
    for item, score in zip(result.items, result.scores):
        print(f"{item.relative_path}: {score.total}")

Async usage

wait_for_scan is a coroutine that polls the scan status and yields to the event loop, so it never blocks other tasks. Use wait_for_scan_blocking from synchronous code.

import asyncio
from fff import FileFinder

async def main():
    with FileFinder("/path/to/project", watch=False) as finder:
        await finder.wait_for_scan(timeout_ms=5000)
        result = finder.search("main")
        print(result)

asyncio.run(main())

Building wheels

cd packages/fff-python
uv run maturin build --release

The produced wheel is abi3 compatible with Python 3.10+.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fff_search-0.9.5.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fff_search-0.9.5-cp310-abi3-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

fff_search-0.9.5-cp310-abi3-manylinux_2_38_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.38+ x86-64

fff_search-0.9.5-cp310-abi3-manylinux_2_38_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.38+ ARM64

fff_search-0.9.5-cp310-abi3-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

fff_search-0.9.5-cp310-abi3-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file fff_search-0.9.5.tar.gz.

File metadata

  • Download URL: fff_search-0.9.5.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fff_search-0.9.5.tar.gz
Algorithm Hash digest
SHA256 4b9a0b3d58e6395cf201087d368399ac7d8ee99c3e4687bf5e5fdeb47850ad01
MD5 1320a62f3fe5317c3ac35de17be3f91b
BLAKE2b-256 9d81a1f478480db90809516e75f64b5a930a5ecf1f3afff06cca74d16e5b8746

See more details on using hashes here.

Provenance

The following attestation bundles were made for fff_search-0.9.5.tar.gz:

Publisher: release.yaml on dmtrKovalenko/fff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fff_search-0.9.5-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: fff_search-0.9.5-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fff_search-0.9.5-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9ecb29fa2aead634eda4d69840fbc10c8d3cc1d484a3050a75e6aa711880e4ea
MD5 619a93093fdc6402ff87832ed142ce88
BLAKE2b-256 78ea7cc3d3706140d00bb0cac2ff97dc9f56a9bb22f05b89b8caf0d2ad7a21f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for fff_search-0.9.5-cp310-abi3-win_amd64.whl:

Publisher: release.yaml on dmtrKovalenko/fff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fff_search-0.9.5-cp310-abi3-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for fff_search-0.9.5-cp310-abi3-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 f0007b6d79bfd23fcc152de3a7172d003ddc7840d978c40ae8c7129492311043
MD5 2458a3398f314d26943787f8677c8142
BLAKE2b-256 9d51487198f5be7b6fae972a4e910a0e77ea26db3a275fa6e0986151f81d355a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fff_search-0.9.5-cp310-abi3-manylinux_2_38_x86_64.whl:

Publisher: release.yaml on dmtrKovalenko/fff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fff_search-0.9.5-cp310-abi3-manylinux_2_38_aarch64.whl.

File metadata

File hashes

Hashes for fff_search-0.9.5-cp310-abi3-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 50e2416d5b5cde61fd79d8577482bfacf149d51597021ba1d1ed8ba758eb031c
MD5 92c548aa2d7170e5896b74eaaf19bfd9
BLAKE2b-256 3af7b5724a58d19b4ca433213b1151af8e15531584405ad000f84e708e1905b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fff_search-0.9.5-cp310-abi3-manylinux_2_38_aarch64.whl:

Publisher: release.yaml on dmtrKovalenko/fff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fff_search-0.9.5-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fff_search-0.9.5-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f21537bec3b24b885150535a7faf9cee9bf99ddbe1caaffd2fb01c836ee4ce1a
MD5 9531a0bc1cde27973a2fa3edd52cb1d1
BLAKE2b-256 ec59e744ed597f32cdfcaa41fcd07e9facc7755a585ab7da978219c2f00d5b41

See more details on using hashes here.

Provenance

The following attestation bundles were made for fff_search-0.9.5-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yaml on dmtrKovalenko/fff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fff_search-0.9.5-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fff_search-0.9.5-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d29eeadeb38700e4ea618b53cb278b4da8535b4a09d13728f6abbb32f1c4413a
MD5 d547aa9920388baa3bba9815226e3731
BLAKE2b-256 e0fdc9438851a2d07aea768c0a879a12df3996fd6f801657a0a43f66488b0e4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fff_search-0.9.5-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yaml on dmtrKovalenko/fff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page