========== Aiviro CLI ========== Aiviro comes with few CLI commands for creating, managing and inspecting your Aiviro scripts. For detailed information about available commands and theirs arguments, see: .. code-block:: console $ aiviro-cli --help Create Project & Scenarios -------------------------- To create a new Aiviro project, we predefined a repository structure how such a project should look like. This can be initialize by ``aiviro-cli create project``. To add new scenario into already existing project, use ``aiviro-cli create scenario`` command: .. code-block:: console $ aiviro-cli create project --help $ aiviro-cli create project --context path/to/project/folder .. code-block:: console $ aiviro-cli create scenario --help $ aiviro-cli create scenario --prefect-project Aiviro --prefect-flow "Invoice Processing" --prefect-env rdp Logs Management --------------- Process Metadata Logs ~~~~~~~~~~~~~~~~~~~~~ As mentioned in the section :ref:`Generate Images`, you can generate images from Aiviro metadata. This is done by ``aiviro-cli log generate`` command, see the example of it's usage: .. code-block:: console $ aiviro-cli log generate --help $ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\ --output logs/run-demo_test/log_img/ \\ --number 20 $ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\ --output logs/run-demo_test/log_img/ \\ --since 1955.11.12-6:38 $ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\ --output logs/run-demo_test/log_img/ \\ --before 2015.10.21-7:28 $ aiviro-cli log generate --input logs/run-demo_test/log_img/metadata/ \\ --output logs/run-demo_test/log_img/ \\ --since 1955.11.12-6:38 \\ --before 2015.10.21-7:28 \\ --number 100 Analyze Errors ~~~~~~~~~~~~~~ Sometimes your scripts may encounter some errors, to find the exact error-message and corresponding images, in long running scripts may be time demanding. Therefore we created a helpful script, which automatically detects errors in the text logs and selects appropriate metadata based on the time the error occurred, which are then copied into separate sub-folders. This is done by ``aiviro-cli log analyze`` command, see the example of it's usage: .. code-block:: console $ aiviro-cli log analyze --help $ aiviro-cli log analyze --run logs/run-2021-02-10_10-25-456-main/ \\ --number 30 $ aiviro-cli log analyze --logs logs/ --window 0:5:0 --number 50 Connectivity Testing -------------------- Using ``aiviro-cli test-connection --help`` command, you can run tests for various Aiviro components. For example to test and select the best configuration for Aiviro email module, use a following command: .. code-block:: console # Test IMAP email module $ aiviro-cli test-connection imap --host --username --password # Test SMTP email module $ aiviro-cli test-connection smtp --host --username --password # Test RDP module $ aiviro-cli test-connection rdp --host --username --password .. _aiviro reader cli: Reader Scripts -------------- .. note:: It's required to install ``reader`` and ``pdf`` from :ref:`Optional dependencies` section. There are several scripts under ``aiviro-cli reader --help`` command, which can be used to extract data from the provided PDF files. Other example is to calculate an accuracy of Aiviro Reader based on your ground-truth data export. For extraction and additional information about supported items, see :ref:`Invoice Processing` section. To extract all supported items from pdf files, use a following command: .. code-block:: console $ aiviro-cli reader extract --help $ aiviro-cli reader extract --input folder/pdfs/ --output output/folder/ To calculate reader's accuracy, see its example below. This calculation can be configured (*this is optional*) by providing a configuration file, see example of it below. Download :download:`reader_config.yaml <../../configs/reader_config.yaml>` .. literalinclude:: ../../configs/reader_config.yaml :language: yaml * ``required_column`` - columns which must be contained in both input csv files * ``map_column`` - used for renaming ground-truth csv file columns to standard name format * ``export_value`` - [optional] values to export from pdf-files, if not specified all values are exported .. code-block:: console $ aiviro-cli reader stats --help $ aiviro-cli reader stats --input export_data.csv --ground-truth gt_data.csv --output folder/ --config path/reader_config.yaml To check whether the exported data is also present in corresponding pdf files, use ``reader find``. .. code-block:: console $ aiviro-cli reader find --help $ aiviro-cli reader find --input pdf-folder/ --ground-truth gt_data.csv --output folder/ --config path/reader_config.yaml Deployment as Web App --------------------- .. note:: It's required to install ``deploy`` from :ref:`Optional dependencies` section. To test certain Aiviro functionality you can deploy it as a web application. .. code-block:: console $ aiviro-cli deploy --help $ aiviro-cli deploy reader $ aiviro-cli deploy recognition .. figure:: ../../images/deploy_reader.png Deployed Aiviro Reader as an interactive web application. .. figure:: ../../images/deploy_recognition.png Deployed Aiviro Recognition as an interactive web application.