Skip to main content

OCR-powered screen-capture tool to capture information instead of images.

Project description

NormCap

OCR powered screen-capture tool to capture information instead of images. For Linux, macOS and Windows.

Test Coverage Status CodeQL

GitHub PyPi Flathub AUR

Buy Me A Coffee

Links: Source Code | Documentation | FAQs | Releases | Changelog

Screencast

Quickstart

Choose one of the options for a prebuilt release. If you encounter an issue please take a look at the FAQs or report it.

Windows

Linux

macOS

Note: You have to allow the unsigned application on first start: "System Preferences" → "Security & Privacy" → "General" → "Open anyway". You also have to allow NormCap to take screenshots. (#135)

Install Python package

As an alternative to a prebuilt package from above you can install the NormCap Python package for Python >=3.9, but it is a bit more complicated:

On Linux

# Install dependencies (Ubuntu/Debian)
sudo apt install build-essential tesseract-ocr tesseract-ocr-eng libtesseract-dev libleptonica-dev wl-clipboard

## Install dependencies (Arch)
sudo pacman -S tesseract tesseract-data-eng wl-clipboard

## Install dependencies (Fedora)
sudo dnf install tesseract wl-clipboard

## Install dependencies (openSUSE)
sudo zypper install python3-devel tesseract-ocr tesseract-ocr-devel wl-clipboard

# Install normcap
pip install normcap

# Run
./normcap

On macOS

# Install dependencies
brew install tesseract tesseract-lang

# Install normcap
pip install normcap

# Run
./normcap

On Windows

1. Install Tesseract 5 by using the installer provided by UB Mannheim.

2. Identify the path to Tesseract base folder. It should contain a /tessdata subfolder and the tesseract.exe binary. Depending on if you installed Tesseract system-wide or in userspace, the base folder should be:

C:\Program Files\Tesseract-OCR

or

C:\Users\<USERNAME>\AppData\Local\Programs\Tesseract-OCR

3. Adjust environment variables:

  • Create an environment variable TESSDATA_PREFIX and set it to your Tesseract base folder, e.g.: "System Properties" → Tab "Advanced" → "Environment Variables..." → "New..." → Variable: TESSDATA_PREFIX, Value: "C:\Program Files\Tesseract-OCR"

  • Append Tesseract's base folder to the environment variable PATH, e.g.: "System Properties" → Tab "Advanced" → "Environment Variables..." → Section "User variables" → Select PATH → "Edit..." → Add a new entry "C:\Program Files\Tesseract-OCR"

  • To test your setup, open a new cmd-terminal and run:

    tesseract --list-langs
    

4. Install and run NormCap:

# Install normcap
pip install normcap

# Run
normcap

Why "NormCap"?

See XKCD:

Comic

Development

Prerequisites for setting up a development environment are: Python >=3.9, uv and Tesseract >=5.0 (incl. language data).

# Clone repository
git clone https://github.com/dynobo/normcap.git

# Change into project directory
cd normcap

# Create virtual env and install dependencies
uv venv
uv sync

# Register pre-commit hook
uv run pre-commit install

# Run NormCap in virtual env
uv run python -m normcap

Credits

This project uses the following non-standard libraries:

  • pyside6 - bindings for Qt UI Framework

And it depends on external software:

Packaging is done with:

  • briefcase - converting Python projects into standalone apps

Thanks to the maintainers of those nice tools!

Similar open source tools

If NormCap doesn't fit your needs, try those alternatives (no particular order):

Certification

WOMM

Contributors

Made with contrib.rocks

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

normcap-0.5.9.tar.gz (5.4 MB view details)

Uploaded Source

Built Distribution

normcap-0.5.9-py3-none-any.whl (4.0 MB view details)

Uploaded Python 3

File details

Details for the file normcap-0.5.9.tar.gz.

File metadata

  • Download URL: normcap-0.5.9.tar.gz
  • Upload date:
  • Size: 5.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for normcap-0.5.9.tar.gz
Algorithm Hash digest
SHA256 bd6a9071bd34ab2d1282bd03b6c01d036a1573c9de5546be7ed3f24c9a89fb15
MD5 8645f5166dbce2c5d08acea9a83a372b
BLAKE2b-256 218906ac7050bcc2b02fc5c39e7461fd84cc7d3db66fa2c066b20f6bb0908d7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for normcap-0.5.9.tar.gz:

Publisher: cicd.yaml on dynobo/normcap

Attestations:

File details

Details for the file normcap-0.5.9-py3-none-any.whl.

File metadata

  • Download URL: normcap-0.5.9-py3-none-any.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for normcap-0.5.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6a1adfdad46d61972b07e620788b4c3b071ff329c2b62f1caafb0b64a602fec2
MD5 98c5b325a1974674f9fb46d4969a3352
BLAKE2b-256 54578e55e998a510d69b561385aeb03273f7607985c0819df122affba3f22857

See more details on using hashes here.

Provenance

The following attestation bundles were made for normcap-0.5.9-py3-none-any.whl:

Publisher: cicd.yaml on dynobo/normcap

Attestations:

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