kodexa 6.1.2a4783664694__tar.gz → 6.1.2a4786754000__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/PKG-INFO +1 -1
  2. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/model/model.py +45 -2
  3. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/pyproject.toml +1 -1
  4. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/setup.py +1 -1
  5. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/LICENSE +0 -0
  6. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/README.md +0 -0
  7. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/__init__.py +0 -0
  8. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/assistant/__init__.py +0 -0
  9. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/assistant/assistant.py +0 -0
  10. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/connectors/__init__.py +0 -0
  11. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/connectors/connectors.py +0 -0
  12. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/model/__init__.py +0 -0
  13. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/model/base.py +0 -0
  14. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/model/objects.py +0 -0
  15. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/model/persistence.py +0 -0
  16. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/pipeline/__init__.py +0 -0
  17. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/pipeline/pipeline.py +0 -0
  18. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/platform/__init__.py +0 -0
  19. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/platform/client.py +0 -0
  20. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/platform/kodexa.py +0 -0
  21. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/__init__.py +0 -0
  22. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/ast.py +0 -0
  23. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/core.py +0 -0
  24. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/lexrules.py +0 -0
  25. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/lextab.py +0 -0
  26. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/lextab.pyi +0 -0
  27. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/parserules.py +0 -0
  28. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/parserules.pyi +0 -0
  29. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/parsetab.py +0 -0
  30. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/selectors/parsetab.pyi +0 -0
  31. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/spatial/__init__.py +0 -0
  32. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/spatial/azure_models.py +0 -0
  33. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/spatial/bbox_common.py +0 -0
  34. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/spatial/table_form_common.py +0 -0
  35. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/steps/__init__.py +0 -0
  36. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/steps/common.py +0 -0
  37. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/testing/__init__.py +0 -0
  38. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/testing/test_components.py +0 -0
  39. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/testing/test_utils.py +0 -0
  40. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/training/__init__.py +0 -0
  41. {kodexa-6.1.2a4783664694 → kodexa-6.1.2a4786754000}/kodexa/training/train_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kodexa
3
- Version: 6.1.2a4783664694
3
+ Version: 6.1.2a4786754000
4
4
  Summary: Python SDK for the Kodexa Platform
5
5
  Author: Austin Redenbaugh
6
6
  Author-email: austin@kodexa.com
@@ -1718,7 +1718,51 @@ class FeatureSetDiff:
1718
1718
  def __init__(self, first_feature_set: FeatureSet, second_feature_set: FeatureSet):
1719
1719
  self.first_feature_set = first_feature_set
1720
1720
  self.second_feature_set = second_feature_set
1721
- self._differences = deepdiff.DeepDiff(first_feature_set, second_feature_set).to_dict()
1721
+ self._differences = deepdiff.DeepDiff(first_feature_set, second_feature_set, ignore_type_subclasses=True,
1722
+ exclude_types={Tag}).to_dict()
1723
+ self.get_new_items()
1724
+ self.diff_parser()
1725
+
1726
+ def diff_parser(self):
1727
+ diff = self._differences
1728
+ added = diff.get('iterable_item_added', {})
1729
+ removed = diff.get('iterable_item_removed', {})
1730
+ changed = diff.get('values_changed', {})
1731
+
1732
+ result = {}
1733
+ for key in set(added.keys()) | set(removed.keys()) | set(changed.keys()):
1734
+ key_diff = {}
1735
+
1736
+ if key in added:
1737
+ key_diff['added'] = added[key]['new_value']
1738
+
1739
+ if key in removed:
1740
+ key_diff['removed'] = removed[key]['old_value']
1741
+
1742
+ if key in changed:
1743
+ key_diff['changed'] = {
1744
+ 'old': changed[key]['old_value'],
1745
+ 'new': changed[key]['new_value']
1746
+ }
1747
+
1748
+ result[key] = key_diff
1749
+
1750
+ def get_new_items(self) -> List[dict]:
1751
+ """
1752
+ :return: Show items that were added
1753
+ """
1754
+ new_item_list = []
1755
+ new_item = {}
1756
+ for key, value in self._differences.get('iterable_item_added').items():
1757
+ new_item['name'] = value['name']
1758
+ for value_item in value['value']:
1759
+ # Check if the value_item is an object of Tag
1760
+ if isinstance(value_item, Tag):
1761
+ value_item = value_item.to_dict()
1762
+
1763
+ new_item['value'] = value_item['value']
1764
+ new_item_list.append(new_item)
1765
+ return new_item_list
1722
1766
 
