Package: tika-app
PyPI versionBuild
StatusCoverage
StatusBCH compliancetika-app-pythonOverviewtika-app-python is a wrapper forApache Tika
App. With this library you can analyze: -
file on disk - payload in base64 - file object (like standard input)To use file object function you should use Apache Tika version >= 1.17.Apache 2 Open Source Licensetika-app-python can be downloaded, used, and modified free of charge. It
is available under the Apache 2 license.AuthorsMain AuthorFedele Mantuano (Twitter:
[@fedelemantuano](https://twitter.com/fedelemantuano))InstallationClone repositorygit clone https://github.com/fedelemantuano/tika-app-python.gitand install tika-app-python withsetup.py:cd tika-app-python

python setup.py installor usepip:pip install tika-appUsage in a projectImportTikaAppclass:from tikapp import TikaApp

tika_client = TikaApp(file_jar="/opt/tika/tika-app-1.18.jar")For getcontent type:tika_client.detect_content_type("your_file")For detectlanguage:tika_client.detect_language("your_file")For detectall metadata and content:tika_client.extract_all_content("your_file")For detectonly content:tika_client.extract_only_content("your_file")For detectonly metadata:tika_client.extract_only_metadata("your_file")You can analyze payload in base64 with the same methods, but passingpayloadargument:tika_client.detect_content_type(payload="base64_payload")
tika_client.detect_language(payload="base64_payload")
tika_client.extract_all_content(payload="base64_payload")
tika_client.extract_only_content(payload="base64_payload")
tika_client.extract_only_metadata(payload="base64_payload")or you can analyze file object (like standard input) with the same
methods, but passingobjectInputargument:tika_client.detect_language(objectInput="objectInput")
tika_client.extract_all_content(objectInput="objectInput")
tika_client.extract_only_content(objectInput="objectInput")
tika_client.extract_only_metadata(objectInput="objectInput")Usage from command-lineIf you installed tika-app-python withpiporsetup.pyyou can
use it with command-line. To use tika-app-python you should submit the
Apache Tika app JAR. You can: - set the enviroment valueTIKA_APP_JAR- use--jarswitchThe last one overwrite all the others.These are all swithes:usage: tikapp [-h] (-f FILE | -p PAYLOAD | -k) [-j JAR] [-d] [-t] [-l]
                   [-m] [-a] [-v]

Wrapper for Apache Tika App.

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  File to submit (default: None)
  -p PAYLOAD, --payload PAYLOAD
                        Base64 payload to submit (default: None)
  -k, --stdin           Enable parsing from stdin (default: False)
  -j JAR, --jar JAR     Apache Tika app JAR (default: None)
  -d, --detect          Detect document type (default: False)
  -t, --text            Output plain text content (default: False)
  -l, --language        Output only language (default: False)
  -m, --metadata        Output only metadata (default: False)
  -a, --all             Output metadata and content from all embedded files
                        (default: False)
  -v, --version         show program's version number and exitExample from file on disk:$tikapp-fexample_file-aExample from standard input$tikapp-a-k<example_filePerformance testsThese are the results of performance tests intestsfolder:(Python 2)
tika_content_type()             0.704840 sec
tika_detect_language()          1.592066 sec
magic_content_type()            0.000215 sec
tika_extract_all_content()      0.816366 sec
tika_extract_only_content()     0.788667 sec

(Python 3)
tika_content_type()             0.698357 sec
tika_detect_language()          1.593452 sec
magic_content_type()            0.000226 sec
tika_extract_all_content()      0.785915 sec
tika_extract_only_content()     0.766517 sec