Build the zip file

How to set up a build environment on a Windows machine:

  • Install Python : Go to and select “Latest Python 3 Release”. Choose “Windows x86 executable installer” (or -64) and run it as usual with default installation options. We don’t recommend to use pipenv because it doesn’t support -e switch for install.

  • Install SWIG : Go to and follow the instructions.

  • Install Git. See here or here.

  • Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”:

  • Get a clone of the eidreader repository. Open a terminal (cmd.exe) and type:

    cd \
    git clone
    cd eidreader
    pip install -e .
  • Install PyInstaller. Open a terminal (cmd.exe) and type:

    pip install pyinstaller

When your build environment is set up, here is how to create a distribution file:

cd \eidreader
git pull  # get the latest version
pyinstaller --noconsole
cd dist
python -m zipfile -c eidreader

This creates a file in your dist folder.

How to test the packaged eidreader:

cd \eidreader\dist

This should output something like:

{"eidreader_version": "1.0.7", "success": false, "message": "Could not find any reader with a card inserted"}

When a Belgian ID card is inserted in your smart card reader, it should output more detailed information.


Here is a collection of problems reported by Windows users:

  • error: command ‘swig.exe’ failed: No such file or directory

    After downloading the file you must unpack it. Did you do that? Use your Windows Explorer to find the file swig.exe. What is the full name of the folder containing this file? (for example C:\swigwin-3.0.12).

    Check your PATH environment variable (somewhere in your system settings). The valu of this variable usually contains a long text of style C:\Windows\;C:\Some\Other. It is a list of folders where Windows should search for programs. Got to the end of that value and add ;C:\swigwin-3.0.12 (don’t forget the semicolon “;” which is the separator between folders).

    After changing your PATH variable you must open a new command prompt window.