Skip to content

About

A repo to publish Senzing SDK for Homebrew

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

60 Commits

Folders and files

homebrew-senzingsdk

Synopsis

A Homebrew tap to publish the Senzing SDK for macOS.

Prerequisites

Install

Tap this repository and install the senzingsdk cask:

brew tap senzing/senzingsdk https://github.com/Senzing/homebrew-senzingsdk
brew install --cask senzingsdk

Installing the cask requires acceptance of the Senzing End User License Agreement. You will be prompted interactively. To accept non-interactively (for example, in a CI environment), set the following environment variable before running brew install:

HOMEBREW_SENZING_ACCEPT_EULA=i_accept_the_senzing_eula brew install --cask senzingsdk

The cask declares dependencies on sqlite and openssl@3, which Homebrew will install automatically if they are not already present.

Configure your shell

After installation, add the following to your shell configuration (~/.zshrc or ~/.bash_profile):

export SENZING_ROOT="$(brew --prefix)/opt/senzing/er"
export DYLD_LIBRARY_PATH="${SENZING_ROOT}/lib:$DYLD_LIBRARY_PATH"
export PATH="${SENZING_ROOT}/bin:$PATH"

Alternatively, source the setup script provided with the SDK:

source "$(brew --prefix)/opt/senzing/er/setupEnv"

Note that neither the exports above nor setupEnv set an engine configuration — see the next section.

Configure the Senzing engine

The SDK is initialized with an engine configuration string. Most examples and POC tools read it from SENZING_ENGINE_CONFIGURATION_JSON:

export SENZING_ENGINE_CONFIGURATION_JSON='{
  "PIPELINE": {
    "CONFIGPATH": "'"$(brew --prefix)"'/opt/senzing/er/etc",
    "RESOURCEPATH": "'"$(brew --prefix)"'/opt/senzing/er/resources",
    "SUPPORTPATH": "'"$(brew --prefix)"'/opt/senzing/data"
  },
  "SQL": {
    "CONNECTION": "sqlite3://na:na@'"$(brew --prefix)"'/opt/senzing/er/var/sqldb/G2C.db"
  }
}'

SUPPORTPATH is not under SENZING_ROOT. SENZING_ROOT points at the er directory, but the support data is er's sibling:

$(brew --prefix)/opt/senzing/
├── er/          <- SENZING_ROOT
│   ├── etc/         -> CONFIGPATH
│   └── resources/   -> RESOURCEPATH
└── data/        <- SUPPORTPATH (a sibling of er, not inside it)

CONFIGPATH and RESOURCEPATH are under er, so deriving them from ${SENZING_ROOT} is correct. SUPPORTPATH is the exception: ${SENZING_ROOT}/data resolves to .../opt/senzing/er/data, which does not exist, and the engine then fails with SENZ7426 on the first SzEngine or SzDiagnostic call. See docs/errors.md.

Upgrade

brew update
brew upgrade --cask senzingsdk

Uninstall

brew uninstall --cask senzingsdk
brew untap senzing/senzingsdk

About

A repo to publish Senzing SDK for Homebrew

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages