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 (auto-set if None/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.3.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.3.0
File Size Uploaded
jeefs-0.3.0.tar.gz 12.6 kB Details

Built distribution (wheel)

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

Total release size: 21.6 kB

Release files / jeefs-0.3.0.tar.gz

Download URL jeefs-0.3.0.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
21d18b0af089d2d59cc5b4078956f0aa6360d48028e1a0cc9e3eb6e1fbe67565
BLAKE2b-256 checksum
How to use checksums
c61304c4de242fb06b3b5ceb43e2966b5fd82c6e4eb2dc9a6b85ce22322e13b2
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 14, 2026.

Transparency log

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

Download URL jeefs-0.3.0-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26ce18be898fc2ab496dd5833552b469d1149a3cf58fe5313cc7c50df1b6ae64
BLAKE2b-256 checksum
How to use checksums
a0d90fceeaae5b94fcded6aee6d9a77344bd760d50c06c55a0ea455a52f4a4fe
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.0

2 release files

0.8.0

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

This release

0.3.0 This release

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