ibm-appconfiguration-python-sdk 0.3.5__tar.gz → 0.3.7__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 (57) hide show
  1. {ibm_appconfiguration_python_sdk-0.3.5/ibm_appconfiguration_python_sdk.egg-info → ibm_appconfiguration_python_sdk-0.3.7}/PKG-INFO +4 -1
  2. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/README.md +3 -0
  3. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/appconfiguration.py +3 -0
  4. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/configuration_handler.py +18 -6
  5. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/common/config_messages.py +1 -1
  6. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/version.py +1 -1
  7. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7/ibm_appconfiguration_python_sdk.egg-info}/PKG-INFO +4 -1
  8. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/setup.py +1 -1
  9. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/LICENSE +0 -0
  10. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/examples/__init__.py +0 -0
  11. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/examples/sample_app.py +0 -0
  12. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/examples/server_sample.py +0 -0
  13. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/__init__.py +0 -0
  14. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/__init__.py +0 -0
  15. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/__init__.py +0 -0
  16. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/common/__init__.py +0 -0
  17. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/common/config_constants.py +0 -0
  18. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/__init__.py +0 -0
  19. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/api_manager.py +0 -0
  20. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/compute_percentage.py +0 -0
  21. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/connectivity.py +0 -0
  22. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/file_manager.py +0 -0
  23. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/logger.py +0 -0
  24. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/metering.py +0 -0
  25. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/socket.py +0 -0
  26. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/url_builder.py +0 -0
  27. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/internal/utils/validators.py +0 -0
  28. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/models/__init__.py +0 -0
  29. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/models/configuration_type.py +0 -0
  30. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/models/feature.py +0 -0
  31. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/models/property.py +0 -0
  32. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/models/rule.py +0 -0
  33. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/models/segment.py +0 -0
  34. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration/configurations/models/segment_rules.py +0 -0
  35. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration_python_sdk.egg-info/SOURCES.txt +0 -0
  36. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration_python_sdk.egg-info/dependency_links.txt +0 -0
  37. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration_python_sdk.egg-info/requires.txt +0 -0
  38. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/ibm_appconfiguration_python_sdk.egg-info/top_level.txt +0 -0
  39. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/integration_tests/__init__.py +0 -0
  40. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/integration_tests/test_integration.py +0 -0
  41. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/setup.cfg +0 -0
  42. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/__init__.py +0 -0
  43. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/__init__.py +0 -0
  44. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/models/__init__.py +0 -0
  45. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/models/test_feature.py +0 -0
  46. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/models/test_property.py +0 -0
  47. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/models/test_rule.py +0 -0
  48. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/models/test_segment.py +0 -0
  49. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/models/test_segment_rules.py +0 -0
  50. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/test_configuration_handler.py +0 -0
  51. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/utils/__init__.py +0 -0
  52. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/utils/test_api_manager.py +0 -0
  53. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/utils/test_file_manager.py +0 -0
  54. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/utils/test_metering.py +0 -0
  55. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/utils/test_socket.py +0 -0
  56. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/configurations/utils/test_url_builder.py +0 -0
  57. {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.7}/unit_tests/test_appconfiguration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ibm-appconfiguration-python-sdk
3
- Version: 0.3.5
3
+ Version: 0.3.7
4
4
  Summary: IBM Cloud App Configuration Python SDK
5
5
  Home-page: https://github.com/IBM/appconfiguration-python-sdk
6
6
  Author: IBM
