Skip to main content

Python SDK for Senzing API

Project description

g2-sdk-python

Synopsis

Senzing Software Development Kit (SDK) for Python.

This SDK provide python access to the senzingapi

More information at github.com/Senzing/g2-sdk-python

Overview

The git repository at github.com/Senzing/g2-sdk-python contains the Senzing SDK for Python files in src/senzing.

It also contains:

  • Tooling to create Python "wheel" packages
  • Test suites
  • Instructions for publishing to PyPi.

Contents

  1. Install
  2. Develop
    1. Prerequisites for development
    2. Clone repository
    3. Install dependencies
    4. Build python packages
    5. Local test
    6. Publish
    7. Test
    8. Uninstall
    9. Verify Uninstal
  3. References

Install

  1. Use the pip install command to install the Senzing SDK for Python. Example:

    pip install senzing
    
  2. More information at github.com/Senzing/g2-sdk-python

Develop

The following instructions are used when modifying and building the Docker image.

Prerequisites for development

:thinking: The following tasks need to be complete before proceeding. These are "one-time tasks" which may already have been completed.

  1. The following software programs need to be installed:

    1. git
    2. make
    3. pip
  2. :pencil2: Make a ~/.pypirc file. Example:

    [pypi]
      username = __token__
      password = pypi-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    
    [testpypi]
      username = __token__
      password = pypi-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    

Clone repository

For more information on environment variables, see Environment Variables.

  1. Set these environment variable values:

    export GIT_ACCOUNT=senzing
    export GIT_REPOSITORY=g2-sdk-python
    export GIT_ACCOUNT_DIR=~/${GIT_ACCOUNT}.git
    export GIT_REPOSITORY_DIR="${GIT_ACCOUNT_DIR}/${GIT_REPOSITORY}"
    
  2. Using the environment variables values just set, follow steps in clone-repository to install the Git repository.

Install dependencies

  1. Install python tools via Makefile. Example:

    cd ${GIT_REPOSITORY_DIR}
    make install-dependencies
    

Build python packages

  1. Build pip package using python3 -m build via Makefile. Example:

    cd ${GIT_REPOSITORY_DIR}
    make package
    

    Output will be in the dist directory.

Local test

Install from file

  1. Install using pip via Makefile. Example:

    cd ${GIT_REPOSITORY_DIR}
    make install-file
    

Test local package

  1. Run testcases found in tests directory. Example:

    cd ${GIT_REPOSITORY_DIR}
    make test
    

Uninstall local package

  1. Remove senzing. Example:

    cd ${GIT_REPOSITORY_DIR}
    make uninstall
    

Publish

:warning: On PyPi and test.pypi, pip package versions are immmutable. They cannot be deleted nor updated. Since only one instance of a version can be published, be careful on what is published.

Publish to test.pypi.org

  1. Publish to https://test.pypi.org. This is a test PyPi server. Example:

    cd ${GIT_REPOSITORY_DIR}
    make publish-test
    

Publish to pypi.org

  1. Publish to https://pypi.org. :warning: This requires that the workstation has gpg enabled with the signing key for "Senzing, Inc." Example:

    cd ${GIT_REPOSITORY_DIR}
    make publish-signed
    

Test

Install from test.pypi.org

  1. Install using pip via Makefile. Example:

    cd ${GIT_REPOSITORY_DIR}
    make install-test
    

Install from pypi.org

  1. Install using pip via Makefile. Example:

    cd ${GIT_REPOSITORY_DIR}
    make install
    

Unit tests

  1. Run testcases found in tests directory. Example:

    cd ${GIT_REPOSITORY_DIR}
    make test
    

Uninstall

  1. Remove Senzing SDK for Python. Example:

    cd ${GIT_REPOSITORY_DIR}
    make uninstall
    

Verify Uninstall

  1. :pencil2: Identify python version. Example:

    export SENZING_PYTHON_VERSION=3.8
    
  2. Verify deletion in user python repository. Example:

    ls ~/.local/lib/python${SENZING_PYTHON_VERSION}/site-packages | grep senzing
    

    Should return nothing.

  3. Verify deletion in system repository. Example:

    ls /usr/local/lib/python${SENZING_PYTHON_VERSION}/dist-packages | grep senzing
    

    Should return nothing.

References

  1. Packaging Python Projects

Project details


Release history Release notifications | RSS feed

This version

2.8.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

senzing-2.8.5.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

senzing-2.8.5-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file senzing-2.8.5.tar.gz.

File metadata

  • Download URL: senzing-2.8.5.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for senzing-2.8.5.tar.gz
Algorithm Hash digest
SHA256 18cbf4d059af51b1ac079c333e926b48bf4aff2124b34ad824bbf87f1799f639
MD5 6bcaf88f6837d01f3db0bd31541bb20f
BLAKE2b-256 31688fe8b39e5961f72a9282dcaba208bae7d0bacd55df097235edf765ff3711

See more details on using hashes here.

File details

Details for the file senzing-2.8.5-py3-none-any.whl.

File metadata

  • Download URL: senzing-2.8.5-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for senzing-2.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ccff0e45c8a16292d5128306145c99c9e99a1158dc674abf723f1bf17bd22a7f
MD5 d1ff66cae36b80098226aa53611cd54e
BLAKE2b-256 3e532bc826095a3ae18ea4f155f688e7eb8625de45fb33856aa4ec17d75990b6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page