Skip to main content

JEEFS Header — Python Package

Pure Python library for parsing and generating JEEFS EEPROM headers. The main API class EEPROMHeaderV3 handles v3 headers; constants and field offsets for all versions (v1/v2/v3) are available via jeefs.constants. No native dependencies.

Installation

pip install jeefs

Dependencies

  • Python >= 3.10
  • No external runtime dependencies (uses stdlib struct, binascii)

Building / Development

cd python
uv venv .venv && uv pip install -e ".[test]"
.venv/bin/python -m pytest tests/ -v

API

EEPROMHeaderV3 — main dataclass

from jeefs.header import EEPROMHeaderV3

Creating a header

header = EEPROMHeaderV3(
    boardname="JetHub-D1p",
    boardversion="2.0",
    serial="SN-2024-001",
    mac="F0:57:8D:01:02:03",
)
binary = header.to_bytes()  # 256-byte binary

Parsing from binary

header = EEPROMHeaderV3.from_bytes(raw_data)
print(header.boardname)   # "JetHub-D1p"
print(header.mac)         # "F0:57:8D:01:02:03"
print(header.serial)      # "SN-2024-001"

CRC verification

# Instance method
header = EEPROMHeaderV3.from_bytes(data)
is_valid = header.verify_crc(data)

# Static method (no instance needed)
is_valid = EEPROMHeaderV3.verify_crc_static(data)

Validation

errors = header.validate()
if errors:
    print("Invalid:", errors)

Partition image

image = header.to_partition_image()  # 4096-byte flash image

Fields

Field Type Description
boardname str Board name (max 31 chars)
boardversion str Board version (max 31 chars)
serial str Serial number (max 31 chars)
usid str CPU eFuse USID
cpuid str CPU ID
mac str MAC address ("AA:BB:CC:DD:EE:FF")
signature bytes ECDSA signature (raw r||s)
signature_algorithm SignatureAlgorithm NONE / SECP192R1 / SECP256R1
timestamp int | None Unix timestamp, written verbatim (0/None serialize as 0)

SignatureAlgorithm enum

from jeefs.constants import SignatureAlgorithm

SignatureAlgorithm.NONE       # 0
SignatureAlgorithm.SECP192R1  # 1 (48-byte signature)
SignatureAlgorithm.SECP256R1  # 2 (64-byte signature)

Constants

from jeefs.constants import (
    EEPROM_MAGIC,          # b"JETHOME\x00"
    EEPROM_HEADER_SIZE,    # 256
    EEPROM_FIELDS,         # dict of {field: (offset, size)}
    EEPROM_CRC_COVERAGE,   # 252
    EEPROM_PARTITION_SIZE,  # 4096
)

Usage example

See examples/python/read_header.py — reads an EEPROM binary, prints version, CRC status, board name, MAC address, and full v3 fields.

Testing

cd python
python -m pytest tests/ -v   # 58 tests

Format specification

Metadata

Release files for jeefs 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jeefs 0.7.1
File Size Uploaded
jeefs-0.7.1.tar.gz 17.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jeefs 0.7.1
File Interpreter ABI Platform
jeefs-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 30.6 kB

Release files / jeefs-0.7.1.tar.gz

Download URL jeefs-0.7.1.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
066151e6806d30ab8873b8ceb3d4048ed702e3521538e2e256cac5b8e67142a5
BLAKE2b-256 checksum
How to use checksums
1d6e071db1fe3544f27728dfc5c577900e6d62cfdca5a374ed4bb5e87bc67959
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log

Release files / jeefs-0.7.1-py3-none-any.whl

Download URL jeefs-0.7.1-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
721909a4866398086116ca5c13d9aa33827651071e7848172726c8e04ec26b8b
BLAKE2b-256 checksum
How to use checksums
86e1e4cfa69f3ef8f465d1c7c02415571e7fb09d1a390e4093b0df6237b107d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.0

2 release files

0.8.0

2 release files

This release

0.7.1 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page