Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

A Python package to create XForms for ODK Collect.

Project Description

pyxform is a Python library that makes writing XForms for ODK Collect and enketo easy by converting XLS(X) spreadsheets into XForms. It is used as a library in a number of tools including the ODK online converter and Ona.

XLS(X) documents used as input must follow to the XLSForm standard and the resulting output follows the ODK XForms standard.

pyxform is a major rewrite of xls2xform.

Running the latest release of pyxform

For those who want to convert forms at the command line, the latest official release of pyxform can be installed using pip:

pip install pyxform

The xls2xform command can then be used:

xls2xform path_to_XLSForm output_path

Running pyxform from local source

Note that you must uninstall any globally installed pyxform instance in order to use local modules.

>From the command line:

python develop
python pyxform/ path_to_XLSForm output_path

Consider using a virtualenv and virtualenvwrapper to make dependency management easier and keep your global site-packages directory clean:

pip install virtualenv
pip install virtualenvwrapper
mkvirtualenv local_pyxform                     # or whatever you want to name it
(local_pyxform)$ python develop       # install the local files
(local_pyxform)$ python pyxform/ --help
(local_pyxform)$ xls2xform --help              # same effect as previous line
(local_pyxform)$ which xls2xform.              # ~/.virtualenvs/local_pyxform/bin/xls2xform

To leave and return to the virtual environment:

(local_pyxform)$ deactivate                    # leave the virtualenv
$ xls2xform --help
# -bash: xls2xform: command not found
$ workon local_pyxform                         # reactivate the virtualenv
(local_pyxform)$ which xls2xform               # & we can access the scripts once again

Installing pyxform from remote source

pip can install from any GitHub repository:

pip install git+

You can then run xls2xform from the commandline:

xls2xform path_to_XLSForm output_path


To make sure the install worked out, you can do the following:

pip install nose==1.0.0

cd your-virtual-env-dir/src/pyxform



To check out the documentation for pyxform do the following:

pip install Sphinx==1.0.7

cd your-virtual-env-dir/src/pyxform/docs

make html

Change Log


Release History

This version
History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(1.6 MB) Copy SHA256 Hash SHA256
Wheel py2.py3 Nov 8, 2017
(1.5 MB) Copy SHA256 Hash SHA256
Source None Nov 8, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting