Updates to `yxf` library for managing version controlled XLSForms

Related posts:

Reminder: The YXF Library

  • Based on recommendation by Hélène at ODK Summit, I have been using the yxf library with success, for converting XLSForms to YAML format, and saving in Git as a version control system.
  • This way we can store a library of XLSForms, and track as they change very easily over time.
  • It’s simple to convert the YAML back to XLSForm for easier viewing, or usage with ODK tools.

Command line usage:

pip install yxf
yxf form.xlsx # convert to YAML
yxf -o form-pretty.xlsx form.yaml # convert back to xlsx

Update: Convert In Memory

  • Based on discussion with the library author, they graciously decided to update the library to support in-memory conversion :smiley:
  • Reading and writing to files makes total sense when running the tool via command line for quick conversions, but for integrating yxf into other software tools, in-memory conversion is very useful.
  • This allows for software developers to integrate yxf, so when users request an XLSForm, it can be converted from YAML –> XLSForm on-the-fly and returned to the user in as a spreadsheet.

I really recommend this library!

Note: I have started a website to catalogue XLSForms used for different map humanitarian and development purposes, such as household enumeration surveys, natural disaster risk assessment, transport networks surveys, etc. The site will likely use yxf to maintain versions of each form!

7 Likes

Hi, would be great to share the website link and even to “publish” some solutions as ODK showcases.

1 Like