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)
| File | Size | Uploaded | |
|---|---|---|---|
| jeefs-0.7.1.tar.gz | 17.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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