Skip to main content

HardwareXtractor - Extraccion de specs de hardware con trazabilidad

Project description

HardwareXtractor

PyPI version Python 3.11+ License: MIT

Completa fichas técnicas de hardware en minutos. Introduce el modelo de cada componente y obtén especificaciones verificadas con trazabilidad completa.

Características

  • Extracción automatizada de specs desde fuentes oficiales y de referencia
  • Trazabilidad completa: cada valor incluye origen, URL y nivel de confianza
  • Sistema de fallback: si una fuente falla, intenta automáticamente la siguiente
  • Detección anti-bot: identifica protecciones Cloudflare/CAPTCHA y usa Playwright como fallback
  • Múltiples interfaces: GUI (Tkinter) y CLI interactivo
  • Exportación flexible: CSV, XLSX (con colores por tier) y Markdown

Instalación

macOS (Homebrew)

En macOS moderno, Python está protegido contra instalaciones globales. Usa pipx (recomendado):

# Instalar pipx si no lo tienes
brew install pipx

# Instalar hardwarextractor
pipx install hardwarextractor

# Actualizar a nueva versión
pipx upgrade hardwarextractor

Linux

Opción 1: pipx (recomendado)

# Instalar pipx
sudo apt install pipx  # Debian/Ubuntu
# o
sudo dnf install pipx  # Fedora

# Instalar hardwarextractor
pipx install hardwarextractor

Opción 2: pip directo

pip install hardwarextractor

Opción 3: Entorno virtual

python3 -m venv ~/.venvs/hxtractor
source ~/.venvs/hxtractor/bin/activate
pip install hardwarextractor

Windows

Opción 1: pip (recomendado)

pip install hardwarextractor

Opción 2: Entorno virtual

python -m venv %USERPROFILE%\venvs\hxtractor
%USERPROFILE%\venvs\hxtractor\Scripts\activate
pip install hardwarextractor

Dependencias opcionales

# Para sitios con protección anti-bot (Playwright)
pipx inject hardwarextractor playwright  # o pip install hardwarextractor[browser]

# Para exportación a Excel
pipx inject hardwarextractor openpyxl    # o pip install hardwarextractor[excel]

# Instalación completa (pip)
pip install hardwarextractor[full]

Desde código fuente

git clone https://github.com/NAZCAMEDIA/hardwarextractor.git
cd hardwarextractor
python3 -m venv .venv
source .venv/bin/activate  # Linux/macOS
# o .venv\Scripts\activate en Windows
pip install -e ".[full]"

Actualización

# Con pipx
pipx upgrade hardwarextractor

# Con pip
pip install --upgrade hardwarextractor

# Forzar reinstalación
pipx uninstall hardwarextractor && pipx install hardwarextractor

Uso

CLI (línea de comandos)

hxtractor

Muestra el menú interactivo:

  ██╗  ██╗██╗  ██╗████████╗██████╗  █████╗  ██████╗████████╗ ██████╗ ██████╗
  ██║  ██║╚██╗██╔╝╚══██╔══╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗
  ███████║ ╚███╔╝    ██║   ██████╔╝███████║██║        ██║   ██║   ██║██████╔╝
  ██╔══██║ ██╔██╗    ██║   ██╔══██╗██╔══██║██║        ██║   ██║   ██║██╔══██╗
  ██║  ██║██╔╝ ██╗   ██║   ██║  ██║██║  ██║╚██████╗   ██║   ╚██████╔╝██║  ██║
  ╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝

                           v0.2.0 - Hardware Specs Extractor
                              © 2026 NAZCAMEDIA

  ┌─────────────────────────────────────────────────────────┐
  │  VERSIÓN BETA - Tu feedback es importante              │
  │  Reporta problemas: Menú > Enviar feedback             │
  └─────────────────────────────────────────────────────────┘

  1) Analizar componente
  2) Exportar ficha
  3) Reset ficha
  4) Enviar feedback
  5) Salir

GUI (interfaz gráfica)

hxtractor-gui

Características del CLI

  • Spinner animado con tiempo transcurrido durante el análisis
  • Mensajes de estado descriptivos: "Normalizando...", "Clasificando...", "Extrayendo..."
  • Información completa de cada componente con fuentes y URLs
  • Fuentes de consulta manual para verificar datos
  • Leyenda de colores para identificar el origen de cada dato
  • Auto-agregado a la ficha técnica

Flujo básico

  1. Introduce un componente (ej. CMK32GX5M2B6000C36 o intel i7)
  2. El spinner muestra el progreso con tiempo transcurrido
  3. El sistema clasifica el tipo (RAM, CPU, GPU, etc.)
  4. Busca en fuentes oficiales primero, luego referencias
  5. Muestra especificaciones con indicador de tier y fuente
  6. Muestra fuentes de consulta manual para verificar
  7. Agrega automáticamente a la ficha
  8. Repite con más componentes
  9. Exporta a CSV/XLSX/MD

Búsquedas soportadas

  • Por modelo específico: i9-14900K, RTX 4090, CMK32GX5M2B6000C36
  • Por familia de procesador: intel i7, intel i5, ryzen 9, amd ryzen 7
  • Por part number: CMK32GX5M2B5600C36
  • Por URL: URL directa a specs del fabricante

Sistema de Tiers

Tier Descripción Indicador
OFFICIAL Datos del fabricante ● verde
REFERENCE Bases de datos técnicas (TechPowerUp, WikiChip) ◐ naranja
CALCULATED Valores derivados de otros campos ◇ azul
UNKNOWN Sin fuente verificable gris

