csemx — Python client
Reference reader, writer, and validator for csemx bundles — an open, vendor-neutral exchange format for modeling-ready frequency-domain controlled-source electromagnetic (CSEM) data (specification).
The core (read/write and the dependency-light checks) needs no
third-party packages; the optional full extra adds the libraries required
for complete conformance validation.
Beta. The package version tracks the format version it implements:
csemx0.1.x reads and validates format 0.1 bundles exactly. During the 0.x beta, format minor versions may include breaking changes and the validator accepts only its own format version (spec §12).
Contents
src/csemx/io.py—read()/write()and theCsemxBundle/Tabletypessrc/csemx/validation.py—validate()and the bundle/manifest checkssrc/csemx/cli.py— thecsemxcommand-line entry pointsrc/csemx/schemas/— bundled manifest schema and validator metadatatests/— validator regression tests
Install
python3 -m pip install csemx # core: read/write + light checks
python3 -m pip install "csemx[full]" # + PyYAML, jsonschema, pyproj, pyarrow
From a repository checkout, editable:
python3 -m pip install -e "./python"
python3 -m pip install -e "./python[full]"
The full extra enables manifest JSON-Schema validation, EPSG/CRS checks, and
Parquet tables. Requires Python ≥ 3.9.
Command line
csemx validate examples/example.csemx # dependency-light checks
csemx validate --full examples/example.csemx.zip # full conformance
csemx inspect examples/example.csemx # summarize a bundle
Library
import csemx
bundle = csemx.read("examples/example.csemx") # -> CsemxBundle
errors, warnings = csemx.validate("examples/example.csemx", full=True)
csemx.write(bundle, "out.csemx.zip") # directory or .zip
Public API: read, write, validate, and the CsemxBundle, Table, and
ValidationError types.
Tests
python3 -m unittest python.tests.test_validate # from the repository root
Metadata
Release files for csemx 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| csemx-0.2.0.tar.gz | 38.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| csemx-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.5 kB
Release files / csemx-0.2.0.tar.gz
| Download URL | csemx-0.2.0.tar.gz |
|---|---|
| Size | 38.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
125c2c0c81ee7913e98a0bd8e510e462ce90b981b0b77e5c417584669178a617
|
|
BLAKE2b-256 checksum How to use checksums |
64f03577190fe4a89a2864e3a75ea532ae14d0f47c78ade0957dd06602022171
|
| 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 13, 2026.
Transparency logRelease files / csemx-0.2.0-py3-none-any.whl
| Download URL | csemx-0.2.0-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a198ef77a8c95e0512c26596a92790ce25834861d95f66d140d3cab95cb338b6
|
|
BLAKE2b-256 checksum How to use checksums |
59b20d78d2795d2173b62e92252e471a5da978c57d64167ee28ad0827950bff1
|
| 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 13, 2026.
Transparency log