Python bindings for the Coda configuration format
Project description
Coda
A compact configuration format designed to be easily read- and writeable. The name comes from music — a coda is the concluding passage that ties a composition together. A .coda file is the single source of truth for configuration.
The above file in JSON:
What is Coda?
- Whitespace-sensitive, line-oriented.
- Every leaf value is a string; interpretation is left to the consumer.
- Quotes are optional unless a value contains whitespace or syntax characters (
{}[]"#). - Comments are preserved and attach to the node that follows them.
Coda has three structural constructs: blocks {}, arrays [], and tables (inferred from array headers). For the full language specification, see docs/SPEC.md.
Installation
Python — install the pre-built package from PyPI (includes the compiled native library):
pip install coda-format
import coda
with coda.Doc.parse_file("config.coda") as doc:
print(doc.root()["key"])
C++ — Coda is a header-only library. Copy or symlink include/coda.hpp and #include it directly — no build step required.
#include "path/to/coda.hpp"
C FFI / other languages — build the shared library with rake build (see Building & testing below).
API documentation
| API | File |
|---|---|
C++ header (include/coda.hpp) |
docs/API-CPP.md |
Python bindings (bindings/python/coda.py) |
docs/API-PYTHON.md |
C FFI (ffi/coda_ffi.h) |
docs/API-C-FFI.md |
Building & testing
This repo is built and tested via rake.
rake generate # regenerate include/coda.hpp (requires quom)
rake build # build host shared library (libcoda_ffi.so)
rake cross-all # cross-compile for all supported targets
rake test # run all tests
rake test-cpp
rake test-c-ffi
rake test-py-ffi
Cross-compiled FFI artifacts are placed under dist/<target>/.
Project details
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 coda_format-2.1.2-py3-none-win_arm64.whl.
File metadata
- Download URL: coda_format-2.1.2-py3-none-win_arm64.whl
- Upload date:
- Size: 338.8 kB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
874cab1fa28efc80efd09a69074667dcd550f2577d99f35e7d66ef0a9e0cee33
|
|
| MD5 |
4c1bb4e5ac0caa55231f677e2c7bf0fd
|
|
| BLAKE2b-256 |
e7325c50ea545db7984f479ecd76409026b08b368999e372797123675fc2e35b
|
Provenance
The following attestation bundles were made for coda_format-2.1.2-py3-none-win_arm64.whl:
Publisher:
release.yml on zane-lang/coda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coda_format-2.1.2-py3-none-win_arm64.whl -
Subject digest:
874cab1fa28efc80efd09a69074667dcd550f2577d99f35e7d66ef0a9e0cee33 - Sigstore transparency entry: 1288013804
- Sigstore integration time:
-
Permalink:
zane-lang/coda@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Branch / Tag:
refs/tags/v2.1.2 - Owner: https://github.com/zane-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Trigger Event:
push
-
Statement type:
File details
Details for the file coda_format-2.1.2-py3-none-win_amd64.whl.
File metadata
- Download URL: coda_format-2.1.2-py3-none-win_amd64.whl
- Upload date:
- Size: 378.1 kB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbaf87ef3c93aa3b609fdc145cd4e3d22779898cd792e07ce0520904186b5265
|
|
| MD5 |
6a94f8286ec2981de81eb561de815676
|
|
| BLAKE2b-256 |
177f82c265c4fd0859d58481febbea33e9ecf4706f51ee6ada26a5fc5560e0f3
|
Provenance
The following attestation bundles were made for coda_format-2.1.2-py3-none-win_amd64.whl:
Publisher:
release.yml on zane-lang/coda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coda_format-2.1.2-py3-none-win_amd64.whl -
Subject digest:
cbaf87ef3c93aa3b609fdc145cd4e3d22779898cd792e07ce0520904186b5265 - Sigstore transparency entry: 1288014021
- Sigstore integration time:
-
Permalink:
zane-lang/coda@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Branch / Tag:
refs/tags/v2.1.2 - Owner: https://github.com/zane-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Trigger Event:
push
-
Statement type:
File details
Details for the file coda_format-2.1.2-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: coda_format-2.1.2-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff18bf2a90e872cb302df625e643718e95fd2bf18f56c45c9f9d6c6f4d2ab1ab
|
|
| MD5 |
bd260d439af4b5ba131aaca3232f3993
|
|
| BLAKE2b-256 |
3d51b3c91e70b26ab898135b30d6cb5305e18882c45bb7a85ddf3f91dde9ce02
|
Provenance
The following attestation bundles were made for coda_format-2.1.2-py3-none-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on zane-lang/coda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coda_format-2.1.2-py3-none-musllinux_1_2_x86_64.whl -
Subject digest:
ff18bf2a90e872cb302df625e643718e95fd2bf18f56c45c9f9d6c6f4d2ab1ab - Sigstore transparency entry: 1288014115
- Sigstore integration time:
-
Permalink:
zane-lang/coda@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Branch / Tag:
refs/tags/v2.1.2 - Owner: https://github.com/zane-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Trigger Event:
push
-
Statement type:
File details
Details for the file coda_format-2.1.2-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: coda_format-2.1.2-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9316d626236ed12fb8323d14479df7d8a10980a36d8e495f901511c20e92ac2c
|
|
| MD5 |
d775b828e8f35ce3899ae6905089f74c
|
|
| BLAKE2b-256 |
8bef6531f098ccc3f4ff6078ed44d78469a5fdf67686851e0aacb0501d793259
|
Provenance
The following attestation bundles were made for coda_format-2.1.2-py3-none-musllinux_1_2_aarch64.whl:
Publisher:
release.yml on zane-lang/coda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coda_format-2.1.2-py3-none-musllinux_1_2_aarch64.whl -
Subject digest:
9316d626236ed12fb8323d14479df7d8a10980a36d8e495f901511c20e92ac2c - Sigstore transparency entry: 1288014280
- Sigstore integration time:
-
Permalink:
zane-lang/coda@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Branch / Tag:
refs/tags/v2.1.2 - Owner: https://github.com/zane-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Trigger Event:
push
-
Statement type:
File details
Details for the file coda_format-2.1.2-py3-none-manylinux_2_17_x86_64.whl.
File metadata
- Download URL: coda_format-2.1.2-py3-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94288dd67e286aedd51a51c5e97ba8832bdce8218a546be6f3236716acd7081b
|
|
| MD5 |
f23bc3d234cc254eb67637496b145cbb
|
|
| BLAKE2b-256 |
1b60d9a0d3b35ba36c4ac17ba7d5fb287f81d426290a685f1dcbdc3b324f9653
|
Provenance
The following attestation bundles were made for coda_format-2.1.2-py3-none-manylinux_2_17_x86_64.whl:
Publisher:
release.yml on zane-lang/coda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coda_format-2.1.2-py3-none-manylinux_2_17_x86_64.whl -
Subject digest:
94288dd67e286aedd51a51c5e97ba8832bdce8218a546be6f3236716acd7081b - Sigstore transparency entry: 1288013898
- Sigstore integration time:
-
Permalink:
zane-lang/coda@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Branch / Tag:
refs/tags/v2.1.2 - Owner: https://github.com/zane-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Trigger Event:
push
-
Statement type:
File details
Details for the file coda_format-2.1.2-py3-none-manylinux_2_17_aarch64.whl.
File metadata
- Download URL: coda_format-2.1.2-py3-none-manylinux_2_17_aarch64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ca6e132dcaea98725cbd3936d67663f41be6560eb501a5f60132e7b7426d4fb
|
|
| MD5 |
405f054d15e6c98a987d5508d1d7cb32
|
|
| BLAKE2b-256 |
39def84084a2f7435e92fca452dc9b0a79398b325edf76a97d8107b846d45bcf
|
Provenance
The following attestation bundles were made for coda_format-2.1.2-py3-none-manylinux_2_17_aarch64.whl:
Publisher:
release.yml on zane-lang/coda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
coda_format-2.1.2-py3-none-manylinux_2_17_aarch64.whl -
Subject digest:
9ca6e132dcaea98725cbd3936d67663f41be6560eb501a5f60132e7b7426d4fb - Sigstore transparency entry: 1288014196
- Sigstore integration time:
-
Permalink:
zane-lang/coda@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Branch / Tag:
refs/tags/v2.1.2 - Owner: https://github.com/zane-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@703a9bc5dd8aebe407c73cd232a32d5c3f128065 -
Trigger Event:
push
-
Statement type: