authenticvision-cli 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,95 @@
1
+ Metadata-Version: 2.4
2
+ Name: authenticvision-cli
3
+ Version: 0.1.0
4
+ Summary: CLI tool for Deepfake Image Detection
5
+ Author: Khalifa A. BEYE
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Intended Audience :: End Users/Desktop
10
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
11
+ Classifier: Topic :: Scientific/Engineering :: Image Recognition
12
+ Requires-Python: >=3.8
13
+ Description-Content-Type: text/markdown
14
+ Requires-Dist: torch
15
+ Requires-Dist: transformers
16
+ Requires-Dist: Pillow
17
+ Requires-Dist: fastapi
18
+ Requires-Dist: uvicorn
19
+ Requires-Dist: python-multipart
20
+ Requires-Dist: gradio
21
+ Dynamic: author
22
+ Dynamic: classifier
23
+ Dynamic: description
24
+ Dynamic: description-content-type
25
+ Dynamic: requires-dist
26
+ Dynamic: requires-python
27
+ Dynamic: summary
28
+
29
+ # AuthenticVision CLI - Deepfake Detection Tool
30
+
31
+ Un outil en ligne de commande (CLI) puissant pour analyser des images et détecter si elles ont été générées ou manipulées par une Intelligence Artificielle (Deepfakes), en utilisant un modèle Vision Transformer (ViT) avancé.
32
+
33
+ ---
34
+
35
+ ## 🚀 Installation
36
+
37
+ L'outil est packagé pour s'installer facilement et de manière globale sur votre système.
38
+
39
+ 1. Ouvrez votre terminal et placez-vous dans le dossier du projet :
40
+ ```bash
41
+ cd /chemin/vers/deepfake_detection
42
+ ```
43
+ 2. Installez le package en mode éditable avec `pip` :
44
+ ```bash
45
+ pip install -e .
46
+ ```
47
+
48
+ Une fois l'installation terminée, la commande globale **`deepfake`** sera accessible depuis n'importe quel dossier de votre terminal.
49
+
50
+ ---
51
+
52
+ ## 🛠️ Utilisation
53
+
54
+ La syntaxe de base est très simple : passez simplement le chemin de l'image que vous souhaitez analyser.
55
+
56
+ ### 1. Analyse Standard Rapide
57
+ ```bash
58
+ deepfake mon_image.jpg
59
+ ```
60
+ *L'outil chargera le modèle silencieusement (pour ne pas polluer l'écran) et affichera un encart clair avec le verdict "AUTHENTIQUE" ou "DEEPFAKE" ainsi que le pourcentage de confiance.*
61
+
62
+ ### 2. Ajuster la Sensibilité (Rigueur)
63
+ L'outil vous permet d'ajuster sa tolérance grâce à l'argument `--sensitivity` (valeur entre 1 et 99, par défaut : 50).
64
+ - **Augmenter la sensibilité (ex: 80)** : Rend l'IA plus stricte. Utile si vous analysez des documents sensibles où le moindre doute génératif doit déclencher une alerte.
65
+ - **Diminuer la sensibilité (ex: 20)** : Rend l'IA plus indulgente. Utile pour éviter les faux positifs sur des photos réelles mais très compressées ou avec beaucoup de filtres (type Instagram).
66
+
67
+ ```bash
68
+ deepfake mon_image.jpg --sensitivity 85
69
+ ```
70
+
71
+ ### 3. Sortie au format JSON (Pour les scripts/pipelines)
72
+ Si vous souhaitez intégrer cet outil dans un script automatisé (bash, Node.js, Pipeline CI/CD, etc.), utilisez le flag `--json`.
73
+ L'interface visuelle sera désactivée et la sortie sera un JSON pur, facilement parsable.
74
+
75
+ ```bash
76
+ deepfake mon_image.jpg --json
77
+ ```
78
+
79
+ **Exemple de sortie JSON :**
80
+ ```json
81
+ {
82
+ "status": "success",
83
+ "file": "test.jpg",
84
+ "verdict": "AUTHENTIQUE",
85
+ "fake_prob": 0.0398,
86
+ "real_prob": 0.9602,
87
+ "sensitivity_used": 50
88
+ }
89
+ ```
90
+
91
+ ### 4. Afficher l'Aide
92
+ Pour retrouver toutes les commandes disponibles directement dans le terminal :
93
+ ```bash
94
+ deepfake --help
95
+ ```
@@ -0,0 +1,67 @@
1
+ # AuthenticVision CLI - Deepfake Detection Tool
2
+
3
+ Un outil en ligne de commande (CLI) puissant pour analyser des images et détecter si elles ont été générées ou manipulées par une Intelligence Artificielle (Deepfakes), en utilisant un modèle Vision Transformer (ViT) avancé.
4
+
5
+ ---
6
+
7
+ ## 🚀 Installation
8
+
9
+ L'outil est packagé pour s'installer facilement et de manière globale sur votre système.
10
+
11
+ 1. Ouvrez votre terminal et placez-vous dans le dossier du projet :
12
+ ```bash
13
+ cd /chemin/vers/deepfake_detection
14
+ ```
15
+ 2. Installez le package en mode éditable avec `pip` :
16
+ ```bash
17
+ pip install -e .
18
+ ```
19
+
20
+ Une fois l'installation terminée, la commande globale **`deepfake`** sera accessible depuis n'importe quel dossier de votre terminal.
21
+
22
+ ---
23
+
24
+ ## 🛠️ Utilisation
25
+
26
+ La syntaxe de base est très simple : passez simplement le chemin de l'image que vous souhaitez analyser.
27
+
28
+ ### 1. Analyse Standard Rapide
29
+ ```bash
30
+ deepfake mon_image.jpg
31
+ ```
32
+ *L'outil chargera le modèle silencieusement (pour ne pas polluer l'écran) et affichera un encart clair avec le verdict "AUTHENTIQUE" ou "DEEPFAKE" ainsi que le pourcentage de confiance.*
33
+
34
+ ### 2. Ajuster la Sensibilité (Rigueur)
35
+ L'outil vous permet d'ajuster sa tolérance grâce à l'argument `--sensitivity` (valeur entre 1 et 99, par défaut : 50).
36
+ - **Augmenter la sensibilité (ex: 80)** : Rend l'IA plus stricte. Utile si vous analysez des documents sensibles où le moindre doute génératif doit déclencher une alerte.
37
+ - **Diminuer la sensibilité (ex: 20)** : Rend l'IA plus indulgente. Utile pour éviter les faux positifs sur des photos réelles mais très compressées ou avec beaucoup de filtres (type Instagram).
38
+
39
+ ```bash
40
+ deepfake mon_image.jpg --sensitivity 85
41
+ ```
42
+
43
+ ### 3. Sortie au format JSON (Pour les scripts/pipelines)
44
+ Si vous souhaitez intégrer cet outil dans un script automatisé (bash, Node.js, Pipeline CI/CD, etc.), utilisez le flag `--json`.
45
+ L'interface visuelle sera désactivée et la sortie sera un JSON pur, facilement parsable.
46
+
47
+ ```bash
48
+ deepfake mon_image.jpg --json
49
+ ```
50
+
51
+ **Exemple de sortie JSON :**
52
+ ```json
53
+ {
54
+ "status": "success",
55
+ "file": "test.jpg",
56
+ "verdict": "AUTHENTIQUE",
57
+ "fake_prob": 0.0398,
58
+ "real_prob": 0.9602,
59
+ "sensitivity_used": 50
60
+ }
61
+ ```
62
+
63
+ ### 4. Afficher l'Aide
64
+ Pour retrouver toutes les commandes disponibles directement dans le terminal :
65
+ ```bash
66
+ deepfake --help
67
+ ```
@@ -0,0 +1,95 @@
1
+ Metadata-Version: 2.4
2
+ Name: authenticvision-cli
3
+ Version: 0.1.0
4
+ Summary: CLI tool for Deepfake Image Detection
5
+ Author: Khalifa A. BEYE
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Intended Audience :: End Users/Desktop
10
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
11
+ Classifier: Topic :: Scientific/Engineering :: Image Recognition
12
+ Requires-Python: >=3.8
13
+ Description-Content-Type: text/markdown
14
+ Requires-Dist: torch
15
+ Requires-Dist: transformers
16
+ Requires-Dist: Pillow
17
+ Requires-Dist: fastapi
18
+ Requires-Dist: uvicorn
19
+ Requires-Dist: python-multipart
20
+ Requires-Dist: gradio
21
+ Dynamic: author
22
+ Dynamic: classifier
23
+ Dynamic: description
24
+ Dynamic: description-content-type
25
+ Dynamic: requires-dist
26
+ Dynamic: requires-python
27
+ Dynamic: summary
28
+
29
+ # AuthenticVision CLI - Deepfake Detection Tool
30
+
31
+ Un outil en ligne de commande (CLI) puissant pour analyser des images et détecter si elles ont été générées ou manipulées par une Intelligence Artificielle (Deepfakes), en utilisant un modèle Vision Transformer (ViT) avancé.
32
+
33
+ ---
34
+
35
+ ## 🚀 Installation
36
+
37
+ L'outil est packagé pour s'installer facilement et de manière globale sur votre système.
38
+
39
+ 1. Ouvrez votre terminal et placez-vous dans le dossier du projet :
40
+ ```bash
41
+ cd /chemin/vers/deepfake_detection
42
+ ```
43
+ 2. Installez le package en mode éditable avec `pip` :
44
+ ```bash
45
+ pip install -e .
46
+ ```
47
+
48
+ Une fois l'installation terminée, la commande globale **`deepfake`** sera accessible depuis n'importe quel dossier de votre terminal.
49
+
50
+ ---
51
+
52
+ ## 🛠️ Utilisation
53
+
54
+ La syntaxe de base est très simple : passez simplement le chemin de l'image que vous souhaitez analyser.
55
+
56
+ ### 1. Analyse Standard Rapide
57
+ ```bash
58
+ deepfake mon_image.jpg
59
+ ```
60
+ *L'outil chargera le modèle silencieusement (pour ne pas polluer l'écran) et affichera un encart clair avec le verdict "AUTHENTIQUE" ou "DEEPFAKE" ainsi que le pourcentage de confiance.*
61
+
62
+ ### 2. Ajuster la Sensibilité (Rigueur)
63
+ L'outil vous permet d'ajuster sa tolérance grâce à l'argument `--sensitivity` (valeur entre 1 et 99, par défaut : 50).
64
+ - **Augmenter la sensibilité (ex: 80)** : Rend l'IA plus stricte. Utile si vous analysez des documents sensibles où le moindre doute génératif doit déclencher une alerte.
65
+ - **Diminuer la sensibilité (ex: 20)** : Rend l'IA plus indulgente. Utile pour éviter les faux positifs sur des photos réelles mais très compressées ou avec beaucoup de filtres (type Instagram).
66
+
67
+ ```bash
68
+ deepfake mon_image.jpg --sensitivity 85
69
+ ```
70
+
71
+ ### 3. Sortie au format JSON (Pour les scripts/pipelines)
72
+ Si vous souhaitez intégrer cet outil dans un script automatisé (bash, Node.js, Pipeline CI/CD, etc.), utilisez le flag `--json`.
73
+ L'interface visuelle sera désactivée et la sortie sera un JSON pur, facilement parsable.
74
+
75
+ ```bash
76
+ deepfake mon_image.jpg --json
77
+ ```
78
+
79
+ **Exemple de sortie JSON :**
80
+ ```json
81
+ {
82
+ "status": "success",
83
+ "file": "test.jpg",
84
+ "verdict": "AUTHENTIQUE",
85
+ "fake_prob": 0.0398,
86
+ "real_prob": 0.9602,
87
+ "sensitivity_used": 50
88
+ }
89
+ ```
90
+
91
+ ### 4. Afficher l'Aide
92
+ Pour retrouver toutes les commandes disponibles directement dans le terminal :
93
+ ```bash
94
+ deepfake --help
95
+ ```
@@ -0,0 +1,9 @@
1
+ README.md
2
+ cli.py
3
+ setup.py
4
+ authenticvision_cli.egg-info/PKG-INFO
5
+ authenticvision_cli.egg-info/SOURCES.txt
6
+ authenticvision_cli.egg-info/dependency_links.txt
7
+ authenticvision_cli.egg-info/entry_points.txt
8
+ authenticvision_cli.egg-info/requires.txt
9
+ authenticvision_cli.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ deepfake = cli:main
@@ -0,0 +1,7 @@
1
+ torch
2
+ transformers
3
+ Pillow
4
+ fastapi
5
+ uvicorn
6
+ python-multipart
7
+ gradio
@@ -0,0 +1,113 @@
1
+ #!/usr/bin/env python
2
+ import sys
3
+ import argparse
4
+ import json
5
+ import os
6
+ import logging
7
+ import contextlib
8
+ import warnings
9
+
10
+ # Hide TensorFlow and Hugging Face logs
11
+ os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
12
+ os.environ["HF_HUB_DISABLE_PROGRESS_BARS"] = "1"
13
+ logging.getLogger("transformers").setLevel(logging.ERROR)
14
+ warnings.filterwarnings("ignore")
15
+
16
+ import torch
17
+ from PIL import Image
18
+ from transformers import ViTImageProcessor, ViTForImageClassification
19
+ from transformers import logging as hf_logging
20
+ hf_logging.set_verbosity_error()
21
+
22
+ def main():
23
+ parser = argparse.ArgumentParser(description="Outil en ligne de commande pour la détection de Deepfakes.")
24
+ parser.add_argument('image_path', type=str, help='Le chemin vers l\'image à analyser.')
25
+ parser.add_argument('--sensitivity', type=int, default=50, help='Sensibilité de 1 à 99 (défaut: 50). Augmenter pour être plus strict sur les fakes.')
26
+ parser.add_argument('--json', action='store_true', help='Affiche le résultat au format JSON bruit pour faciliter le traitement par d\'autres scripts.')
27
+
28
+ args = parser.parse_args()
29
+
30
+ try:
31
+ # Configuration de l'appareil
32
+ device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")
33
+ model_name = "prithivMLmods/Deep-Fake-Detector-Model"
34
+
35
+ # Rediriger silencieusement le chargement des poids du modèle
36
+ with open(os.devnull, 'w') as fnull:
37
+ with contextlib.redirect_stdout(fnull), contextlib.redirect_stderr(fnull):
38
+ processor = ViTImageProcessor.from_pretrained(model_name)
39
+ model = ViTForImageClassification.from_pretrained(model_name).to(device)
40
+ model.eval()
41
+ except Exception as e:
42
+ if args.json:
43
+ print(json.dumps({"status": "error", "message": f"Erreur de chargement du modèle: {str(e)}"}))
44
+ else:
45
+ print(f"❌ Erreur critique lors du chargement du modèle : {e}")
46
+ sys.exit(1)
47
+
48
+ try:
49
+ img = Image.open(args.image_path).convert("RGB")
50
+ except Exception as e:
51
+ if args.json:
52
+ print(json.dumps({"status": "error", "message": f"Erreur lors de l'ouverture de l'image: {str(e)}"}))
53
+ else:
54
+ print(f"❌ Erreur lors de l'ouverture : Vérifiez que le chemin '{args.image_path}' est correct.")
55
+ sys.exit(1)
56
+
57
+ try:
58
+ inputs = processor(images=img, return_tensors="pt").to(device)
59
+ with torch.no_grad():
60
+ outputs = model(**inputs)
61
+ probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
62
+
63
+ real_prob = float(probs[0][0])
64
+ fake_prob = float(probs[0][1])
65
+
66
+ # Logique de Sensibilité (1-99) identique à api.py / app.py
67
+ shift = args.sensitivity - 50.0
68
+ multiplier = 10 ** (shift / 25.0)
69
+
70
+ fake_odds = fake_prob / (real_prob + 1e-9)
71
+ adjusted_fake_odds = fake_odds * multiplier
72
+
73
+ adjusted_fake_prob = adjusted_fake_odds / (1 + adjusted_fake_odds)
74
+ adjusted_real_prob = 1.0 - adjusted_fake_prob
75
+
76
+ verdict = "DEEPFAKE" if adjusted_fake_prob > 0.50 else "AUTHENTIQUE"
77
+
78
+ except Exception as e:
79
+ if args.json:
80
+ print(json.dumps({"status": "error", "message": f"Erreur lors de l'analyse: {str(e)}"}))
81
+ else:
82
+ print(f"❌ Erreur lors de l'analyse : {e}")
83
+ sys.exit(1)
84
+
85
+ if args.json:
86
+ output_data = {
87
+ "status": "success",
88
+ "file": args.image_path,
89
+ "verdict": verdict,
90
+ "fake_prob": adjusted_fake_prob,
91
+ "real_prob": adjusted_real_prob,
92
+ "sensitivity_used": args.sensitivity,
93
+ }
94
+ print(json.dumps(output_data, indent=2))
95
+ else:
96
+ print("\n" + "="*40)
97
+ print("RÉSULTAT DE L'ANALYSE")
98
+ print("="*40)
99
+ print(f"Fichier analysé : {args.image_path}")
100
+ print(f"Sensibilité : {args.sensitivity}%")
101
+ print("-" * 40)
102
+
103
+ if verdict == "DEEPFAKE":
104
+ print(f"🚨 Verdict : {verdict} (Confiance : {adjusted_fake_prob*100:.1f}%)")
105
+ print(f" Ce contenu présente de fortes traces de génération par IA.")
106
+ else:
107
+ print(f"✅ Verdict : {verdict} (Confiance : {adjusted_real_prob*100:.1f}%)")
108
+ print(f" Ce contenu semble être réel.")
109
+
110
+ print("="*40 + "\n")
111
+
112
+ if __name__ == '__main__':
113
+ main()
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,39 @@
1
+ from setuptools import setup
2
+ import os
3
+
4
+ # Lire le contenu du README pour la description longue de PyPI
5
+ with open("README.md", "r", encoding="utf-8") as fh:
6
+ long_description = fh.read()
7
+
8
+ setup(
9
+ name='authenticvision-cli', # Un nom unique sur PyPI pour éviter les conflits
10
+ version='0.1.0',
11
+ description='CLI tool for Deepfake Image Detection',
12
+ long_description=long_description,
13
+ long_description_content_type="text/markdown",
14
+ author='Khalifa A. BEYE',
15
+ py_modules=['cli'],
16
+ install_requires=[
17
+ 'torch',
18
+ 'transformers',
19
+ 'Pillow',
20
+ 'fastapi',
21
+ 'uvicorn',
22
+ 'python-multipart',
23
+ 'gradio',
24
+ ],
25
+ entry_points={
26
+ 'console_scripts': [
27
+ 'deepfake=cli:main', # La commande globale que l'utilisateur tapera
28
+ ],
29
+ },
30
+ classifiers=[
31
+ "Programming Language :: Python :: 3",
32
+ "License :: OSI Approved :: MIT License",
33
+ "Operating System :: OS Independent",
34
+ "Intended Audience :: End Users/Desktop",
35
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
36
+ "Topic :: Scientific/Engineering :: Image Recognition"
37
+ ],
38
+ python_requires='>=3.8',
39
+ )