getodk / getodk/pyxform-http

Simplify file handling in usage of pyxform

Open
#73 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
5
Forks
11
PR merge metrics
No merged PRs in 30d

Description

Since pyxform 2.1.0 (released Sep 2024) it is possible to exchange bytes with `xls2xform.convert`, instead of the pattern pyxform-http currently uses of writing out to a file for `xls2xform.xls2xform_convert` then reading the result file(s) to send back - [as seen here](https://github.com/getodk/pyxform-http/blob/82825166d0ec9c5fd0ea577da868f15bb6285e42/app/main.py#L45-L51). If ODK validate is run (which it currently is by default), pyxform has to write out the XForm XML for that, at least until odk validate can accept data via stdin https://github.com/getodk/validate/issues/97. If both of these items are resolved then pyxform-http would not need filesystem write access.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in app/main.py at the file-handling pattern around lines 45-51, then review pyxform 2.1.0's xls2xform.convert byte exchange and ODK Validate issue #97. The work is complete when pyxform-http no longer needs filesystem write access, subject to both validation and conversion paths supporting in-memory data.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.