Skip to main content

🌍 afrik-fingerprint

Un toolkit Python open-source conçu par et pour les développeurs africains, permettant de tester, configurer et communiquer facilement avec les capteurs d'empreintes digitales compatibles (AS608, R307, R503, etc.) via une liaison série (UART).

Python Version License PyPI Status

🎯 Fonctionnalités

  • Agnostique et multi-capteurs : Support unifié pour la gamme de capteurs Grow Technology (AS608, R307, R503, etc.).
  • Gestion simplifiée du protocole : Encapsulation des trames binaires, calcul automatique des checksums et gestion des erreurs UART.
  • Workflow complet : Capture d'images, extraction des caractéristiques (minutiae), fusion de gabarits et recherche dans la base de données interne.
  • Prêt pour l'intégration : Idéal pour vos prototypes de contrôle d'accès locaux, de bornes de pointage (time-and-attendance) et de solutions fintech en Afrique.

🚀 Installation

Installez simplement le package via pip :

pip install afrik-fingerprint

Note : Assurez-vous d'avoir configuré les permissions d'accès au port série (par exemple, /dev/ttyUSB0 ou /dev/ttyS0 sur Linux/Raspberry Pi) et d'utiliser un convertisseur de niveau logique 3.3V si nécessaire.

💻 Exemples d'Utilisation

Le package gère nativement les différents modèles de capteurs de la gamme (AS608, R307, R503, etc.) qui partagent le protocole Grow Technology.

1. Initialisation selon votre modèle de capteur

from afrik_fingerprint import AS608, R307, R503

# Pour un capteur optique standard AS608
sensor_as = AS608(port="/dev/ttyUSB0", baudrate=57600)

# Pour un capteur R307 (boîtier rectangulaire avec câble de raccordement)
sensor_r307 = R307(port="/dev/ttyUSB0", baudrate=57600)

# Pour un capteur R503 (modèle encastrable circulaire avec anneau LED lumineux)
sensor_r503 = R503(port="/dev/ttyUSB0", baudrate=57600)

print(f"Capteur initialisé avec succès.")

2. Enrôlement d'une empreinte digitale (Exemple avec le R503)

Processus complet en deux captures pour enregistrer une nouvelle empreinte dans la mémoire flash du module :

from afrik_fingerprint import R503
import time

# Connexion au capteur circulaire R503
sensor = R503(port="/dev/ttyUSB0")

print("Placez votre doigt sur le capteur R503...")
# Capture de la première image et conversion en buffer 1
if sensor.capture_and_generate(buffer_id=1):
    print("Première capture réussie. Retirez votre doigt.")
    time.sleep(2)
    
    print("Remplacez le même doigt...")
    if sensor.capture_and_generate(buffer_id=2):
        print("Seconde capture réussie. Fusion et enregistrement...")
        # Fusion des buffers 1 & 2 et stockage à l'ID 1
        if sensor.register_and_store(storage_id=1):
            print("Empreinte enregistrée avec succès à l'ID 1 !")
        else:
            print("Erreur lors de l'enregistrement en mémoire flash.")
    else:
        print("Échec de la seconde capture.")
else:
    print("Aucun doigt détecté ou échec de la première capture.")

3. Recherche 1:N (Identification avec un R307)

Identifier à qui appartient une empreinte présentée face à la base de données interne :

from afrik_fingerprint import R307

sensor = R307(port="/dev/ttyUSB0")

print("Présentez votre doigt pour l'identification...")
# Capture et conversion dans le buffer 1
if sensor.capture_and_generate(buffer_id=1):
    # Recherche dans la base de données (IDs de 0 à 1000)
    match_found, template_id, score = sensor.search_database(buffer_id=1, start_page=0, page_num=1000)
    
    if match_found:
        print(f"Correspondance trouvée ! ID utilisateur : {template_id} (Score : {score})")
    else:
        print("Aucune correspondance trouvée dans la base de données.")

🤝 Contribution

Les contributions de la communauté sont les bienvenues pour étendre la compatibilité avec d'autres modules biométriques ! N'hésitez pas à ouvrir une Pull Request sur GitHub.

Metadata

Release files for afrik-fingerprint 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for afrik-fingerprint 0.1.4
File Size Uploaded Provenance
afrik_fingerprint-0.1.4.tar.gz 7.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for afrik-fingerprint 0.1.4
File Interpreter ABI Platform
afrik_fingerprint-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 16.4 kB

Release files / afrik_fingerprint-0.1.4.tar.gz

Download URL afrik_fingerprint-0.1.4.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
312c033ffd7c1be3a884d7507d93eaf8982b57ce1cd9874032c062eeb00d20fb
BLAKE2b-256 checksum
How to use checksums
22b1c7cfef10b8ca6625a18f063c671617a678eda783ca4ce305d93aaa51d5b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / afrik_fingerprint-0.1.4-py3-none-any.whl

Download URL afrik_fingerprint-0.1.4-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
627ebf37bc20ad9b5fd43aebc2ed79ecfa0b08c21335ac43a2943191638d3afc
BLAKE2b-256 checksum
How to use checksums
b1395e2430e7d85f0d7bca4cd94204589b6c6b4e7fc6344c44eacdb5af4327e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Security for afrik-fingerprint 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page