@@ -80,6 +80,9 @@ using **`AppConfiguration.get_instance()`**. [See this example below](#fetching
80
80
  - `AppConfiguration.REGION_AU_SYD` for Sydney
81
81
  - `AppConfiguration.REGION_US_EAST` for Washington DC
82
82
  - `AppConfiguration.REGION_EU_DE` for Frankfurt
83
+ - `AppConfiguration.REGION_CA_TOR` for Toronto
84
+ - `AppConfiguration.REGION_JP_TOK` for Tokyo
85
+ - `AppConfiguration.REGION_JP_OSA` for Osaka
83
86
  - guid : GUID of the App Configuration service. Obtain it from the service credentials section of the dashboard
84
87
  - apikey : ApiKey of the App Configuration service. Obtain it from the service credentials section of the dashboard
85
88
  - collection_id : Id of the collection created in App Configuration service instance under the **Collections** section.
@@ -56,6 +56,9 @@ using **`AppConfiguration.get_instance()`**. [See this example below](#fetching
56
56
  - `AppConfiguration.REGION_AU_SYD` for Sydney
57
57
  - `AppConfiguration.REGION_US_EAST` for Washington DC
58
58
  - `AppConfiguration.REGION_EU_DE` for Frankfurt
59
+ - `AppConfiguration.REGION_CA_TOR` for Toronto
60
+ - `AppConfiguration.REGION_JP_TOK` for Tokyo
61
+ - `AppConfiguration.REGION_JP_OSA` for Osaka
59
62
  - guid : GUID of the App Configuration service. Obtain it from the service credentials section of the dashboard
60
63
  - apikey : ApiKey of the App Configuration service. Obtain it from the service credentials section of the dashboard
61
64
  - collection_id : Id of the collection created in App Configuration service instance under the **Collections** section.
@@ -39,6 +39,9 @@ class AppConfiguration:
39
39
  REGION_AU_SYD = "au-syd"
40
40
  REGION_US_EAST = "us-east"
41
41
  REGION_EU_DE = "eu-de"
42
+ REGION_CA_TOR = "ca-tor"
43
+ REGION_JP_TOK = "jp-tok"
44
+ REGION_JP_OSA = "jp-osa"
42
45
  __override_service_url = None
43
46
  __use_private_endpoint = False
44
47
 
@@ -32,6 +32,14 @@ from .internal.utils.socket import Socket
32
32
  from .internal.utils.url_builder import URLBuilder
33
33
  from .internal.utils.connectivity import Connectivity
34
34
  from .internal.utils.api_manager import APIManager
35
+ import sys
36
+ from time import sleep
37
+
38
+ # Server max time out is assumed to be 1 week = 604800 seconds = 40320*15
39
+ sys.setrecursionlimit(40320)
40
+
41
+ # delay between each web socket connection retry
42
+ delay = 15
35
43
 
36
44
 
37
45
  class ConfigurationHandler:
@@ -62,7 +70,7 @@ class ConfigurationHandler:
62
70
  self.__segment_map = dict()
63
71
  self.__live_config_update_enabled = True
64
72
  ConfigurationHandler.__instance = self
65
- self.__retry_interval = 600
73
+ self.__retry_interval = 120
66
74
  self.__bootstrap_file = None
67
75
  self.__persistent_cache_dir = None
68
76
  self.__persistent_data = None
@@ -510,7 +518,7 @@ class ConfigurationHandler:
510
518
  Logger.error(f'error while while fetching {exception}')
511
519
  else:
512
520
  Logger.error(response.get_result())
513
- if status_code is None:
521
+ if status_code is None or status_code == 499:
514
522
  """
515
523
  status_code will be None in-case of
516
524
 
@@ -518,7 +526,7 @@ class ConfigurationHandler:
518
526
  Check api_manager.py for more info.
519
527
  2. request failed due to unknown "Exception".
520
528
  """
521
- Logger.info(config_messages.RETRY_AFTER_TEN_MINUTES)
529
+ Logger.info(config_messages.RETRY_AFTER_TWO_MINUTES)
522
530
  timer = Timer(self.__retry_interval, self.__fetch_from_api)
523
531
  timer.daemon = True
524
532
  timer.start()
@@ -534,12 +542,16 @@ class ConfigurationHandler:
534
542
  Logger.debug(f'Received message from socket. {message}')
535
543
  elif error_state:
536
544
  Logger.error(f'Received error from socket. {error_state}')
545
+ Logger.info('Reconnecting to server....')
546
+ self.__on_socket_retry = True
547
+ sleep(delay)
537
548
  self.__start_web_socket()
538
549
  elif closed_state:
539
550
  Logger.error('Received close connection from socket.')
540
- if self.__socket is not None:
541
- self.__on_socket_retry = True
542
- self.__start_web_socket()
551
+ Logger.info('Reconnecting to server....')
552
+ self.__on_socket_retry = True
553
+ sleep(delay)
554
+ self.__start_web_socket()
543
555
  elif open_state:
544
556
  if self.__on_socket_retry:
545
557
  self.__on_socket_retry = False
@@ -38,5 +38,5 @@ FEATURE_INVALID = "Invalid feature_id - "
38
38
  NO_INTERNET_CONNECTION_ERROR = 'No connection to internet. Please re-connect.'
39
39
  PROPERTY_INVALID = "Invalid property_id - "
40
40
  CONFIGURATIONS_FETCH_SUCCESS = "Successfully fetched the configurations."
41
- RETRY_AFTER_TEN_MINUTES = "Failed to fetch the configurations. Retrying after 10 minutes."
41
+ RETRY_AFTER_TWO_MINUTES = "Failed to fetch the configurations. Retrying after 2 minutes."
42
42
  INPUT_PARAMETER_NOT_BOOLEAN = "Input parameter passed to use_private_endpoint() method is not boolean. Default value will be used."
@@ -15,4 +15,4 @@
15
15
  """
16
16
  Version of ibm-appconfiguration-python-sdk
17
17
  """
18
- __version__ = '0.3.4'
18
+ __version__ = '0.3.7'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ibm-appconfiguration-python-sdk
3
- Version: 0.3.5
3
+ Version: 0.3.7
4
4
  Summary: IBM Cloud App Configuration Python SDK
5
5
  Home-page: https://github.com/IBM/appconfiguration-python-sdk
6
6
  Author: IBM
@@ -80,6 +80,9 @@ using **`AppConfiguration.get_instance()`**. [See this example below](#fetching
80
80
  - `AppConfiguration.REGION_AU_SYD` for Sydney
81
81
  - `AppConfiguration.REGION_US_EAST` for Washington DC
82
82
  - `AppConfiguration.REGION_EU_DE` for Frankfurt
83
+ - `AppConfiguration.REGION_CA_TOR` for Toronto
84
+ - `AppConfiguration.REGION_JP_TOK` for Tokyo
85
+ - `AppConfiguration.REGION_JP_OSA` for Osaka
83
86
  - guid : GUID of the App Configuration service. Obtain it from the service credentials section of the dashboard
84
87
  - apikey : ApiKey of the App Configuration service. Obtain it from the service credentials section of the dashboard
85
88
  - collection_id : Id of the collection created in App Configuration service instance under the **Collections** section.
@@ -12,7 +12,7 @@
12
12
  from setuptools import setup, find_packages
13
13
 
14
14
  NAME = "ibm-appconfiguration-python-sdk"
15
- VERSION = "0.3.5"
15
+ VERSION = "0.3.7"
16
16
  # To install the library, run the following
17
17
  #
18
18
  # python setup.py install