Skip to main content

Python bindings for the Coda configuration format

Project description


Coda

imprint_coda_20260403010920

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:

imprint_coda_20260403010924

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

coda_format-2.1.1-py3-none-win_arm64.whl (338.8 kB view details)

Uploaded Python 3Windows ARM64

coda_format-2.1.1-py3-none-win_amd64.whl (378.1 kB view details)

Uploaded Python 3Windows x86-64

coda_format-2.1.1-py3-none-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

coda_format-2.1.1-py3-none-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

coda_format-2.1.1-py3-none-manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

coda_format-2.1.1-py3-none-manylinux_2_17_aarch64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

File details

Details for the file coda_format-2.1.1-py3-none-win_arm64.whl.

File metadata

  • Download URL: coda_format-2.1.1-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

Hashes for coda_format-2.1.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 f98f0a71408e4c7f6f893ca5e652b5e705f0070da5282abe25dbe322c2a4e791
MD5 6dc15a8d2bcd4031e4451f1f35ede313
BLAKE2b-256 7aaea765c976abe21f9d13bc44599df65ce7bc055af3938c92b109f872baa941

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-2.1.1-py3-none-win_arm64.whl:

Publisher: release.yml on zane-lang/coda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coda_format-2.1.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: coda_format-2.1.1-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

Hashes for coda_format-2.1.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0a56694f5fc0c49bd06a2cd9f46784c9728da1e43f684e7bba05d786d2fc801d
MD5 02ffe937dc212a6ffab33fd2f5e62a77
BLAKE2b-256 d2df573390bac2ba90f63149baceb33bbd15a1c3b19c5efadedd6fda9b09a185

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-2.1.1-py3-none-win_amd64.whl:

Publisher: release.yml on zane-lang/coda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coda_format-2.1.1-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for coda_format-2.1.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f237670d2e2580bea2c3bde5e1df18fe4e0a129ee4de225944a4c917d50abb71
MD5 84cb1f600a239d408872f3808ce1289b
BLAKE2b-256 53f8a0d28c6266e38a86fa8a32e203ff8219b8ed2c9b71ff3e8615bb6f65d0c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-2.1.1-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on zane-lang/coda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coda_format-2.1.1-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for coda_format-2.1.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6d62ec0793afc225bba7aa2b1600d9e0c23ccdc9b99c766f2db638ab78b4278e
MD5 560ace936ff8e02e749819805996d9d8
BLAKE2b-256 727c8b97d8739cd05dcb290c5d8dbe3427c958205c698cd86b362aec65fe63d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-2.1.1-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on zane-lang/coda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coda_format-2.1.1-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for coda_format-2.1.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5a8810d8bfd1fa05e153760159a8b15ac85e61f2485e24fb32df215a5fb7dad9
MD5 66a7b18d09df45ec64ed3f45f0adc498
BLAKE2b-256 66b0ff78f85029ede7b9ab751e4818ef0be397ba5e9f2f06d9325f4ae3f9eea5

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-2.1.1-py3-none-manylinux_2_17_x86_64.whl:

Publisher: release.yml on zane-lang/coda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coda_format-2.1.1-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for coda_format-2.1.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 5c7864cd0a64fbbc147bd6c20f94a614aec4fe2f6127549e9517390437501870
MD5 1c094954b7d8baf30803b5cc8bd5b449
BLAKE2b-256 924e7ba2080fc8747ce817a692dba7a50ca7f8019fdf7e4864c9f417793b32b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-2.1.1-py3-none-manylinux_2_17_aarch64.whl:

Publisher: release.yml on zane-lang/coda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page