Registro público
Informe de salud del softwareesquema 0.11.0 · métricas 2.10.0 · 2026-07-16 23:43 UTC

GrahamDumpleton / wrapt

A Python module for decorators, wrappers and monkey patching.

Python · CBSD-2-Clause★ 2290 estrellas⑂ 254 forksdesde may 2013Ver en GitHub ↗
TipoBibliotecacómo se determina

GrahamDumpleton/wrapt tiene un índice de salud de 75 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es Vitality (100/100) y la más baja, Security (1/100). Se actualizó por última vez hace 3 días. Una sola persona concentra la mayor parte del trabajo reciente.

75
global / 100
Bueno

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala estandarizada de 1 a 100. El resultado global parte de su media ponderada, calibrada contra la distribución del registro público para que las bandas tengan significado percentil; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe un límite «En riesgo» de 34.

75
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

El resultado global ponderado 65 se calibra a 75 en la escala publicada del índice (calibración del registro 2026-08-02).

Titularidad

Graham DumpletonCuenta personal
687 seguidores29 repositorios públicosdesde dic 2010

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
PyPIwrapt2.2.2-101hace 25 díaswrapperproxydecorator

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

100Excepcional · 21% del índice global
Cómo se puntúa
36/36Recencia de pushúltimo push hace 3 días
0/36Cadencia de commitssin datos
0/18Volumen de commitssin datos
0/10OpenSSF Scorecard: Maintainedsin datos
Datos de entrada utilizados
commits_last_year
human_commit_share
days_since_last_push3
active_weeks_last_year
Excluidos de la puntuación (sin datos o no aplicable): Cadencia de commits, Volumen de commits. Los pesos restantes se han renormalizado.
Cómo se puntúa
27/27Publica versiones23 versiones publicadas
36/36Recencia de las versionesúltima versión hace 3 días
27/27Cadencia de publicaciónuna versión cada ~5,9 días
0/10OpenSSF Scorecard: Signed-Releasessin datos
Datos de entrada utilizados
releases_count23
latest_release_tag2.3.0rc2
releases_from_tagsno
days_since_latest_release3
mean_days_between_releases5,9

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

68Bueno · 17% del índice global
Cómo se puntúa
54.5/60Estrellas2290 estrellas
20/25Forks254 forks
8.7/15Observadores38 observadores
Datos de entrada utilizados
forks254
stars2290
watchers38
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencialicencia reconocida (BSD-2-Clause)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
readme_badges
has_contributingno
has_issue_templateno
has_code_of_conductno
readme_badge_services
has_pull_request_templateno

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

66Bueno · 23% del índice global
Cómo se puntúa
9/54Factor busla mitad de los commits recae en 1 contribuyente(s)
1.7/22.5Distribución de commitsel principal contribuyente firma el 92% de los commits
13.5/13.5Amplitud de contribuyentes36 contribuyentes
0/10OpenSSF Scorecard: Contributorssin datos
Datos de entrada utilizados
bus_factor1
contributors_sampled36
top_contributor_share0,923
Cómo se puntúa
42/42Resolución de issues100% de issues cerradas
18.3/30Aceptación de PR58/95 PR decididos fusionados
0/13Newcomer PR acceptanceningún PR de un contribuyente primerizo decidido en 30 d
0/15OpenSSF Scorecard: Code-Reviewsin datos
Datos de entrada utilizados
merged_prs58
open_issues0
closed_issues249
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio1
closed_unmerged_prs37
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluidos de la puntuación (sin datos o no aplicable): Newcomer PR acceptance. Los pesos restantes se han renormalizado.
Cómo se puntúa
10/30Respaldo de la propiedadcuenta personal (usuario)
0/20Dominio verificadono aplicable a cuentas de usuario
20.4/25Alcance del propietario687 seguidores de GrahamDumpleton
22.8/25Trayectoria29 repos públicos, cuenta de ~15 años
Datos de entrada utilizados
followers687
owner_typeUser
is_verified
owner_loginGrahamDumpleton
public_repos29
account_age_days5704
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble1 paquete(s) en pypi
35/35Recencia de publicaciónúltima publicación hace 25 días
20/20Historial de versiones101 versiones en el registro
20/20No obsoletoactivo, ni obsoleto ni retirado
Datos de entrada utilizados
packageswrapt
ecosystemspypi
any_deprecatedno
min_days_since_publish25

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

74Bueno · 19% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI1 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de lintertox.ini
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Testssin datos
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_configno
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
0/10Topics
0/10Wiki
Datos de entrada utilizados
topics
has_wikino
homepage
docs_site
has_readme
has_docs_dir
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

1Crítico · 16% del índice global
Cómo se puntúa
0/30Política de seguridad (SECURITY.md)
0/25Configuración de Dependabot
0/25Lockfiles de dependenciasbiblioteca publicada — los lockfiles son cosa de las aplicaciones, no se esperan aquí
0/20Flujo de trabajo de CodeQL
Datos de entrada utilizados
sourcefile_signals
lockfilesuv.lock
manifestsdocs/requirements.txt, pyproject.toml, setup.py
has_codeql_workflowno
has_security_policyno
has_dependabot_configno
Excluidos de la puntuación (sin datos o no aplicable): Lockfiles de dependencias. Los pesos restantes se han renormalizado.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.

80Excelente · 4% del índice global
Cómo se puntúa
45/45Instrucciones para agentesAGENTS.md, CLAUDE.md
0/15Documentación legible por máquinas (llms.txt)
0/40Historial de commits legiblesin datos
Datos de entrada utilizados
has_llms_txtno
llms_txt_url
legible_history_share
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes1791
Excluidos de la puntuación (sin datos o no aplicable): Historial de commits legible. Los pesos restantes se han renormalizado.
Cómo se puntúa
18/18Arranque con un solo comandoJustfile, docs/Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formatotox.ini
0/11Verificación estática de tipos
10/10Entorno reproducibledevcontainer, lockfile
0/10Práctica demostrada con agentessin datos
0/8Mantenimiento automatizadosin datos
0/10OpenSSF Scorecard: Pinned-Dependenciessin datos
Datos de entrada utilizados
has_nixno
has_tests
lockfilesuv.lock
has_dockerfileno
typed_languageno
bootstrap_filesJustfile, docs/Makefile
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share
toolchain_manifests
dependency_bot_commit_share
Excluidos de la puntuación (sin datos o no aplicable): Práctica demostrada con agentes, Mantenimiento automatizado. Los pesos restantes se han renormalizado.
Cómo se puntúa
0/45Código verificable por tiposPython sin configuración de verificación de tipos
54/55Tamaños de archivo manejables2/109 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes128.920
source_files_sampled109
oversized_source_files2
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)no aplicable a este tipo de software
0/20Servidor MCPno aplicable a este tipo de software
40/40Ejemplos ejecutablesexamples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signalno
api_schema_files
interfaces_expected_of
Excluidos de la puntuación (sin datos o no aplicable): Esquema de API (OpenAPI/GraphQL/proto), Servidor MCP. Los pesos restantes se han renormalizado.

Datos clave

2290estrellas de GitHub
36contribuidores
-commits en los últimos 12 meses
3días desde el último push
23versiones publicadas
1factor bus
0issues abiertas
PyPIecosistemas de paquetes

Advertencias de recopilación de datos

  • Commit participation stats not ready (GitHub still computing); rerun to fill in
  • OpenSSF Scorecard did not return a usable result (Skipping github.com/GrahamDumpleton/wrapt: run: repo unreachable: GET https://api.github.com/repos/GrahamDumpleton/wrapt: 503 []); skipping Scorecard checks

Más detalle

Todas las dependencias 14

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 0 paquetes directos y 14 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
PyPIcolorama0.4.6indirecta
PyPIexceptiongroup1.3.1indirecta
PyPIiniconfig2.1.0indirecta
PyPIiniconfig2.3.0indirecta
PyPIpackaging26.0indirecta
PyPIpluggy1.6.0indirecta
PyPIpygments2.20.0indirecta
PyPIpytest8.4.2indirecta
PyPIpytest9.0.3indirecta
PyPIsetuptools82.0.1indirecta
PyPIsphinxindirecta
PyPIsphinx-rtd-themeindirecta
PyPItomli2.4.1indirecta
PyPItyping-extensions4.15.0indirecta
Informe JSON sin procesar legible por máquina

Comentarios

¿Algo no cuadra en este informe, o hay ideas que compartir? Mediciones erróneas, herramientas no detectadas, ideas, preguntas: todo es bienvenido. Cada mensaje se lee y recibe respuesta.

El mensaje se conserva durante el inicio de sesión.

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v2.10.0, esquema v0.11.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasPyPI.