senzing-garage / community-roadmap

A peek into the future of the Senzing Community.
Apache License 2.0
1 stars 0 forks source link

Python SDK - next version #77

Open docktermj opened 1 year ago

docktermj commented 1 year ago

This is an "updo" of the Senzing SDK for python. It will introduce backward-breaking changes from the existing g2-sdk-python.

Some of the aspects incorporated into this Python SDK:

External improvements

  1. PEP 8 compliance
    1. Proper module, class, and method naming
  2. Returned values (i.e. no mutable method parameters)
  3. Enhanced Exceptions
  4. Convenience methods
  5. JSON error messages for easier error parsing
  6. Type hinting
  7. Type checking
  8. Improved constuctor/destructor
  9. Support arguments as either JSON string or dict

Internal improvements

  1. pylint compliant code
  2. Flake8 code style enforcement
  3. black code formatting
  4. pytest unit testing for tests and examples
  5. mypy static type checking
  6. sphinx documentation generation