Skip to main content

A command line tool to collect AMD uCode!

Project description

ZenScraper

Build CodeQL PyPI version Python versions Snyk package health OpenSSF Scorecard

A command line tool to collect AMD uCode!

Overview

ZenScraper gathers AMD CPU microcode (uCode) patches from public upstream repositories, extracts the individual patches from their containers, and stores them under a single directory with a consistent, content-addressed naming scheme. Patches that already exist are de-duplicated by SHA-256, and a hash mismatch on a same-named patch is reported as an error.

Currently supported sources:

  • Linux Firmware — the linux-firmware repository (amd-ucode containers, extracted into individual patches).
  • Platomav CPUMicrocodes — the platomav/CPUMicrocodes repository (AMD patches).

Each source is walked across its full git history, so superseded patches are collected as well as current ones.

Installation

pip install zenscraper

Usage

Run the tool to scrape every supported source into the current directory:

zenscraper

Options:

Option Default Description
--workdir, -w ./workdir Directory for temporary and cached files (the cloned repos are kept here between runs).
--outdir, -o . (current directory) Directory where the collected patches are stored.

Output

Collected patches are written to a patches/ subdirectory of --outdir. Each file is named after its parsed header fields and a short content hash, for example:

family19_cpuidA20F12_rev0A201210_date20240611_enc00_sha1a2b3c4d5e6f.bin

The fields encode the CPU family, CPU ID, update revision, build date, encryption flag (when present) and the first 12 hex digits of the patch's SHA-256 hash.

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

zenscraper-1.0.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

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

zenscraper-1.0.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file zenscraper-1.0.0.tar.gz.

File metadata

  • Download URL: zenscraper-1.0.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for zenscraper-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4c997ea6ba8dfd68d622323c118f8c1978a3969b8485e26a597407b2995909a4
MD5 504585ec15c4bf223ec862a7965f68e2
BLAKE2b-256 9d5e6d33b471c34a5668f6f4dc799ed2ced5fbe23ff4bbadd86c8a8163dfc567

See more details on using hashes here.

Provenance

The following attestation bundles were made for zenscraper-1.0.0.tar.gz:

Publisher: build.yml on amd-zenith/zenscraper

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

File details

Details for the file zenscraper-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: zenscraper-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for zenscraper-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d7beb5e9913d646e332191a67bcae0b5e023db6318d85da7780282ad54448b7
MD5 eb9737ca470e62b4f44dcaffc0a923a7
BLAKE2b-256 0d0bab0c629d96c5c24bddecece16280476c9e16b460ee73e39d646b41c576d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for zenscraper-1.0.0-py3-none-any.whl:

Publisher: build.yml on amd-zenith/zenscraper

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