Skip to main content

Classical AFIS library: minutiae extraction, matching, and quality (Python + optional native NBIS)

Project description

afis

Classical AFIS toolkit for fingerprint minutiae extraction, matching, and quality assessment. Pure Python by default; optional native NBIS backend (libafis_lfs) when built on macOS or Linux.

Install

make install

Uses uv. Equivalent:

uv sync --all-extras --group dev
make native

make native builds libafis_lfs.dylib (macOS) or libafis_lfs.so (Linux) into afis/_native/. Compiles in parallel (-j); install ccache for faster rebuilds.

Quickstart

from afis import FingerprintProcessor, match_templates

proc = FingerprintProcessor(backend="auto")
a = proc.process("finger_a.png")
b = proc.process("finger_b.png")
print(a.n_minutiae, a.header.image_quality)

result = match_templates(
    a.minutiae, b.minutiae,
    method="bozorth3",
    height_a=a.header.height,
    height_b=b.header.height,
)
print(result.score, result.decision)

CLI

uv run afis extract finger.png finger.xyt
uv run afis match a.xyt b.xyt --method bozorth3 --height 480
uv run afis quality finger.png

Develop

make test
make build

License

MIT. Copyright (c) 2026 Ashok Pant.

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

afis-1.0.1.tar.gz (731.7 kB view details)

Uploaded Source

Built Distribution

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

afis-1.0.1-py3-none-any.whl (91.0 kB view details)

Uploaded Python 3

File details

Details for the file afis-1.0.1.tar.gz.

File metadata

  • Download URL: afis-1.0.1.tar.gz
  • Upload date:
  • Size: 731.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for afis-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1c7581a54ef2aee1ed634073caa427a7347391b717cf431b946f052f40238d14
MD5 5663bc79f23f66f97c552cc9180d049e
BLAKE2b-256 7f90ee5b95ce94221be69dacac8581a9b668f3fc50f88468e8057cbdb3f4969e

See more details on using hashes here.

Provenance

The following attestation bundles were made for afis-1.0.1.tar.gz:

Publisher: publish.yml on ashokpant/afis

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

File details

Details for the file afis-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: afis-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 91.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for afis-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 900ffd92b197d1289546569f30d72698b8a5ecd5516fe327204a313cfbd4dbeb
MD5 e756573ac6f0b7b99222922540e841ad
BLAKE2b-256 7fe0c5f717441ecb0aa0cf0a5a85f03f4102483fa518e8354498de45a2426834

See more details on using hashes here.

Provenance

The following attestation bundles were made for afis-1.0.1-py3-none-any.whl:

Publisher: publish.yml on ashokpant/afis

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