Componentes soportados

  • CPU: Intel, AMD
  • RAM: Corsair, Kingston, G.Skill, Crucial, Samsung
  • GPU: NVIDIA, AMD, Intel
  • Motherboard: ASUS, MSI, Gigabyte, ASRock
  • Storage: Samsung, WD, Seagate, Crucial, Kingston

Fuentes de consulta

El CLI y GUI muestran enlaces a fuentes oficiales y de referencia para cada tipo de componente:

Tipo Fuentes oficiales Referencias
CPU Intel ARK, AMD TechPowerUp, WikiChip, CPU-World, PassMark
GPU NVIDIA, AMD, Intel Arc TechPowerUp, GPU-Specs, PassMark
RAM Corsair, Kingston, G.Skill, Crucial PassMark, UserBenchmark
Motherboard ASUS, MSI, Gigabyte, ASRock PCPartPicker
Storage Samsung, WD, Seagate PassMark, UserBenchmark

Arquitectura

hardwarextractor/
├── app/           # Orchestrator principal
├── core/          # Eventos y SourceChain
├── cli/           # Interfaz de línea de comandos
├── ui/            # Interfaz gráfica Tkinter
├── scrape/        # Spiders y engines (Requests/Playwright)
├── engine/        # FichaManager, IPC, Commands
├── export/        # Exportadores (CSV, XLSX, MD)
└── models/        # Schemas y tipos

Exportación

CSV

# Desde CLI: opción 2 > csv > ruta

Excel (XLSX)

Incluye:

  • Colores por tier (verde=oficial, naranja=referencia)
  • Banner de advertencia si hay datos REFERENCE
  • Columnas: Sección, Campo, Valor, Unidad, Status, Tier, Fuente, URL

Markdown

Tabla formateada con secciones y leyenda de tiers.

Configuración

Archivo ~/.config/hardwarextractor/config.yaml:

enable_tier2: true          # Permitir fuentes REFERENCE
user_agent: "HardwareXtractor/0.2"
retries: 2
throttle_seconds_by_domain:
  crucial.com: 1.0
  corsair.com: 2.0

Desarrollo

# Clonar repositorio
git clone https://github.com/NAZCAMEDIA/hardwarextractor.git
cd hardwarextractor

# Crear entorno virtual
python3 -m venv .venv
source .venv/bin/activate

# Instalar dependencias de desarrollo
pip install -e ".[dev]"

# Ejecutar tests
pytest

# Tests con cobertura
pytest --cov=hardwarextractor --cov-report=term-missing

Descargas (macOS)

Binarios precompilados disponibles en Releases:

  • HardwareXtractor.dmg - Imagen de disco para macOS
  • HardwareXtractor.app - Aplicación standalone

Links

Licencia

MIT License - Copyright (c) 2026 NAZCAMEDIA

Ver LICENSE para más detalles.

Changelog

v0.2.0 (Beta)

  • Sistema de feedback integrado para reportar problemas
  • Banner de beta al inicio con recordatorio cada 5 búsquedas
  • Pregunta post-búsqueda "¿Funcionó correctamente?"
  • Envío automático de reportes a GitHub Issues
  • Nueva opción de menú "Enviar feedback" (CLI y GUI)
  • Mensaje de agradecimiento tras enviar feedback
  • 49 nuevos tests con 82% de cobertura

v0.1.0 (Beta)

  • Primera release pública en PyPI
  • CLI interactivo con menú y colores ANSI
  • GUI con Tkinter
  • Panel de fuentes de consulta manual
  • Intel ARK Extractor con 29+ specs por CPU
  • Búsqueda por familia de procesador (intel i7, ryzen 9, etc.)
  • Sistema SourceChain con fallback automático
  • Detección de anti-bot (Cloudflare, CAPTCHA)
  • Exportación a CSV, XLSX y Markdown
  • Soporte para Playwright en sitios protegidos
  • macOS App bundle con DMG
  • GitHub Actions para publicación automática en PyPI

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

hardwarextractor-0.2.2.tar.gz (99.4 kB view details)

Uploaded Source

Built Distribution

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

hardwarextractor-0.2.2-py3-none-any.whl (116.9 kB view details)

Uploaded Python 3

File details

Details for the file hardwarextractor-0.2.2.tar.gz.

File metadata

  • Download URL: hardwarextractor-0.2.2.tar.gz
  • Upload date:
  • Size: 99.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hardwarextractor-0.2.2.tar.gz
Algorithm Hash digest
SHA256 34d02f8fb0b43119a3c941790b99cc3abadb1645c8eac8e6cde4c870c66cc0cb
MD5 7bbd63d04245b167c30fe3e649dfdfd3
BLAKE2b-256 a0bc3bc57ba712c3b0e03c2d7628fd1e9742494d01c7c9179906bfca7ce67a4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hardwarextractor-0.2.2.tar.gz:

Publisher: publish.yml on NAZCAMEDIA/hardwarextractor

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

File details

Details for the file hardwarextractor-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for hardwarextractor-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9c4d7d963bf6806f394cf3613ef14e8dcfb6cba41413cd0e8632cdbe1483d732
MD5 5730535c29eafe67b6464166f4e7f6b0
BLAKE2b-256 3f648932a3e4ef0da8e593d52c03d50b89fda1d5ec8d409a729559b1dae59d8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hardwarextractor-0.2.2-py3-none-any.whl:

Publisher: publish.yml on NAZCAMEDIA/hardwarextractor

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