https://github.com/tetigi/kartka
Kartka is a tool for people who hate paper.
https://github.com/tetigi/kartka
indexing paper tool
Last synced: 9 months ago
JSON representation
Kartka is a tool for people who hate paper.
- Host: GitHub
- URL: https://github.com/tetigi/kartka
- Owner: tetigi
- License: mit
- Archived: true
- Created: 2020-12-19T20:23:01.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-14T20:37:02.000Z (over 1 year ago)
- Last Synced: 2025-03-13T10:30:33.592Z (over 1 year ago)
- Topics: indexing, paper, tool
- Language: Python
- Homepage:
- Size: 35.2 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Archived
Check out the [new, better version instead](https://github.com/tetigi/kartka_rs/tree/develop).
---
# Kartka #
Kartka is a tool for people who hate paper. It provides a workflow for scanning, indexing, and then uploading letters
you receive for later retrieval.
Kartka uses (your own) Google Drive for storage, and Sonic for efficient and simple indexing.
## How it works ##
```buildoutcfg
Kartka
positional arguments:
{check,ingest,scan,search,hydrate}
The mode to use
check check connections
ingest ingest a letter
scan start a scan
search search for letters
hydrate hydrate sonic from drive
optional arguments:
-h, --help show this help message and exit
--config CONFIG Kartka configuration file location
```
`./kartka.py ingest scan_page_1.png scan_page_2.png`
```text
> ./kartka.py search mortgage
2020-12-22 1512 -> https://drive.google.com/file/d//view?usp=sharing
2020-11-18 1048 -> https://drive.google.com/file/d//view?usp=sharing
2020-11-12 1142 -> https://drive.google.com/file/d//view?usp=sharing
```
There are 3 basic commands:
`ingest`: Ingest one or more files from the command line, index them, and then upload them.
`scan`: Begin a 'scan' workflow where you can scan your pages into a configured directory, and then ingest once finished.
`search`: Search for letters that contain all of the provided keywords. Supports search suggestions via autocomplete.
## Installation ##
To use `kartka`, you will need the following:
- A functioning Sonic instance: https://github.com/valeriansaliou/sonic
- Tesseract OCR: https://github.com/madmaze/pytesseract#installation
- Install the python `requirements.txt`, via a venv or otherwise:
https://pip.pypa.io/en/stable/user_guide/#requirements-files
- A drive-enabled `credentials.json`: I use https://developers.google.com/drive/api/v3/quickstart/python because I'm lazy.
Then copy `kartka.cfg.example` to `kartka.cfg` and configure it with your preferred settings. I personally like to run
my Sonic instance on a Raspberry Pi (for convenience), but it can be ran locally as well.
Move the `credentials.json` to your `data_dir` (configured in the `cfg` above).
Now you're ready to go! On first run `kartka` will run the auth-flow on your new drive-app. After this, it will re-use
the stored token.