Skip to main content

StaticPIE

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).

Recently, printing and uploading features have been added. The uploading feature allows to upload documents to the server and then print them. This is useful when you want to print documents from your phone or other devices.

Features

  • Scanning to png, jpeg formats with provided DPI and color palette
  • Cropping scanned images
  • Creating PDF documents
  • Browsing scanned documents
  • Printing files
  • Uploading

Requirements

  • Linux
  • SANE (Scanner Access Now Easy) properly configured (scanimage tool)
  • OpenPrinting configured on server (lp tool)
  • convert tool for pdf creation
  • Python >= 3.8
  • [Optionally] NPM (for frontend development purpose)

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)

Prerequisites

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).

Upgrade to new version

To upgrade swis to the new version following steps need to be performed (notice that config needs to be provided):

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

Cockpit

There is option to integrate SWIS with Cockpit. This feature is under early development.

Project is available at: https://github.com/rsusik/swis-cockpit

Screenshots

Welcome screen

Scanning parameters

Scanning in progress

Cropping scanned image

Side menu

List of scanned images

Creating PDF file from scanned documents

Uploading documents

Printing documents

Metadata

Release files for swis 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for swis 0.6.1
File Size Uploaded Provenance Actions
swis-0.6.1.tar.gz 609.3 kB Without provenance Details for swis-0.6.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for swis 0.6.1
File Interpreter ABI Platform Actions
swis-0.6.1-py2.py3-none-any.whl Python 2, Python 3 none any Details for swis-0.6.1-py2.py3-none-any.whl

Total release size: 1.2 MB

Release files / swis-0.6.1.tar.gz

Download URL swis-0.6.1.tar.gz
Size 609.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4d00b26d6034dfaf80ff05b7ddd29853b566856481610efaf9abd7780464d713
BLAKE2b-256 checksum
How to use checksums
04968b086c8f9d0a2492c604632245dd9ac6511c990567224b6a892f6c1df2e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.15

Release files / swis-0.6.1-py2.py3-none-any.whl

Download URL swis-0.6.1-py2.py3-none-any.whl
Size 622.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
8c9b2a21cb0cc3db78a8498a57a2a5f9a1f1849539a48c88978648fbb30cc5f8
BLAKE2b-256 checksum
How to use checksums
633cd64712ba423de975d079eb3ce2b9a97e16f2fa75caa72b596e7997db5c39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.15

Security for swis 0.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page