Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

libfyaml Python Binding

Python bindings for libfyaml's generic YAML/JSON value model.

The binding exposes lazy FyGeneric wrappers on top of libfyaml's generic API. It supports value-oriented parsing, access, conversion, and emission while keeping the same data model used by the C generic runtime.

Highlights

  • YAML and JSON parsing through libfyaml
  • lazy wrappers for mappings, sequences, and scalars
  • direct correspondence with the C fy_generic API
  • wheels built from the bundled libfyaml source tree on supported platforms

Platform Support

The core libfyaml library supports Linux, macOS, FreeBSD, NetBSD, OpenBSD, and Windows.

The Python packaging in this directory currently targets:

  • wheel builds on Linux, macOS and Windows
  • source builds on anything else

On Windows, building from source requires a Clang-family C compiler (clang/clang-cl). The binding depends on libfyaml generics, which use statement expressions not supported by cl.exe.

Build Modes

When the full libfyaml repository is available, the Python extension builds against a bundled static libfyaml produced from the parent source tree.

When the repository sources are not available, the build falls back to a system-installed libfyaml discovered through pkg-config or standard system paths.

Links