1723
1767
  def get_differences(self):
1724
1768
  """
@@ -1749,7 +1793,6 @@ class FeatureSetDiff:
1749
1793
  """
1750
1794
  return len(self._differences().keys())
1751
1795
 
1752
-
1753
1796
  def get_all_differences(self):
1754
1797
  """
1755
1798
  :return: List of all differences between the feature sets
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "kodexa"
3
- version = "6.1.2a4783664694"
3
+ version = "6.1.2a4786754000"
4
4
  description = "Python SDK for the Kodexa Platform"
5
5
  authors = ["Austin Redenbaugh <austin@kodexa.com>", "Philip Dodds <philip@kodexa.com>", "Romar Cablao <rcablao@kodexa.com>", "Amadea Paula Dodds <amadeapaula@kodexa.com>"]
6
6
  readme = "README.md"
@@ -37,7 +37,7 @@ install_requires = \
37
37
 
38
38
  setup_kwargs = {
39
39
  'name': 'kodexa',
40
- 'version': '6.1.2a4783664694',
40
+ 'version': '6.1.2a4786754000',
41
41
  'description': 'Python SDK for the Kodexa Platform',
42
42
  'long_description': '# Kodexa\n\n[![Build and Package with Poetry](https://github.com/kodexa-ai/kodexa/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/kodexa-ai/kodexa/actions/workflows/main.yml)\n\n![img.png](https://docs.kodexa.com/img.png)\n\nKodexa is a platform for building intelligent document processing pipelines. It is a set of tools and services that\nallow you to build a pipeline that can take a document, extract the content, and then process it to extract the\ninformation you need.\n\nIt is built on a set of core principles:\n\n* **Document Centric** - Kodexa is built around the idea of a document. A document is a collection of content\n nodes that are connected together. This is a powerful model that allows you to build pipelines that can\n extract content from a wide range of sources.\n\n* **Pipeline Oriented** - Kodexa is built around the idea of a pipeline. A pipeline is a series of steps that\n can be executed on a document. This allows you to build a pipeline that can extract content from a wide range\n of sources.\n\n* **Extensible** - Kodexa is built around the idea of a pipeline. A pipeline is a series of steps that can be executed\n on a document. This allows you to build a pipeline that can extract content from a wide range of sources.\n\n* **Label Driven** - Kodexa focuses on the idea of labels. Labels are a way to identify content within a document\n and then use that content to drive the processing of the document.\n\n# Python SDK\n\nThis repository contains the Python SDK for Kodexa. The SDK is the primary way to interact with Kodexa. It allows you to\ndefine actions, models, and pipelines that can be executed on Kodexa. It also includes a complete SDK client for\nworking with a Kodexa platform instance.\n\n## Documentation & Examples\n\nDocumentation is available at the [Kodexa Documentation Portal](https://docs.kodexa.com)\n\n## Current Development\n\n[//]: # (Replace it with the diagrams and descriptions for build releases)\n**BUILD VERSION FLOW**\n![build-version-flow.png](docs%2Fbuild-version-flow.png)\nBuild version will differ based on the branches that are published to pypi.\n\n**GITHUB PROCESS**\n![github-process.png](docs%2Fgithub-process.png)\nChanges that contain bugs, features, and fixes should first be pushed to the test branch. \nOnce these changes are thoroughly tested, they can be submitted as a pull request to the main branch. The pull request should be reviewed and approved by an appropriate person before the changes can be merged.\n\n## Set-up\n\nWe use poetry to manage our dependencies, so you can install them with:\n\n poetry install\n\nYou can then run the tests with:\n\n poetry run pytest\n\n# Contributing\n\nWe welcome contributions to the Kodexa platform. Please see our [contributing guide](CONTRIBUTING.md) for more details.\n\n# License\n\nApache 2.0\n\n',
43
43
  'author': 'Austin Redenbaugh',