📰 What is pochi

🔑 Key idea

Almost traditional birthmark systems are usually simple input and output. For example, an user specifies the type of target birthmark, $p$ and $q$ as input, and obtains result as output. The process of such system is hard to use. Because, when the user would perform some process (ex. filtering results), it requires the update of birthmark system.

In general, the process of birthmarking is composed of extraction phase, and comparison phase. Also, the both phases are performed to huge amount of programs.

Therefore, the birthmark system accept the script file as input, and the user describes extraction and comparison of birthmarks in the script file. If the user would perform filtering process, it is easy to perform the process.

🍴 Usage

🏃‍♂️ CLI Interface

pochi [OPTIONS] [SCRIPT_FILE [ARGV...]]
OPTIONS
    -c, --classpath <CLASSPATH>      specifies the classpaths for Groovy (JVM) separated with colon (:).
    -C, --config <CONFIG_FILE>       specifies the configuration file.
    -e, --expression <EXPRESSION>    specifies one line script.
    -w, --working-dir <DIR>          specifies the working directory.
    -v, --verbose                    sets as verbose mode.

    -h, --help                       prints this message.
SCRIPT_FILE [ARGV...]
    Groovy script file name and its arguments.
    If no script files and no expression were given, pochi runs on interactive mode.

Script file

The script files are parsed by the Groovy. For more detail, see 🐜 Examples.

🐳 Docker

Container images of pochi for Docker are:

Docker

To run pochi on Docker container OS, type the following commands.

$ docker run --rm -it -v "$PWD":/home/pochi ghcr.io/tamada/pochi:latest [OPTIONS] [SCRIPT [ARGV...]]

ghcr.io/tamada/pochi does not include groovy interactive shell environment. Therefore, it does not work on interactive mode. If want to run pochi on the interactive mode, use ghcr.io/tamada/pochi-groovysh image instead.

Environments in the docker container

🏊‍♂️ The birthmarking flow

The birthmarking process in pochi shows in Figure 1.

Figure 1: birthmarking process in pochi

Figure 1: birthmarking process in pochi

The followings are the description of the nodes and edges in the flowchart.