graph LR
Tika_Client_API_Facade_Orchestration_Layer_["Tika Client API Facade (Orchestration Layer)"]
Tika_Server_Interaction_Core["Tika Server Interaction Core"]
Content_Preparation_Utility["Content Preparation & Utility"]
Tika_Server_Lifecycle_Manager["Tika Server Lifecycle Manager"]
CLI_Command_Dispatcher["CLI Command Dispatcher"]
External_Clients["External Clients"]
Apache_Tika_REST_Server["Apache Tika REST Server"]
External_Clients -- "calls" --> Tika_Client_API_Facade_Orchestration_Layer_
CLI_Command_Dispatcher -- "calls" --> Tika_Client_API_Facade_Orchestration_Layer_
Tika_Client_API_Facade_Orchestration_Layer_ -- "delegates to" --> Tika_Server_Interaction_Core
Tika_Client_API_Facade_Orchestration_Layer_ -- "utilizes" --> Content_Preparation_Utility
Tika_Client_API_Facade_Orchestration_Layer_ -- "interacts with" --> Tika_Server_Lifecycle_Manager
Tika_Server_Interaction_Core -- "communicates with" --> Apache_Tika_REST_Server
Content_Preparation_Utility -- "provides data to" --> Tika_Server_Interaction_Core
Tika_Server_Lifecycle_Manager -- "controls" --> Apache_Tika_REST_Server
The tika-python subsystem acts as a client-side facade for the Apache Tika REST Server, simplifying complex interactions into a user-friendly API. Its core functionality revolves around orchestrating requests to the Tika server for content parsing, language detection, and translation. The system manages the lifecycle of a local Tika server instance, prepares diverse input data for processing, and handles communication protocols. External clients, including a command-line interface, interact with this facade, which then delegates tasks to internal components responsible for server communication and data handling.
This is the core of the subsystem, serving as the primary client-side facade. It provides a high-level, user-friendly interface for interacting with the Apache Tika server, orchestrating various Tika operations by abstracting the complexities of server communication, content preparation, and error handling.
Related Classes/Methods:
tika.tika:parsetika.tika:detectLangtika.tika:doTranslatetika.tika:detectTypetika.tika:getConfigtika.tika:runCommand
Responsible for handling the actual HTTP communication and data exchange with the Apache Tika REST server, abstracting the underlying network requests and response handling.
Related Classes/Methods:
Prepares input data (e.g., resolving file paths, determining content types, constructing headers) into a format suitable for transmission to the Tika server. This component also includes general utility functions for file handling and configuration.
Related Classes/Methods:
tika.tika:getPathstika.tika:make_content_disposition_headertika.configtika.detectortika.languagetika.translatetika.unpack
Manages the lifecycle of the Tika server, including starting, stopping, and checking its status, particularly for locally managed instances.
Related Classes/Methods:
tika.tika:TikaServerProcesstika.tika:startServertika.config:get_tika_versiontika.config:get_configtika.config:set_config
Translates command-line interface commands and arguments into appropriate high-level API calls to the Tika Client API Facade, serving as the entry point for CLI users.
Related Classes/Methods:
Represents any external application, script, or user that utilizes the tika-python library's public API to interact with Apache Tika.
Related Classes/Methods: None
Represents the external Apache Tika REST Server that the client library communicates with.
Related Classes/Methods: None