@mcptoolshop/venvkit 0.2.5 → 1.0.0
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.
- package/README.es.md +143 -132
- package/README.fr.md +143 -132
- package/README.hi.md +143 -136
- package/README.it.md +143 -132
- package/README.ja.md +143 -132
- package/README.md +15 -4
- package/README.pt-BR.md +143 -132
- package/README.zh.md +143 -132
- package/dist/doctorLite.d.ts +75 -0
- package/dist/doctorLite.d.ts.map +1 -0
- package/dist/doctorLite.js +705 -0
- package/dist/doctorLite.js.map +1 -0
- package/dist/doctorLite.test.d.ts +2 -0
- package/dist/doctorLite.test.d.ts.map +1 -0
- package/dist/doctorLite.test.js +268 -0
- package/dist/doctorLite.test.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/integration.test.d.ts +2 -0
- package/dist/integration.test.d.ts.map +1 -0
- package/dist/integration.test.js +245 -0
- package/dist/integration.test.js.map +1 -0
- package/dist/mapRender.d.ts +105 -0
- package/dist/mapRender.d.ts.map +1 -0
- package/dist/mapRender.js +718 -0
- package/dist/mapRender.js.map +1 -0
- package/dist/mapRender.test.d.ts +2 -0
- package/dist/mapRender.test.d.ts.map +1 -0
- package/dist/mapRender.test.js +571 -0
- package/dist/mapRender.test.js.map +1 -0
- package/dist/map_cli.d.ts +3 -0
- package/dist/map_cli.d.ts.map +1 -0
- package/dist/map_cli.js +278 -0
- package/dist/map_cli.js.map +1 -0
- package/dist/map_cli.test.d.ts +2 -0
- package/dist/map_cli.test.d.ts.map +1 -0
- package/dist/map_cli.test.js +320 -0
- package/dist/map_cli.test.js.map +1 -0
- package/dist/runLog.d.ts +71 -0
- package/dist/runLog.d.ts.map +1 -0
- package/dist/runLog.js +98 -0
- package/dist/runLog.js.map +1 -0
- package/dist/runLog.test.d.ts +2 -0
- package/dist/runLog.test.d.ts.map +1 -0
- package/dist/runLog.test.js +327 -0
- package/dist/runLog.test.js.map +1 -0
- package/dist/scanEnvPaths.d.ts +18 -0
- package/dist/scanEnvPaths.d.ts.map +1 -0
- package/dist/scanEnvPaths.js +177 -0
- package/dist/scanEnvPaths.js.map +1 -0
- package/dist/scanEnvPaths.test.d.ts +2 -0
- package/dist/scanEnvPaths.test.d.ts.map +1 -0
- package/dist/scanEnvPaths.test.js +250 -0
- package/dist/scanEnvPaths.test.js.map +1 -0
- package/dist/taskCluster.d.ts +62 -0
- package/dist/taskCluster.d.ts.map +1 -0
- package/dist/taskCluster.js +180 -0
- package/dist/taskCluster.js.map +1 -0
- package/dist/taskCluster.test.d.ts +2 -0
- package/dist/taskCluster.test.d.ts.map +1 -0
- package/dist/taskCluster.test.js +375 -0
- package/dist/taskCluster.test.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +26 -0
- package/dist/vitest.config.js.map +1 -0
- package/dist/windows.test.d.ts +6 -0
- package/dist/windows.test.d.ts.map +1 -0
- package/dist/windows.test.js +121 -0
- package/dist/windows.test.js.map +1 -0
- package/package.json +6 -2
package/README.fr.md
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<a href="README.
|
|
3
|
-
</p>
|
|
4
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.md">English</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
5
|
<p align="center">
|
|
6
6
|
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/venvkit/readme.png" alt="venvkit" width="400">
|
|
7
7
|
</p>
|
|
8
|
-
|
|
9
|
-
# venvkit
|
|
10
|
-
|
|
11
|
-
> Fait partie de [MCP Tool Shop](https://mcptoolshop.com)
|
|
12
|
-
|
|
8
|
+
|
|
9
|
+
# venvkit
|
|
10
|
+
|
|
11
|
+
> Fait partie de [MCP Tool Shop](https://mcptoolshop.com)
|
|
12
|
+
|
|
13
13
|
<p align="center">
|
|
14
14
|
<a href="https://github.com/mcp-tool-shop-org/venvkit/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/venvkit/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
15
15
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square" alt="License: MIT"></a>
|
|
16
16
|
<a href="https://mcp-tool-shop-org.github.io/venvkit/"><img src="https://img.shields.io/badge/Landing_Page-live-blue?style=flat-square" alt="Landing Page"></a>
|
|
17
17
|
<a href="https://www.npmjs.com/package/@mcptoolshop/venvkit"><img src="https://img.shields.io/npm/v/@mcptoolshop/venvkit?style=flat-square&color=cb3837" alt="npm version"></a>
|
|
18
18
|
</p>
|
|
19
|
-
|
|
20
|
-
**Outil de diagnostic pour les environnements virtuels Python, conçu pour les flux de travail
|
|
21
|
-
|
|
22
|
-
Analyse votre système pour détecter les environnements Python, diagnostique les problèmes
|
|
23
|
-
|
|
24
|
-
## Démarrage rapide en 30 secondes
|
|
25
|
-
|
|
19
|
+
|
|
20
|
+
**Outil de diagnostic pour les environnements virtuels Python, conçu pour les flux de travail de Machine Learning sous Windows.**
|
|
21
|
+
|
|
22
|
+
Analyse votre système pour détecter les environnements Python, diagnostique les problèmes (SSL, DLL, incompatibilités ABI, fuites de chemins), suit l'historique d'exécution des tâches, détecte les tâches instables et génère une carte de l'écosystème.
|
|
23
|
+
|
|
24
|
+
## Démarrage rapide en 30 secondes
|
|
25
|
+
|
|
26
26
|
```bash
|
|
27
27
|
git clone https://github.com/mcp-tool-shop-org/venvkit && cd venvkit
|
|
28
28
|
npm install && npm run build
|
|
29
29
|
node dist/map_cli.js --root C:\projects --httpsProbe
|
|
30
30
|
# Open .venvkit/venv-map.html in your browser
|
|
31
31
|
```
|
|
32
|
-
|
|
33
|
-
## Fonctionnalités
|
|
34
|
-
|
|
35
|
-
- **doctorLite** - Vérification rapide de l'état de santé de n'importe quel interpréteur Python
|
|
36
|
-
- Vérification SSL/TLS
|
|
37
|
-
- Échecs de chargement des DLL (courant avec PyTorch/CUDA)
|
|
38
|
-
- Incompatibilités ABI (ARM vs x86)
|
|
39
|
-
- Vérifications de l'intégrité de pip
|
|
40
|
-
- Détection
|
|
41
|
-
|
|
42
|
-
- **scanEnvPaths** - Découvre tous les environnements Python de votre système
|
|
43
|
-
- Trouve les environnements venv, conda, les versions pyenv et les interpréteurs de base.
|
|
44
|
-
- Profondeur et filtrage configurables.
|
|
45
|
-
|
|
46
|
-
- **mapRender** - Visualise votre écosystème Python
|
|
47
|
-
- Sortie JSON pour une utilisation programmatique
|
|
48
|
-
- Diagrammes Mermaid pour la documentation
|
|
49
|
-
- Groupement des interpréteurs de base avec analyse du rayon d'impact
|
|
50
|
-
- Visualisation du routage des tâches
|
|
51
|
-
|
|
52
|
-
- **runLog** - Suit l'historique d'exécution des tâches
|
|
53
|
-
- Format JSONL uniquement en ajout
|
|
54
|
-
- Enregistre quel environnement a exécuté quelle tâche
|
|
55
|
-
- Enregistre les succès/échecs avec la classification des erreurs
|
|
56
|
-
|
|
57
|
-
- **taskCluster** - Regroupe les exécutions de tâches par signature
|
|
58
|
-
- Détection des tâches instables (échec/succès incohérents)
|
|
59
|
-
- Détection des instabilités dépendantes de l'environnement
|
|
60
|
-
- Identification des points chauds d'échec
|
|
61
|
-
- Analyse de la contagion (causes profondes partagées)
|
|
62
|
-
|
|
63
|
-
## Installation
|
|
64
|
-
|
|
32
|
+
|
|
33
|
+
## Fonctionnalités
|
|
34
|
+
|
|
35
|
+
- **doctorLite** - Vérification rapide de l'état de santé de n'importe quel interpréteur Python
|
|
36
|
+
- Vérification SSL/TLS
|
|
37
|
+
- Échecs de chargement des DLL (courant avec PyTorch/CUDA)
|
|
38
|
+
- Incompatibilités ABI (ARM vs x86)
|
|
39
|
+
- Vérifications de l'intégrité de pip
|
|
40
|
+
- Détection de fuites des répertoires utilisateur et de la variable PYTHONPATH
|
|
41
|
+
|
|
42
|
+
- **scanEnvPaths** - Découvre tous les environnements Python de votre système
|
|
43
|
+
- Trouve les environnements venv, conda, les versions pyenv et les interpréteurs de base.
|
|
44
|
+
- Profondeur et filtrage configurables.
|
|
45
|
+
|
|
46
|
+
- **mapRender** - Visualise votre écosystème Python
|
|
47
|
+
- Sortie JSON pour une utilisation programmatique
|
|
48
|
+
- Diagrammes Mermaid pour la documentation
|
|
49
|
+
- Groupement des interpréteurs de base avec analyse du rayon d'impact
|
|
50
|
+
- Visualisation du routage des tâches
|
|
51
|
+
|
|
52
|
+
- **runLog** - Suit l'historique d'exécution des tâches
|
|
53
|
+
- Format JSONL uniquement en ajout
|
|
54
|
+
- Enregistre quel environnement a exécuté quelle tâche
|
|
55
|
+
- Enregistre les succès/échecs avec la classification des erreurs
|
|
56
|
+
|
|
57
|
+
- **taskCluster** - Regroupe les exécutions de tâches par signature
|
|
58
|
+
- Détection des tâches instables (échec/succès incohérents)
|
|
59
|
+
- Détection des instabilités dépendantes de l'environnement
|
|
60
|
+
- Identification des points chauds d'échec
|
|
61
|
+
- Analyse de la contagion (causes profondes partagées)
|
|
62
|
+
|
|
63
|
+
## Installation
|
|
64
|
+
|
|
65
65
|
```bash
|
|
66
66
|
npm install
|
|
67
67
|
npm run build
|
|
68
68
|
```
|
|
69
|
-
|
|
70
|
-
## Utilisation de
|
|
71
|
-
|
|
69
|
+
|
|
70
|
+
## Utilisation de la ligne de commande
|
|
71
|
+
|
|
72
72
|
```bash
|
|
73
73
|
# Scan current directory and generate ecosystem map
|
|
74
74
|
node dist/map_cli.js
|
|
@@ -82,33 +82,33 @@ node dist/map_cli.js --runlog .venvkit/runs.jsonl
|
|
|
82
82
|
# Output options
|
|
83
83
|
node dist/map_cli.js --out ./output --minScore 50 --strict --httpsProbe
|
|
84
84
|
```
|
|
85
|
-
|
|
86
|
-
### Options de
|
|
87
|
-
|
|
88
|
-
|
|
|
89
|
-
|
|
90
|
-
| `--root, -r` | Répertoire à analyser (peut spécifier plusieurs) |
|
|
91
|
-
| `--out` | Répertoire de sortie (par défaut : `.venvkit`) |
|
|
92
|
-
| `--maxDepth` | Profondeur maximale du répertoire à analyser (par défaut : 5) |
|
|
93
|
-
| `--strict` | Activer les vérifications strictes |
|
|
94
|
-
| `--httpsProbe` | Tester la connectivité HTTPS |
|
|
95
|
-
| `--minScore` | Filtrer les environnements en fonction de leur score de santé |
|
|
96
|
-
| `--concurrency` | Vérifications parallèles (par défaut : nombre de cœurs CPU) |
|
|
97
|
-
| `--runlog` | Chemin vers le fichier journal
|
|
98
|
-
| `--no-tasks` | Ignorer la visualisation des tâches |
|
|
99
|
-
|
|
100
|
-
### Sorties
|
|
101
|
-
|
|
102
|
-
|
|
|
103
|
-
|
|
104
|
-
| `venv-map.json` | Données complètes du
|
|
105
|
-
| `venv-map.mmd` | Source du diagramme Mermaid |
|
|
106
|
-
| `venv-map.html` | Visualiseur interactif |
|
|
107
|
-
| `reports.json` | Rapports doctorLite bruts |
|
|
108
|
-
| `insights.json` | Recommandations exploitables |
|
|
109
|
-
|
|
110
|
-
## Utilisation programmatique
|
|
111
|
-
|
|
85
|
+
|
|
86
|
+
### Options de la ligne de commande
|
|
87
|
+
|
|
88
|
+
| Option | Description |
|
|
89
|
+
|------|-------------|
|
|
90
|
+
| `--root, -r` | Répertoire à analyser (peut spécifier plusieurs) |
|
|
91
|
+
| `--out` | Répertoire de sortie (par défaut : `.venvkit`) |
|
|
92
|
+
| `--maxDepth` | Profondeur maximale du répertoire à analyser (par défaut : 5) |
|
|
93
|
+
| `--strict` | Activer les vérifications strictes |
|
|
94
|
+
| `--httpsProbe` | Tester la connectivité HTTPS |
|
|
95
|
+
| `--minScore` | Filtrer les environnements en fonction de leur score de santé |
|
|
96
|
+
| `--concurrency` | Vérifications parallèles (par défaut : nombre de cœurs CPU) |
|
|
97
|
+
| `--runlog` | Chemin vers le fichier journal des exécutions de tâches (JSONL) |
|
|
98
|
+
| `--no-tasks` | Ignorer la visualisation des tâches |
|
|
99
|
+
|
|
100
|
+
### Sorties
|
|
101
|
+
|
|
102
|
+
| Fichier | Description |
|
|
103
|
+
|------|-------------|
|
|
104
|
+
| `venv-map.json` | Données complètes du graphe (nœuds, arêtes, résumé) |
|
|
105
|
+
| `venv-map.mmd` | Source du diagramme Mermaid |
|
|
106
|
+
| `venv-map.html` | Visualiseur interactif |
|
|
107
|
+
| `reports.json` | Rapports doctorLite bruts |
|
|
108
|
+
| `insights.json` | Recommandations exploitables |
|
|
109
|
+
|
|
110
|
+
## Utilisation programmatique
|
|
111
|
+
|
|
112
112
|
```typescript
|
|
113
113
|
import { doctorLite, scanEnvPaths, mapRender, readRunLog } from 'venvkit';
|
|
114
114
|
|
|
@@ -143,11 +143,11 @@ const { graph, mermaid, insights } = mapRender(reports, runs, {
|
|
|
143
143
|
includeHotEdgeLabels: true,
|
|
144
144
|
});
|
|
145
145
|
```
|
|
146
|
-
|
|
147
|
-
## Schéma du journal
|
|
148
|
-
|
|
149
|
-
Suivez les exécutions de tâches en ajoutant des événements à un fichier JSONL :
|
|
150
|
-
|
|
146
|
+
|
|
147
|
+
## Schéma du journal des exécutions
|
|
148
|
+
|
|
149
|
+
Suivez les exécutions de tâches en ajoutant des événements à un fichier JSONL :
|
|
150
|
+
|
|
151
151
|
```typescript
|
|
152
152
|
import { appendRunLog, newRunId } from 'venvkit';
|
|
153
153
|
|
|
@@ -172,11 +172,11 @@ await appendRunLog('.venvkit/runs.jsonl', {
|
|
|
172
172
|
},
|
|
173
173
|
});
|
|
174
174
|
```
|
|
175
|
-
|
|
176
|
-
## Regroupement des tâches
|
|
177
|
-
|
|
178
|
-
Lorsque vous avez de nombreuses exécutions de tâches, venvkit les regroupe par signature :
|
|
179
|
-
|
|
175
|
+
|
|
176
|
+
## Regroupement des tâches
|
|
177
|
+
|
|
178
|
+
Lorsque vous avez de nombreuses exécutions de tâches, venvkit les regroupe par signature :
|
|
179
|
+
|
|
180
180
|
```typescript
|
|
181
181
|
import { clusterRuns, isFlaky, getFailingEnvs } from 'venvkit';
|
|
182
182
|
|
|
@@ -192,11 +192,11 @@ for (const c of clusters) {
|
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
```
|
|
195
|
-
|
|
196
|
-
## Schéma du
|
|
197
|
-
|
|
198
|
-
La sortie de `mapRender` suit un schéma JSON stable :
|
|
199
|
-
|
|
195
|
+
|
|
196
|
+
## Schéma du graphe
|
|
197
|
+
|
|
198
|
+
La sortie de `mapRender` suit un schéma JSON stable :
|
|
199
|
+
|
|
200
200
|
```typescript
|
|
201
201
|
type GraphJSONv1 = {
|
|
202
202
|
version: '1.0';
|
|
@@ -217,47 +217,58 @@ type GraphJSONv1 = {
|
|
|
217
217
|
edges: GraphEdge[];
|
|
218
218
|
};
|
|
219
219
|
```
|
|
220
|
-
|
|
221
|
-
### Types de nœuds
|
|
222
|
-
|
|
223
|
-
| Type | Description |
|
|
224
|
-
|
|
225
|
-
| `base` | Interpréteur Python de base (par exemple, `C:\Python311`) |
|
|
226
|
-
| `venv` | Environnement virtuel |
|
|
227
|
-
| `task` | Signature de
|
|
228
|
-
|
|
229
|
-
### Types d'arêtes
|
|
230
|
-
|
|
231
|
-
| Type | Description |
|
|
232
|
-
|
|
233
|
-
| `USES_BASE` | Relation venv → base |
|
|
234
|
-
| `ROUTES_TASK_TO` | Routage tâche → environnement |
|
|
235
|
-
| `FAILED_RUN` | Échec de
|
|
236
|
-
|
|
237
|
-
## Codes d'erreur
|
|
238
|
-
|
|
239
|
-
| Code | Gravité | Description |
|
|
240
|
-
|
|
241
|
-
| `SSL_BROKEN` | bad |
|
|
242
|
-
| `CERT_STORE_FAIL` | warn | La vérification du certificat HTTPS échoue |
|
|
243
|
-
| `DLL_LOAD_FAIL` | bad | Le chargement de l'extension DLL native échoue |
|
|
244
|
-
| `ABI_MISMATCH` | bad | Incompatibilité binaire (ARM/x86) |
|
|
245
|
-
| `PIP_MISSING` | warn | pip n'est pas disponible |
|
|
246
|
-
| `PIP_CHECK_FAIL` | warn | Conflits de dépendances détectés |
|
|
247
|
-
| `USER_SITE_LEAK` | warn |
|
|
248
|
-
| `PYTHONPATH_INJECTED` | warn | La variable d'environnement PYTHONPATH est définie
|
|
249
|
-
| `ARCH_MISMATCH` | bad |
|
|
250
|
-
| `PYVENV_CFG_INVALID` | warn |
|
|
251
|
-
|
|
252
|
-
## Développement
|
|
253
|
-
|
|
220
|
+
|
|
221
|
+
### Types de nœuds
|
|
222
|
+
|
|
223
|
+
| Type | Description |
|
|
224
|
+
|------|-------------|
|
|
225
|
+
| `base` | Interpréteur Python de base (par exemple, `C:\Python311`) |
|
|
226
|
+
| `venv` | Environnement virtuel |
|
|
227
|
+
| `task` | Signature de tâche (exécutions regroupées) |
|
|
228
|
+
|
|
229
|
+
### Types d'arêtes
|
|
230
|
+
|
|
231
|
+
| Type | Description |
|
|
232
|
+
|------|-------------|
|
|
233
|
+
| `USES_BASE` | Relation venv → base |
|
|
234
|
+
| `ROUTES_TASK_TO` | Routage tâche → environnement |
|
|
235
|
+
| `FAILED_RUN` | Échec de tâche → environnement (pointillé dans Mermaid) |
|
|
236
|
+
|
|
237
|
+
## Codes d'erreur
|
|
238
|
+
|
|
239
|
+
| Code | Gravité | Description |
|
|
240
|
+
|------|----------|-------------|
|
|
241
|
+
| `SSL_BROKEN` | bad | L'importation du module SSL échoue |
|
|
242
|
+
| `CERT_STORE_FAIL` | warn | La vérification du certificat HTTPS échoue |
|
|
243
|
+
| `DLL_LOAD_FAIL` | bad | Le chargement de l'extension DLL native échoue |
|
|
244
|
+
| `ABI_MISMATCH` | bad | Incompatibilité binaire (ARM/x86) |
|
|
245
|
+
| `PIP_MISSING` | warn | pip n'est pas disponible |
|
|
246
|
+
| `PIP_CHECK_FAIL` | warn | Conflits de dépendances détectés |
|
|
247
|
+
| `USER_SITE_LEAK` | warn | Les packages utilisateur sont activés dans l'environnement virtuel |
|
|
248
|
+
| `PYTHONPATH_INJECTED` | warn | La variable d'environnement PYTHONPATH est définie |
|
|
249
|
+
| `ARCH_MISMATCH` | bad | Python 32 bits alors que 64 bits est requis |
|
|
250
|
+
| `PYVENV_CFG_INVALID` | warn | pyvenv.cfg corrompu ou manquant |
|
|
251
|
+
|
|
252
|
+
## Développement
|
|
253
|
+
|
|
254
254
|
```bash
|
|
255
255
|
npm install
|
|
256
256
|
npm run typecheck # Type check
|
|
257
257
|
npm run test # Run tests
|
|
258
258
|
npm run build # Build to dist/
|
|
259
259
|
```
|
|
260
|
-
|
|
261
|
-
##
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
|
|
261
|
+
## Sécurité et portée des données
|
|
262
|
+
|
|
263
|
+
- **Analyse en lecture seule :** Les exécutables Python et le fichier pyvenv.cfg sont lus, mais jamais modifiés.
|
|
264
|
+
- **Sous-processus :** Lance `python` avec des arguments contrôlés — aucune exécution via un shell.
|
|
265
|
+
- **Réseau :** L'option `--httpsProbe` (facultative) teste les certificats SSL — aucune autre requête sortante n'est effectuée.
|
|
266
|
+
- **Aucune télémétrie** n'est collectée ou envoyée — consultez le fichier [SECURITY.md](SECURITY.md) pour connaître la politique complète.
|
|
267
|
+
|
|
268
|
+
## Licence
|
|
269
|
+
|
|
270
|
+
MIT
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
Créé par [MCP Tool Shop](https://mcp-tool-shop.github.io/)
|