Skip to main content

Simple Web-based Interface for Scanner written in Python and JavaScript.

Project description


Simple Web-based Interface for Scanner

Package version License

This is a simple web-based interface for scanners. It allows sharing the scanner via IP address, making it accessible by the web browser. The frontend interface allows users to crop the image and browse previously scanned images.

From a technical perspective, it is simply a SANE scanimage wrapper. There are quite many things to do to make it production (see TODO section).


  • Linux
  • SANE (Scanner Access Now Easy) properly configured (scanimage tool)
  • Python >= 3.8
  • [Optionally] NPM (for frontend app building)

Install and run (local user)

pip install swis
swis --ip localhost --port 5520

If successfully executed visit the http://localhost:5520 (Note: http (without s))

❗IMPORTANT❗ Change the IP (localhost above) to a proper host IP address if you want to access the scanner from other computers (or other devices).

Install and run (system service)


This process requires root privileges, and you need to have Python>=3.8 installed. If the root user does't have the the pip installed, you will have to install it by running the below:

  • Fedora (and similar): sudo dnf install python3-pip
  • Ubuntu (and similar): sudo apt-get install python3-pip

Install and start service

sudo pip3 install swis
sudo swis --ip [HOST IP ADDRESS] --port 5520 -u [USER] -g [GROUP] service install 
sudo swis service start

You can check the status by running: sudo swis service status

❗IMPORTANT❗ Change the IP ([HOST IP ADDRESS] above) to a proper host IP address, and [USER] and [GROUP] to a proper system user (owner of scanned documents).


Welcome screen

Scanning parameters

Scanning in progress

Cropping scanned image

Side menu

List of scanned images


  • error handling
  • pip package
  • automatically add service with systemctl
  • better user interface (i.e. image remove button, save as pdf, etc.)
  • move actions to vuex (frontend)

Project details

Download files

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

Source Distribution

swis-0.4.2.tar.gz (590.1 kB view hashes)

Uploaded Source

Built Distribution

swis-0.4.2-py2.py3-none-any.whl (600.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page