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
- Install
- Develop
- Prerequisites for development
- Clone repository
- Install dependencies
- Build python packages
- Local test
- Publish
- Test
- Uninstall
- Verify Uninstal
- References
Install
-
Use the pip install
command to install the
Senzing SDK for Python.
Example:
pip install senzing
-
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.
-
The following software programs need to be installed:
- git
- make
- pip
-
: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.
-
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}"
-
Using the environment variables values just set, follow steps in clone-repository to install the Git repository.
Install dependencies
-
Install python tools via Makefile
.
Example:
cd ${GIT_REPOSITORY_DIR}
make install-dependencies
Build python packages
-
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
-
Install using pip
via Makefile
.
Example:
cd ${GIT_REPOSITORY_DIR}
make install-file
Test local package
-
Run testcases found in tests
directory.
Example:
cd ${GIT_REPOSITORY_DIR}
make test
Uninstall local package
-
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
-
Publish to https://test.pypi.org.
This is a test PyPi server.
Example:
cd ${GIT_REPOSITORY_DIR}
make publish-test
Publish to pypi.org
-
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
-
Install using pip
via Makefile
.
Example:
cd ${GIT_REPOSITORY_DIR}
make install-test
Install from pypi.org
-
Install using pip
via Makefile
.
Example:
cd ${GIT_REPOSITORY_DIR}
make install
Unit tests
-
Run testcases found in tests
directory.
Example:
cd ${GIT_REPOSITORY_DIR}
make test
Uninstall
-
Remove Senzing SDK for Python.
Example:
cd ${GIT_REPOSITORY_DIR}
make uninstall
Verify Uninstall
-
:pencil2: Identify python version.
Example:
export SENZING_PYTHON_VERSION=3.8
-
Verify deletion in user python repository.
Example:
ls ~/.local/lib/python${SENZING_PYTHON_VERSION}/site-packages | grep senzing
Should return nothing.
-
Verify deletion in system repository.
Example:
ls /usr/local/lib/python${SENZING_PYTHON_VERSION}/dist-packages | grep senzing
Should return nothing.
References
- Packaging Python Projects