[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#998859: ITP: libfyaml -- Fully feature complete YAML parser and emitter



Package: wnpp
Severity: wishlist
Owner: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com>

* Package name    : libfyaml
  Version         : 0.7.2
  Upstream Author : Pantelis Antoniou <pantelis.antoniou@konsulko.com>
* URL             : https://github.com/pantoniou/libfyaml
* License         : MIT
  Programming Lang: C
  Description     : Fully feature complete YAML parser and emitter.

A fancy 1.2 YAML and JSON parser/writer.

Fully feature complete YAML parser and emitter, supporting the latest
YAML spec and passing the full YAML testsuite.

It is designed to be very efficient, avoiding copies of data, and has
no artificial limits like the 1024 character limit for implicit keys.

libfyaml is using https://github.com/yaml/yaml-test-suite as a core
part of it's testsuite.

Features
- Fully supports YAML version 1.2.
- Attempts to adhere to features coming with YAML version 1.3 so that
it will be ready.
- Zero content copy operation, which means that content is never
copied to internal structures. On input types that support it (mmap
files and constant strings) that means that memory usage is kept low,
and arbitrary large content can be manipulated without problem.
- Parser may be used in event mode (like libyaml) or in document
generating mode.
- Extensive programmable API capable of manipulating parsed YAML
documents or creating them from scratch.
- YAML emitter with programmable options, supporting colored output.
- Extensive testsuite for the API, the full YAML test-suite and
correct emitter operation.
- Easy printf/scanf based YAML creation and data extraction API.
- Accurate and descriptive error messages, in standard compiler format
that can be parsed by editors and developer GUIs.
- Testsuite supports running under valgrind and checking for memory
leaks. No leaks should be possible under normal operation, so it is
usable for long- running applications.

Other relevant information on why I would like to see libfyaml packaged:
 - "why is this package useful/relevant? is it a dependency for"
   "another package? do you use it? if there are other packages"
   "providing similar functionality, how does it compare?"

  There are other C++ yaml parser libraries, but this is the fastest (*),
  and it can parse comments (unique feature?).

 - "how do you plan to maintain it?" I am open inside a packaging team"
   "(check list at https://wiki.debian.org/Teams)? are you"
   "looking for co-maintainers? do you need a sponsor?"

   Yes, I'll need a sponsor. The library is right now embedded into
   the "mrpt" package (in the Robotics Team), after packing we could
   get rid of the embedded sources and convert it into a regular build-dep.


(*) A benchmark was reported here comparing a C++ wrapper of libfyaml,
and even with
wrapping, it's x5 times faster than yaml-cpp for querying data and
~40% faster to parse
a yaml file: https://www.youtube.com/watch?v=rQdpopPgq6w

-- 

/**
 * Jose Luis Blanco-Claraco
 * Universidad de Almería - Departamento de Ingeniería
 * [Homepage]( https://w3.ual.es/~jlblanco/ )
 * [GH profile]( https://github.com/jlblancoc )
 */


Reply to: