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.8.0

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.8.0
File Size Uploaded
jeefs-0.8.0.tar.gz 23.3 kB Details

Built distribution (wheel)

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

Total release size: 39.8 kB

Release files / jeefs-0.8.0.tar.gz

Download URL jeefs-0.8.0.tar.gz
Size 23.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6ed13436cc3179178eb69af4d7b4301f8ea9053b5b1ce0dd37b561d3155e47aa
BLAKE2b-256 checksum
How to use checksums
06987c5fb74cda66d923e7f1ba4bf7234111f4f56d4d92d8f3d61ec6a0201171
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.8.0-py3-none-any.whl

Download URL jeefs-0.8.0-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d52aeb3a9b7bfab9496e1c473ea45ebbb45f1b15082e7a46730c3cf606db2d7
BLAKE2b-256 checksum
How to use checksums
21859efcb1cbcefa0a868b703177dbcbe6de0850312e469fa634326179da79ec
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

This release

0.8.0 This release

2 release files

0.7.1

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