Fork of tjol/ckdl adding source spans
  • C 74.1%
  • C++ 9.6%
  • Cython 8.3%
  • CMake 5%
  • Python 3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tearnote eb5baf2a22
Some checks failed
Build and test / C, C++ (push) Has been cancelled
Build and test / C, C++-1 (push) Has been cancelled
Build and test / C, C++-2 (push) Has been cancelled
Build and test / C, C++-3 (push) Has been cancelled
Build and test / C, C++-4 (push) Has been cancelled
Build and test / C, C++-5 (push) Has been cancelled
Build and test / C, C++ Shared Library (push) Has been cancelled
Build and test / C, C++ Shared Library-1 (push) Has been cancelled
Build and test / C, C++ Shared Library-2 (push) Has been cancelled
Build and test / Linux 32-bit (push) Has been cancelled
Build and test / Python (push) Has been cancelled
Build and test / Python-1 (push) Has been cancelled
Build and test / Python-2 (push) Has been cancelled
Build and test / Python-3 (push) Has been cancelled
Build and test / Python-4 (push) Has been cancelled
Add source spans
2026-08-04 22:35:07 +01:00
.github/workflows Skip free-threaded python 2025-11-07 20:54:42 +01:00
bindings make ASCII mode make sense 2024-12-21 19:45:21 +01:00
doc Make KDL 2.0.0 the default (#9) 2024-12-21 19:31:14 +01:00
include/kdl Add source spans 2026-08-04 22:35:07 +01:00
src Add source spans 2026-08-04 22:35:07 +01:00
tests Add source spans 2026-08-04 22:35:07 +01:00
.clang-format add .clang-format 2023-10-03 14:11:38 +02:00
.gitignore Add sphinx docs 2022-09-13 23:51:07 +02:00
.readthedocs.yaml Remove unnecessary comments from .readthedocs.yaml 2023-10-03 17:31:14 +02:00
CHANGELOG.md prepare CHANGELOG for 1.0 2024-12-21 20:25:20 +01:00
CMakeLists.txt make kdl-utf8 an OBJECT target 2025-01-11 15:41:49 +01:00
COPYING Just copy the test cases, downloading them from GH every time was silly 2024-05-26 12:51:38 +02:00
pyproject.toml Add Python tests 2022-09-16 21:39:00 +02:00
README.md Make KDL 2.0.0 the default (#9) 2024-12-21 19:31:14 +01:00
setup.py add missing line to Python README 2024-12-21 20:53:17 +01:00

ckdl - KDL reading and writing for C, Python, C++

ckdl is a C (C11) library that implements reading and writing the KDL Document Language.

ckdl provides a simple “streaming“ API, inspired by SAX, instead of reading the entire document into a data structure. While this may be inconvenient to work with directly for most applications, the idea is to enable bindings for different languages which can then read the document into a suitable data structure relatively directly.

This repository currently contains language bindings for:

  • Python
  • C++20

The C and C++ parts are built with CMake.

To install the Python bindings, run

pip install ckdl

For more details about how to build and use ckdl, check out the documentation on RTD or under doc/ in this repository.

Status

ckdl has full support for KDL 2.0.0 and KDL 1.0.0. The parser passes the upstream test suite.

By default, the parser will allow documents of either KDL version. You can restrict the parser to one version or the other using parse options.