Metadata-Version: 2.4
Name: libfyaml
Version: 1.0.0a4
Summary: Python bindings for libfyaml's generic YAML/JSON value model
Author-email: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Maintainer: libfyaml contributors
Project-URL: Homepage, https://github.com/pantoniou/libfyaml
Project-URL: Documentation, https://github.com/pantoniou/libfyaml/tree/master/python-libfyaml
Project-URL: Repository, https://github.com/pantoniou/libfyaml
Project-URL: Bug Reports, https://github.com/pantoniou/libfyaml/issues
Project-URL: Changelog, https://github.com/pantoniou/libfyaml/blob/master/CHANGELOG.md
Keywords: yaml,json,parser,fast,performance,memory-efficient
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Programming Language :: C
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Markup
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# 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 and macOS
* source builds on Windows, macOS, and the BSDs

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

* API reference: `docs/API.md`
* Quickstart: `QUICKSTART.md`
* Project repository: <https://github.com/pantoniou/libfyaml>
