grass icon indicating copy to clipboard operation
grass copied to clipboard

Add JSON and YAML C library dependency

Open cwhite911 opened this issue 1 year ago • 1 comments

Discussed in https://github.com/OSGeo/grass/discussions/3019

Originally posted by cwhite911 June 5, 2023 In an effort add additional output data formats to modules (e.g., r.report, r.info, etc..) we are discussing adding new library dependencies to aid in JSON and YAML encoding.

Please share your feedback on the following candidate dependencies.

JSON

parson https://github.com/kgabis/parson/ Current release: 1.5.2 (2023)

Parson is a lightweight json library written in C.

  • [X] Linux
  • [X] Windows
  • [X] Mac OSX

YAML

libyaml https://github.com/yaml/libyaml Current release: 1.2.2 (2021-10-01)

LibYAML is a YAML parser and emitter library.

  • [X] Linux
  • [X] Windows
  • [X] Mac OSX

Related Issues and PRs

  • https://github.com/OSGeo/grass/pull/2666
  • https://github.com/OSGeo/grass/pull/2542
  • https://github.com/OSGeo/grass/pull/2386
  • https://github.com/OSGeo/grass/pull/2258
  • https://github.com/OSGeo/grass/pull/476
  • https://github.com/OSGeo/grass/pull/3033

Candidate Modules

Which modules should have JSON & YAML output support?

General

  • [x] g.mapsets https://github.com/OSGeo/grass/pull/2542
  • [ ] g.mapset
  • [ ] g.list
  • [ ] g.region
  • [ ] g.proj
  • [ ] g.version
  • [ ] etc..

Raster

  • [ ] r.univar (GSoC) https://github.com/OSGeo/grass/pull/3783
  • [ ] r.stats (GSoC) https://github.com/OSGeo/grass/pull/3884
  • [ ] r.report https://github.com/OSGeo/grass/pull/3033
  • [x] r.info (GSoC) https://github.com/OSGeo/grass/pull/3744
  • [x] r.kappa https://github.com/OSGeo/grass/pull/2666
  • [x] r.horizon https://github.com/OSGeo/grass/pull/3768
  • [ ] r.describe
  • [ ] r.what
  • [ ] r.coin
  • [ ] r.colors.out
  • [ ] r.volume
  • [ ] etc..

3d Raster

  • [ ] etc..

Vector

  • [x] v.info (GSoC) https://github.com/OSGeo/grass/pull/3755
  • [ ] v.univar (GSoC) https://github.com/OSGeo/grass/pull/3784
  • [x] v.db.select https://github.com/OSGeo/grass/pull/476
  • [x] v.db.univar https://github.com/OSGeo/grass/pull/2386
  • [ ] v.colors.out
  • [ ] v.report
  • [ ] etc..

Database

  • [x] db.univar https://github.com/OSGeo/grass/pull/2386
  • [ ] etc..

JSON output support without a library

  • [ ] v.db.select https://github.com/OSGeo/grass/pull/476
  • [ ] r.kappa https://github.com/OSGeo/grass/pull/2666
  • [ ] g.mapsets https://github.com/OSGeo/grass/pull/2542
  • [ ] r.geomorphon

cwhite911 avatar Jun 05 '23 09:06 cwhite911