Skip to main content

Command line utility for your Papermerge DMS instance

Project description

Tests

Papermerge Cli

Command line utility which uses REST API to interact with your Papermerge DMS instance. You can use papermerge-cli, for example, to recursively import local folder to your Papermerge DMS instance.

Requirements

In order to use papermerge-cli you need to have python installed. You need python version >= 3.10.

Install

$ pip install papermerge-cli

pip is package installer for python - it usually comes with python interpreter. In order to install pip on Ubuntu use following command:

$ sudo apt install python3-pip

REST API/CLI Version Compatibility

REST API column - is version of Papermerge REST API server. This value you can get from:

$ papermerge-cli server-version

CLI column - is version of papermege-cli command line utility. This value you can get from:

$ papermerge-cli --version
REST API CLI
=3.0 =0.7
=2.1 = 0.3.3

Usage

Get you REST API authentication token from your instance:

$ papermerge-cli --host=https://mydms.some-vps.com auth

Or you can provide host as environment variable:

$ export PAPERMERGE_CLI__HOST=https://mydms.some-vps.com
$ papermerge-cli auth

Papermerge Cli will prompt you for username and password. On successfull authentication your REST API token will be displayed - now you can use this token for all subsequent authentications.

Use token for authentication by exporting token as PAPERMERGE_CLI__TOKEN environment variable:

$ export PAPERMERGE_CLI__TOKEN=mytoken

list

Now, with PAPERMERGE_CLI__HOST and PAPERMERGE_CLI__TOKEN environment variables set you can use list content of you home folder:

$ papermerge-cli list

In order to list content of specific folder (including inbox folder):

$ papermerge-cli list --parent-uuid=UUID-of-the-folder

me

In order to see current user details (current user UUID, home folder UUID, inbox folder UUID, username etc):

$ papermerge-cli me

pref-list

List all preferences:

$ papermerge-cli pref-list

List specific section of the preferences

$ papermerge-cli pref-list --section=ocr

Show value of preference trigger from section ocr:

$ papermerge-cli pref-list --section=ocr --name=trigger

pref-update

Update value of the preference trigger from section ocr:

$ papermerge-cli pref-update --section=ocr --name=trigger --value=auto

import

Recursively imports folder from local filesystem. For example, in order to import recursively all documents from local folder:

$ papermerge-cli import /path/to/local/folder/

You can also import one single document

$ papermerge-cli import /path/to/some/document.pdf

If you want the local copy the uploaded documents to be deleted after successful import - add --delete flag:

$ papermerge-cli import --delete /path/to/folder/

PLEASE BE CAREFUL WITH --delete FLAG AS IT WILL IRREVERSIBLE DELETE THE LOCAL COPY OF THE UPLOADED DOCUMENT!

Choose to skip OCR of imported documents with --skip-ocr flag:

$ papermerge-cli import --skip-ocr /path/to/folder/

Skip OCR flag can be used with folders (will apply to all docs in the folder) or with individual documents. --skip-ocr flag will work only with Papermerge REST API >= v3.1

search

Search for node (document or folder) by text or by tags:

$ papermerge-cli search -q apotheke

Returns all documents (or folders with such title) containing OCRed text 'apotheke'.

You can search by tags only:

$ papermerge-cli search --tags important

Will search for all documents (and folders) which were tagged with tag 'important' When multiple tags are provided, by default, will search for nodes with all mentioned tags:

$ papermerge-cli search --tags important,letters  # returns nodes with both tags important AND letters

In case you want to search for nodes with ANY of the provided tags, use tags-op parameter:

$ papermerge-cli search --tags important,letters --tags-op any

Finally, tags and q may be combined:

$ papermerge-cli search --tags important -q apartment

download

Downloads a folder or a document:

$ papermerge-cli download --uuid <document or folder uuid>

In case uuid is the ID of specific folder - a zip file will be downloaded; zip file will contain all nodes insides specified folder.

You can use --uuid multiple times:

$ papermerge-cli download --uuid <uuid of doc1> --uuid <uuid of doc2> --uuid <uuid of folder 1>

If you want to download content to specific file on your file-system, use -f option:

$ papermerge-cli download --uuid <doc-uuid> -f /path/to/file-system/document.pdf

or in case of uuid is a folder:

$ papermerge-cli download --uuid <folder-uuid>  -f /path/to/file-system/folder.zip

You can also specify the format/type of the downloaded archive (e.g. in case node is either a folder):

 $ papermerge-cli download --uuid <folder-uuid>  -f /path/to/file-system/folder.targz -t targz

Version Compatiblity

CLI Version REST API version Remarks
0.7.0 3.0.x
0.7.1 3.0.x
0.8.0 3.1.x Skip OCR feature introduced

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

papermerge_cli-0.8.0.tar.gz (17.9 kB view hashes)

Uploaded Source

Built Distribution

papermerge_cli-0.8.0-py3-none-any.whl (23.9 kB view hashes)

Uploaded 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