Python bindings for the EON (Extensible Object Notation) format
Project description
EON Python Bindings
Python bindings for the EON (Extensible Object Notation) format - a human-friendly configuration format that's a superset of JSON.
Installation
pip install eon-py
Usage
from eon import loads, dumps, load, dump
# Parse EON string
data = loads("""
{
name: "Alice"
age: 30
skills: ["Python", "Rust", "JavaScript"]
}
""")
print(data) # {'name': 'Alice', 'age': 30, 'skills': ['Python', 'Rust', 'JavaScript']}
# Serialize to EON
eon_str = dumps({"name": "Bob", "age": 25})
print(eon_str) # name: "Bob"\nage: 25
# Work with files
with open("config.eon", "r") as f:
config = load(f)
with open("output.eon", "w") as f:
dump(data, f)
Features
- ✅ Full support for all EON types (null, bool, numbers, strings, lists, maps, variants)
- ✅ Clean Python API matching
jsonmodule conventions - ✅ Fast Rust implementation
- ✅ Cross-platform wheels for Windows, macOS, and Linux (x86 and ARM)
Development
Building from source
# Install maturin
pip install maturin
# Build and install locally
maturin develop --release
# Run tests
python test_eon.py
Project Structure
eon-py/
├── src/
│ └── eon/
│ ├── __init__.py # Python API
│ └── lib.rs # Rust implementation
├── Cargo.toml # Rust dependencies
├── pyproject.toml # Python package config
└── test_eon.py # Test suite
License
This project provides Python bindings for the EON format created by Emil Ernerfeldt.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eon_py-0.1.8-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: eon_py-0.1.8-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 257.6 kB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7145d517ad96b6cca2f38a856dc6ffc39c344ee5911af54051e255159e1d5c36
|
|
| MD5 |
8b89c0f3e4317100b0e2a63195fba3f8
|
|
| BLAKE2b-256 |
fedbf9812e235e5dba3be78d066d49c488e09401bd4f8575041b93420cb8604f
|
Provenance
The following attestation bundles were made for eon_py-0.1.8-cp38-abi3-win_amd64.whl:
Publisher:
release.yml on nikdavis/eon-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eon_py-0.1.8-cp38-abi3-win_amd64.whl -
Subject digest:
7145d517ad96b6cca2f38a856dc6ffc39c344ee5911af54051e255159e1d5c36 - Sigstore transparency entry: 365986518
- Sigstore integration time:
-
Permalink:
nikdavis/eon-py@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/nikdavis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Trigger Event:
push
-
Statement type:
File details
Details for the file eon_py-0.1.8-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eon_py-0.1.8-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 398.7 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05f684735a033988e27d2452accb1497e506835146b2fd1e99909be3a61d58fc
|
|
| MD5 |
2eb9973b94ca93cdb188ad3dcf5e74e9
|
|
| BLAKE2b-256 |
1c31d5564b233a0eef0327bc6f5d02b83f33a062b19528df0c84e5482bc9b7f8
|
Provenance
The following attestation bundles were made for eon_py-0.1.8-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on nikdavis/eon-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eon_py-0.1.8-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
05f684735a033988e27d2452accb1497e506835146b2fd1e99909be3a61d58fc - Sigstore transparency entry: 365986539
- Sigstore integration time:
-
Permalink:
nikdavis/eon-py@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/nikdavis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Trigger Event:
push
-
Statement type:
File details
Details for the file eon_py-0.1.8-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: eon_py-0.1.8-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 393.0 kB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d5df58fdef1d3d52f120c55ca359fc96db29b8d1222a9b8592d032bdeee1672
|
|
| MD5 |
79954457b312b266393b6d5de1cf8a02
|
|
| BLAKE2b-256 |
e8ab4b1811244587ec612a1629800f3dabc038792a0bbfd5dc603ff574e423cb
|
Provenance
The following attestation bundles were made for eon_py-0.1.8-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on nikdavis/eon-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eon_py-0.1.8-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl -
Subject digest:
5d5df58fdef1d3d52f120c55ca359fc96db29b8d1222a9b8592d032bdeee1672 - Sigstore transparency entry: 365986449
- Sigstore integration time:
-
Permalink:
nikdavis/eon-py@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/nikdavis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Trigger Event:
push
-
Statement type:
File details
Details for the file eon_py-0.1.8-cp38-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: eon_py-0.1.8-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 355.3 kB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0731d1fc387bf668e3733cf398020a984280de7f20a91172f36ecb16ebf41317
|
|
| MD5 |
bb74d7813be40eb3e71916d923350ac2
|
|
| BLAKE2b-256 |
6f070366202f0cca504fa73e69fe40f7632476228e88b9797398cf9924c8845f
|
Provenance
The following attestation bundles were made for eon_py-0.1.8-cp38-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on nikdavis/eon-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eon_py-0.1.8-cp38-abi3-macosx_11_0_arm64.whl -
Subject digest:
0731d1fc387bf668e3733cf398020a984280de7f20a91172f36ecb16ebf41317 - Sigstore transparency entry: 365986496
- Sigstore integration time:
-
Permalink:
nikdavis/eon-py@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/nikdavis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Trigger Event:
push
-
Statement type:
File details
Details for the file eon_py-0.1.8-cp38-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: eon_py-0.1.8-cp38-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 366.9 kB
- Tags: CPython 3.8+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3f27d296e042f27689bcf0ae7e0634acb4ede68f2dca03b11459eb3092f8b2a
|
|
| MD5 |
4da0649b408c0a89f7f55b026e60ec43
|
|
| BLAKE2b-256 |
fa38fe5489ae42236f9ad09df3050213819d106bb7f93d6a06b88e903043eb33
|
Provenance
The following attestation bundles were made for eon_py-0.1.8-cp38-abi3-macosx_10_12_x86_64.whl:
Publisher:
release.yml on nikdavis/eon-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eon_py-0.1.8-cp38-abi3-macosx_10_12_x86_64.whl -
Subject digest:
a3f27d296e042f27689bcf0ae7e0634acb4ede68f2dca03b11459eb3092f8b2a - Sigstore transparency entry: 365986468
- Sigstore integration time:
-
Permalink:
nikdavis/eon-py@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Branch / Tag:
refs/tags/v0.1.8 - Owner: https://github.com/nikdavis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cfa6e653967dab162a05bdaa2548daf6c05bba0f -
Trigger Event:
push
-
Statement type: