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
from coda_format import CodaDoc

with CodaDoc.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-0.1.0-py3-none-win_arm64.whl (339.4 kB view details)

Uploaded Python 3Windows ARM64

coda_format-0.1.0-py3-none-win_amd64.whl (378.6 kB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

coda_format-0.1.0-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-0.1.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: coda_format-0.1.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 339.4 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-0.1.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d9301b8f7a7f3318bc23beb0e4c6bb3d81e31fd270502f4931a476a5e76e931d
MD5 bd69911335520b5ce04dc8742407143e
BLAKE2b-256 8f5708d450a717c1d7b39ab9a3d1f0d714b042fee72741dc51d873a18ad0894c

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-0.1.0-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-0.1.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: coda_format-0.1.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 378.6 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-0.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9a23bf12db874a2c5dd57bcfdf176d5e9e66507c82b74b50f9db8d3ced2fcfdb
MD5 349716fa6e20433f7d6ca8a5c0b4621f
BLAKE2b-256 e2d3e57d10eef4f9f6972574f8981799f79916ed9e3351a01e5733013d8ed19e

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-0.1.0-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-0.1.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for coda_format-0.1.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8d4496cebe80e8bcce121744e3a832780866e76bdcad36d19a409cb495445d39
MD5 9ef1f986ff14127b95a32cfc6a6a9ff3
BLAKE2b-256 3770faf5acbf8ba29d455f72600258d51b8bfe68f0f0c3cea4266d5596a73447

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-0.1.0-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-0.1.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for coda_format-0.1.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d80c6155825466ce9e6bb5133e053985e129bf2714fc77d995f4f8930736b427
MD5 e59dea4bf812f899b769bfb27d1a7bd1
BLAKE2b-256 7e4fa4fb7930ab40830f9b619f3a7d935544f3ea696cb4de0c1ac20cd0bac517

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-0.1.0-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-0.1.0-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for coda_format-0.1.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 998e04df3a0b8127a5ac57f595724a0b2a548059019cf09dc6eb1425a017b549
MD5 a16253c62ea1e124136b6abc6c92cb41
BLAKE2b-256 b9f827df6302b7c0682f265c4d4addac539937c524798d7932b539dbd58bc8b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-0.1.0-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-0.1.0-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for coda_format-0.1.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 74fc50004e7e4c0c48569c36a9c8c36151dfa3937d33e2e49e1bf2d86ba7f27a
MD5 cd2d18099f1ac5093e863c0424386793
BLAKE2b-256 e96161ec2b48838d3690f76e101912ed7f33601a2e6bb9c2264c3131f02dc815

See more details on using hashes here.

Provenance

The following attestation bundles were made for coda_format-0.1.0-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