smartystreets-python-sdk 5.1.0__tar.gz → 5.3.0__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 (90) hide show
  1. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/PKG-INFO +2 -2
  2. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/client_builder.py +4 -0
  3. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/analysis.py +19 -0
  4. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/candidate.py +26 -0
  5. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/component_analysis.py +20 -1
  6. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/components.py +24 -0
  7. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/lookup.py +25 -0
  8. smartystreets_python_sdk-5.3.0/smartystreets_python_sdk/us_street/match_info.py +14 -0
  9. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/metadata.py +26 -0
  10. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk.egg-info/PKG-INFO +2 -2
  11. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk_version/__init__.py +1 -1
  12. smartystreets_python_sdk-5.1.0/smartystreets_python_sdk/us_street/match_info.py +0 -7
  13. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/LICENSE.md +0 -0
  14. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/README.md +0 -0
  15. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/setup.cfg +0 -0
  16. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/setup.py +0 -0
  17. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/__init__.py +0 -0
  18. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/basic_auth_credentials.py +0 -0
  19. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/batch.py +0 -0
  20. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/custom_header_sender.py +0 -0
  21. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/custom_query_sender.py +0 -0
  22. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/errors.py +0 -0
  23. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/exceptions.py +0 -0
  24. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_autocomplete/__init__.py +0 -0
  25. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_autocomplete/candidate.py +0 -0
  26. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_autocomplete/client.py +0 -0
  27. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_autocomplete/lookup.py +0 -0
  28. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_postal_code/__init__.py +0 -0
  29. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_postal_code/candidate.py +0 -0
  30. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_postal_code/client.py +0 -0
  31. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_postal_code/lookup.py +0 -0
  32. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/__init__.py +0 -0
  33. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/analysis.py +0 -0
  34. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/candidate.py +0 -0
  35. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/changes.py +0 -0
  36. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/client.py +0 -0
  37. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/components.py +0 -0
  38. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/language_mode.py +0 -0
  39. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/lookup.py +0 -0
  40. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/metadata.py +0 -0
  41. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/international_street/rootlevel.py +0 -0
  42. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/license_sender.py +0 -0
  43. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/native_serializer.py +0 -0
  44. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/proxy.py +0 -0
  45. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/request.py +0 -0
  46. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/requests_sender.py +0 -0
  47. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/response.py +0 -0
  48. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/retry_sender.py +0 -0
  49. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/shared_credentials.py +0 -0
  50. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/signing_sender.py +0 -0
  51. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/static_credentials.py +0 -0
  52. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/status_code_sender.py +0 -0
  53. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/url_prefix_sender.py +0 -0
  54. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_autocomplete_pro/__init__.py +0 -0
  55. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_autocomplete_pro/client.py +0 -0
  56. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_autocomplete_pro/geolocation_type.py +0 -0
  57. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_autocomplete_pro/lookup.py +0 -0
  58. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_autocomplete_pro/suggestion.py +0 -0
  59. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_enrichment/__init__.py +0 -0
  60. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_enrichment/client.py +0 -0
  61. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_enrichment/lookup.py +0 -0
  62. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_enrichment/response.py +0 -0
  63. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_extract/__init__.py +0 -0
  64. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_extract/address.py +0 -0
  65. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_extract/client.py +0 -0
  66. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_extract/lookup.py +0 -0
  67. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_extract/metadata.py +0 -0
  68. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_extract/result.py +0 -0
  69. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_reverse_geo/__init__.py +0 -0
  70. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_reverse_geo/address.py +0 -0
  71. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_reverse_geo/client.py +0 -0
  72. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_reverse_geo/coordinate.py +0 -0
  73. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_reverse_geo/lookup.py +0 -0
  74. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_reverse_geo/response.py +0 -0
  75. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_reverse_geo/result.py +0 -0
  76. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/__init__.py +0 -0
  77. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/client.py +0 -0
  78. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/match_type.py +0 -0
  79. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_street/output_format.py +0 -0
  80. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_zipcode/__init__.py +0 -0
  81. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_zipcode/alternate_county.py +0 -0
  82. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_zipcode/city.py +0 -0
  83. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_zipcode/client.py +0 -0
  84. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_zipcode/lookup.py +0 -0
  85. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_zipcode/result.py +0 -0
  86. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk/us_zipcode/zipcode.py +0 -0
  87. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk.egg-info/SOURCES.txt +0 -0
  88. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk.egg-info/dependency_links.txt +0 -0
  89. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk.egg-info/requires.txt +0 -0
  90. {smartystreets_python_sdk-5.1.0 → smartystreets_python_sdk-5.3.0}/smartystreets_python_sdk.egg-info/top_level.txt +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smartystreets_python_sdk
