/senzing-tools

An aggregation of Senzing tools

Primary LanguageMakefileApache License 2.0Apache-2.0

senzing-tools

If you are beginning your journey with Senzing, please start with Senzing Quick Start guides.

You are in the Senzing Garage where projects are "tinkered" on. Although this GitHub repository may help you understand an approach to using Senzing, it's not considered to be "production ready" and is not considered to be part of the Senzing product. Heck, it may not even be appropriate for your application of Senzing!

⚠️ WARNING: senzing-tools is still in development ⚠️ _

At the moment, this is "work-in-progress" with Semantic Versions of 0.n.x. Although it can be reviewed and commented on, the recommendation is not to use it yet.

Synopsis

senzing-tools is a suite of tools to help use the Senzing API.

Go Reference Badge Go Report Card Badge License Badge go-test-linux.yaml Badge go-test-darwin.yaml Badge go-test-windows.yaml Badge

golangci-lint.yaml Badge

Overview

Senzing's senzing-tools has the following tools/commands:

  1. check-self - Check the Senzing environment.
  2. demo-entity-search - Demonstrate Entity Search.
  3. demo-quickstart - Quickstart.
  4. explain - Explain messages.
  5. init-database - Used to create a Senzing schema and configuration in PostgreSQL, MySQL, MsSQL and SQLite databases.
  6. load - Load Senzing datastore.
  7. move - Move data from place to place.
  8. observer - Aggregates Observer messages.
  9. serve-grpc - A gRPC server of the Senzing API.
  10. serve-http - An HTTP server for Senzing Tools.
  11. validate - Validate JSON for ingestion into Senzing datastore.

Install

  1. Visit latest release page.

  2. For the desired versioned release, in the "Assets" section, download the appropriate installation package.

    1. Use .deb file for Debian, Ubuntu and other deb.
    2. Use .rpm file for Red Hat, CentOS, openSuse and other rpm.
  3. ✏️ Example installation for .deb file:

    sudo apt install ./senzing-tools-0.0.0.deb
  4. ✏️ Example installation for .rpm file:

    sudo yum install ./senzing-tools-0.0.0.rpm

Use

  1. Important: Prior to using the senzing-tools command, the LD_LIBRARY_PATH environment variable must be set to the location of the Senzing binaries. Example:

    export LD_LIBRARY_PATH=/opt/senzing/er/lib/

Using command line options

Simple examples.

  1. ✏️ A senzing-tools init-database example:

    export LD_LIBRARY_PATH=/opt/senzing/er/lib/
    senzing-tools init-database \
        --database-url postgresql://username:password@postgres.example.com:5432/G2

Each command has it's own list of supported command line options. Documentation for the command line options:

  1. Online documentation, see hub.senzing.com/senzing-tools.

  2. Runtime documentation, run:

    export LD_LIBRARY_PATH=/opt/senzing/er/lib/
    senzing-tools [command] --help
  3. Detailed documentation, visit:

    1. init-database
    2. serve-grpc

Using environment variables

Environment variables may be used instead of command-line options. Each command has it's own list of supported environment variables. So see a specific list, visit the appropriate command.

  1. Commands:
    1. init-database
    2. serve-grpc

Using Docker

The senzing-tools can be run from the senzing/senzing-tools Docker container. Each command has it's own list of supported environment variables and command line options. So see a specific list, visit the appropriate command.

  1. Commands:
    1. init-database
    2. serve-grpc

This usage shows how to initialze a database with a Docker container.

  1. ✏️ A senzing/senzing-tools init-databaseexample:

    docker run \
        --env SENZING_TOOLS_DATABASE_URL=postgresql://username:password@postgres.example.com:5432/G2 \
        senzing/senzing-tools init-database
  2. Alternative: Using SENZING_TOOLS_ENGINE_CONFIGURATION_JSON environment variable.

    1. ✏️ Set SENZING_TOOLS_ENGINE_CONFIGURATION_JSON. Example:

      export SENZING_TOOLS_ENGINE_CONFIGURATION_JSON='{
          "PIPELINE": {
              "CONFIGPATH": "/etc/opt/senzing",
              "RESOURCEPATH": "/opt/senzing/er/resources",
              "SUPPORTPATH": "/opt/senzing/data"
          },
          "SQL": {
              "CONNECTION": "postgresql://username:password@postgres.example.com:5432:G2"
          }
      }'
    2. Run senzing/senzing-tools. Note: SENZING_TOOLS_ENGINE_CONFIGURATION_JSON superceeds use of SENZING_TOOLS_DATABASE_URL. Example:

      docker run \
          --env SENZING_TOOLS_ENGINE_CONFIGURATION_JSON \
          senzing/senzing-tools init-database

Parameters

See individual commands for parameters:

  1. init-database
  2. serve-grpc

References