3
- Version: 5.1.0
3
+ Version: 5.3.0
4
4
  Summary: An official library to help Python developers easily access the SmartyStreets APIs
5
5
  Home-page: https://github.com/smartystreets/smartystreets-python-sdk
6
- Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/5.1.0
6
+ Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/5.3.0
7
7
  Author: SmartyStreets SDK Team
8
8
  Author-email: support@smartystreets.com
9
9
  License: Apache 2
@@ -213,6 +213,10 @@ class ClientBuilder:
213
213
  """
214
214
  return self.with_custom_comma_separated_query('features', 'component-analysis')
215
215
 
216
+ def with_feature_iana_time_zone(self):
217
+ """with_feature_iana_time_zone turns on the IANA timezone feature for the request."""
218
+ return self.with_custom_comma_separated_query('features', 'iana-timezone')
219
+
216
220
  def build_international_street_api_client(self):
217
221
  self.ensure_url_prefix_not_null(self.INTERNATIONAL_STREET_API_URL)
218
222
  return InternationalStreetClient(self.build_sender(), self.serializer)
@@ -19,3 +19,22 @@ class Analysis:
19
19
  self.enhanced_match = obj.get('enhanced_match', None)
20
20
  components_obj = obj.get("components", None)
21
21
  self.components = ComponentAnalysis(components_obj) if components_obj else None
22
+
23
+ def to_dict(self):
24
+ components_dict = self.components.to_dict() if self.components else None
25
+
26
+ result = {
27
+ "dpv_match_code": self.dpv_match_code,
28
+ "dpv_footnotes": self.dpv_footnotes,
29
+ "dpv_cmra": self.cmra,
30
+ "dpv_vacant": self.vacant,
31
+ "active": self.active,
32
+ "dpv_no_stat": self.dpv_no_stat,
33
+ "footnotes": self.footnotes,
34
+ "lacslink_code": self.lacs_link_code,
35
+ "lacslink_indicator": self.lacs_link_indicator,
36
+ "suitelink_match": self.is_suite_link_match,
37
+ "enhanced_match": self.enhanced_match,
38
+ "components": components_dict or None
39
+ }
40
+ return {k: v for k, v in result.items() if v is not None}
@@ -1,3 +1,5 @@
1
+ import json
2
+
1
3
  from .components import Components
2
4
  from .metadata import Metadata
3
5
  from .analysis import Analysis
@@ -24,3 +26,27 @@ class Candidate:
24
26
  self.components = Components(obj.get('components', {}))
25
27
  self.metadata = Metadata(obj.get('metadata', {}))
26
28
  self.analysis = Analysis(obj.get('analysis', {}))
29
+
30
+ def to_dict(self):
31
+ components_dict = self.components.to_dict() if self.components else None
32
+ metadata_dict = self.metadata.to_dict() if self.metadata else None
33
+ analysis_dict = self.analysis.to_dict() if self.analysis else None
34
+
35
+ result = {
36
+ "input_id": self.input_id,
37
+ "input_index": self.input_index,
38
+ "candidate_index": self.candidate_index,
39
+ "addressee": self.addressee,
40
+ "delivery_line_1": self.delivery_line_1,
41
+ "delivery_line_2": self.delivery_line_2,
42
+ "last_line": self.last_line,
43
+ "delivery_point_barcode": self.delivery_point_barcode,
44
+ "smarty_key": self.smarty_key,
45
+ "components": components_dict or None,
46
+ "metadata": metadata_dict or None,
47
+ "analysis": analysis_dict or None
48
+ }
49
+ return {k: v for k, v in result.items() if v is not None}
50
+
51
+ def to_json(self):
52
+ return json.dumps(self.to_dict())
@@ -18,4 +18,23 @@ class ComponentAnalysis:
18
18
  self.state_abbreviation = MatchInfo(obj['state_abbreviation']) if 'state_abbreviation' in obj else None
19
19
  self.zipcode = MatchInfo(obj['zipcode']) if 'zipcode' in obj else None
20
20
  self.plus4_code = MatchInfo(obj['plus4_code']) if 'plus4_code' in obj else None
21
- self.urbanization = MatchInfo(obj['urbanization']) if 'urbanization' in obj else None
21
+ self.urbanization = MatchInfo(obj['urbanization']) if 'urbanization' in obj else None
22
+
23
+ def to_dict(self):
24
+ result = {
25
+ 'primary_number': self.primary_number.to_dict() if self.primary_number else None,
26
+ 'street_predirection': self.street_predirection.to_dict() if self.street_predirection else None,
27
+ 'street_name': self.street_name.to_dict() if self.street_name else None,
28
+ 'street_postdirection': self.street_postdirection.to_dict() if self.street_postdirection else None,
29
+ 'street_suffix': self.street_suffix.to_dict() if self.street_suffix else None,
30
+ 'secondary_number': self.secondary_number.to_dict() if self.secondary_number else None,
31
+ 'secondary_designator': self.secondary_designator.to_dict() if self.secondary_designator else None,
32
+ 'extra_secondary_number': self.extra_secondary_number.to_dict() if self.extra_secondary_number else None,
33
+ 'extra_secondary_designator': self.extra_secondary_designator.to_dict() if self.extra_secondary_designator else None,
34
+ 'city_name': self.city_name.to_dict() if self.city_name else None,
35
+ 'state_abbreviation': self.state_abbreviation.to_dict() if self.state_abbreviation else None,
36
+ 'zipcode': self.zipcode.to_dict() if self.zipcode else None,
37
+ 'plus4_code': self.plus4_code.to_dict() if self.plus4_code else None,
38
+ 'urbanization': self.urbanization.to_dict() if self.urbanization else None,
39
+ }
40
+ return {k: v for k, v in result.items() if v is not None}
@@ -24,3 +24,27 @@ class Components:
24
24
  self.plus4_code = obj.get('plus4_code', None)
25
25
  self.delivery_point = obj.get('delivery_point', None)
26
26
  self.delivery_point_check_digit = obj.get('delivery_point_check_digit', None)
27
+
28
+ def to_dict(self):
29
+ result = {
30
+ "urbanization": self.urbanization,
31
+ "primary_number": self.primary_number,
32
+ "street_name": self.street_name,
33
+ "street_predirection": self.street_predirection,
34
+ "street_postdirection": self.street_postdirection,
35
+ "street_suffix": self.street_suffix,
36
+ "secondary_number": self.secondary_number,
37
+ "secondary_designator": self.secondary_designator,
38
+ "extra_secondary_number": self.extra_secondary_number,
39
+ "extra_secondary_designator": self.extra_secondary_designator,
40
+ "pmb_designator": self.pmb_designator,
41
+ "pmb_number": self.pmb_number,
42
+ "city_name": self.city_name,
43
+ "default_city_name": self.default_city_name,
44
+ "state_abbreviation": self.state_abbreviation,
45
+ "zipcode": self.zipcode,
46
+ "plus4_code": self.plus4_code,
47
+ "delivery_point": self.delivery_point,
48
+ "delivery_point_check_digit": self.delivery_point_check_digit
49
+ }
50
+ return {k: v for k, v in result.items() if v is not None}
@@ -1,5 +1,6 @@
1
1
  from smartystreets_python_sdk.us_street.match_type import MatchType
2
2
  from smartystreets_python_sdk.us_street.output_format import OutputFormat
3
+ import json
3
4
 
4
5
 
5
6
  class Lookup:
@@ -31,3 +32,27 @@ class Lookup:
31
32
 
32
33
  def add_custom_parameter(self, parameter, value):
33
34
  self.custom_parameter_array[parameter] = value
35
+
36
+ def to_dict(self):
37
+ result = {
38
+ "input_id": self.input_id,
39
+ "street": self.street,
40
+ "street2": self.street2,
41
+ "secondary": self.secondary,
42
+ "city": self.city,
43
+ "state": self.state,
44
+ "zipcode": self.zipcode,
45
+ "lastline": self.lastline,
46
+ "addressee": self.addressee,
47
+ "urbanization": self.urbanization,
48
+ "match": self.match,
49
+ "candidates": self.candidates,
50
+ "outputformat": self.outputformat,
51
+ "county_source": self.county_source,
52
+ "result": [candidate.to_dict() for candidate in self.result],
53
+ "custom_parameter_array": self.custom_parameter_array
54
+ }
55
+ return {k: v for k, v in result.items() if v is not None}
56
+
57
+ def to_json(self):
58
+ return json.dumps(self.to_dict())
@@ -0,0 +1,14 @@
1
+ class MatchInfo:
2
+ def __init__(self, obj):
3
+ """
4
+ Holds matching status and change information for an address component.
5
+ """
6
+ self.status = obj.get('status', None)
7
+ self.change = obj.get('change', None)
8
+
9
+ def to_dict(self):
10
+ result = {
11
+ "status": self.status,
12
+ "change": self.change
13
+ }
14
+ return {k: v for k, v in result.items() if v is not None}
@@ -20,4 +20,30 @@ class Metadata:
20
20
  self.time_zone = obj.get('time_zone', None)
21
21
  self.utc_offset = obj.get('utc_offset', None)
22
22
  self.obeys_dst = obj.get('dst', None)
23
+ self.iana_time_zone = obj.get('iana_time_zone', None)
24
+ self.iana_utc_offset = obj.get('iana_utc_offset', None)
25
+ self.iana_obeys_dst = obj.get('iana_dst', None)
23
26
  self.is_ews_match = obj.get('ews_match', None)
27
+
28
+ def to_dict(self):
29
+ result = {
30
+ "record_type": self.record_type,
31
+ "zip_type": self.zip_type,
32
+ "county_fips": self.county_fips,
33
+ "county_name": self.county_name,
34
+ "carrier_route": self.carrier_route,
35
+ "congressional_district": self.congressional_district,
36
+ "building_default_indicator": self.building_default_indicator,
37
+ "rdi": self.rdi,
38
+ "elot_sequence": self.elot_sequence,
39
+ "elot_sort": self.elot_sort,
40
+ "latitude": self.latitude,
41
+ "longitude": self.longitude,
42
+ "coordinate_license": self.coordinate_license,
43
+ "precision": self.precision,
44
+ "time_zone": self.time_zone,
45
+ "utc_offset": self.utc_offset,
46
+ "dst": self.obeys_dst,
47
+ "ews_match": self.is_ews_match
48
+ }
49
+ return {k: v for k, v in result.items() if v is not None}
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smartystreets_python_sdk
3
- Version: 5.1.0
3
+ Version: 5.3.0
4
4
  Summary: An official library to help Python developers easily access the SmartyStreets APIs
5
5
  Home-page: https://github.com/smartystreets/smartystreets-python-sdk
6
- Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/5.1.0
6
+ Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/5.3.0
7
7
  Author: SmartyStreets SDK Team
8
8
  Author-email: support@smartystreets.com
9
9
  License: Apache 2
@@ -1,2 +1,2 @@
1
1
  __version__ = '0.0.0' # DO NOT EDIT (this is updated by a build job when a new release is published)
2
- __version__="5.1.0"
2
+ __version__="5.3.0"
@@ -1,7 +0,0 @@
1
- class MatchInfo:
2
- def __init__(self, obj):
3
- """
4
- Holds matching status and change information for an address component.
5
- """
6
- self.status = obj.get('status', None)
7
- self.change = obj.get('change', None)