naeural-client 2.7.0__py3-none-any.whl → 2.7.2__py3-none-any.whl

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.
naeural_client/_ver.py CHANGED
@@ -1,4 +1,4 @@
1
- __VER__ = "2.7.0"
1
+ __VER__ = "2.7.2"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  with open("pyproject.toml", "rt") as fd:
@@ -1191,7 +1191,7 @@ class GenericSession(BaseDecentrAIObject):
1191
1191
 
1192
1192
  def __load_user_config(self, dotenv_path):
1193
1193
  # if the ~/.naeural/config file exists, load the credentials from there else try to load them from .env
1194
- if not load_user_defined_config():
1194
+ if not load_user_defined_config(verbose=not self.log.silent):
1195
1195
  # this method will search for the credentials in the environment variables
1196
1196
  # the path to env file, if not specified, will be search in the following order:
1197
1197
  # 1. current working directory
naeural_client/bc/base.py CHANGED
@@ -20,8 +20,8 @@ from ..utils.config import get_user_folder
20
20
 
21
21
  from ..const.base import (
22
22
  BCctbase, BCct,
23
- DAUTH_SUBKEY, DAUTH_URL, DAUTH_ENV_KEY,
24
- DAUTH_NONCE, DAUTH_VARS, dAuth,
23
+ DAUTH_SUBKEY, DAUTH_ENV_KEY,
24
+ DAUTH_NONCE, dAuth,
25
25
  )
26
26
 
27
27
 
@@ -1488,7 +1488,8 @@ class BaseBlockEngine:
1488
1488
  dauth_endp=None,
1489
1489
  add_env=True,
1490
1490
  debug=False,
1491
- max_tries=5,
1491
+ max_tries=5,
1492
+ network=None,
1492
1493
  **kwargs
1493
1494
  ):
1494
1495
  from naeural_client._ver import __VER__ as sdk_version
@@ -1509,14 +1510,20 @@ class BaseBlockEngine:
1509
1510
  url = dauth_endp
1510
1511
  dct_response = {}
1511
1512
 
1513
+ if network is None:
1514
+ network = os.environ.get(dAuth.DAUTH_NET_ENV_KEY, dAuth.DAUTH_SDK_NET_DEFAULT)
1515
+
1512
1516
  if not isinstance(url, str) or len(url) < MIN_LEN:
1513
- if isinstance(DAUTH_URL, str) and len(DAUTH_URL) > 0:
1514
- url = DAUTH_URL
1515
-
1516
1517
  if DAUTH_ENV_KEY in os.environ:
1517
1518
  in_env = True
1518
1519
  url = os.environ[DAUTH_ENV_KEY]
1519
-
1520
+ else:
1521
+ if network == 'mainnet':
1522
+ url = dAuth.DAUTH_MAINNET_URL
1523
+ else:
1524
+ url = dAuth.DAUTH_TESTNET_URL
1525
+ #endif not in env
1526
+
1520
1527
  if isinstance(url, str) and len(url) > 0:
1521
1528
  if dauth_endp is None:
1522
1529
  if in_env:
@@ -0,0 +1,22 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
3
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
4
+ d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
5
+ QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
6
+ MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
7
+ b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
8
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
9
+ CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
10
+ nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
11
+ 43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
12
+ T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
13
+ gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
14
+ BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
15
+ TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
16
+ DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
17
+ hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
18
+ 06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
19
+ PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
20
+ YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
21
+ CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
22
+ -----END CERTIFICATE-----
@@ -3,8 +3,9 @@ from naeural_client.cli.nodes import (
3
3
  restart_node, shutdown_node,
4
4
  )
5
5
  from naeural_client.cli.oracles import get_availability
6
- from naeural_client.utils.config import show_config, reset_config, show_address
7
-
6
+ from naeural_client.utils.config import (
7
+ show_config, reset_config, show_address, get_set_network
8
+ )
8
9
 
9
10
  # Define the available commands
10
11
  CLI_COMMANDS = {
@@ -55,7 +56,15 @@ CLI_COMMANDS = {
55
56
  "addr": {
56
57
  "func": show_address, # DONE
57
58
  "description": "Show the current client address",
58
- }
59
+ },
60
+
61
+ "network": {
62
+ "func": get_set_network, # DONE
63
+ "description": "Get/Set network",
64
+ "params": {
65
+ "--new": "The network to set either 'mainnet' or 'testnet'",
66
+ }
67
+ },
59
68
  },
60
69
  "restart": {
61
70
  "func": restart_node, # TODO
@@ -1,6 +1,7 @@
1
+ import os
1
2
  from time import time
2
3
  from naeural_client.utils.config import log_with_color
3
- from naeural_client.const import SESSION_CT, COMMANDS
4
+ from naeural_client.const import SESSION_CT, COMMANDS, BASE_CT
4
5
 
5
6
 
6
7
  def _get_netstats(
@@ -62,10 +63,11 @@ def get_nodes(args):
62
63
  df = df[[c for c in df.columns if c not in FILTERED]]
63
64
 
64
65
  prefix = "Online n" if (args.online or args.peered) else "N"
66
+ network = os.environ.get(BASE_CT.dAuth.DAUTH_NET_ENV_KEY, BASE_CT.dAuth.DAUTH_SDK_NET_DEFAULT)
65
67
  if supervisor == "ERROR":
66
68
  log_with_color(f"No supervisors or no comms available in {elapsed:.1f}s. Please check your settings.", color='r')
67
69
  else:
68
- log_with_color(f"{prefix}odes reported by <{supervisor}> '{super_alias}' in {elapsed:.1f}s ({nr_supers} supervisors seen):", color='b')
70
+ log_with_color(f"<{network}> {prefix}odes reported by <{supervisor}> '{super_alias}' in {elapsed:.1f}s ({nr_supers} supervisors seen):", color='b')
69
71
  log_with_color(f"{df}")
70
72
  return
71
73
 
@@ -10,7 +10,8 @@ class BCctbase:
10
10
  ETH_SENDER= 'EE_ETH_SENDER'
11
11
 
12
12
 
13
- DAUTH_URL = 'https://dauth.ratio1.ai/get_auth_data'
13
+ DAUTH_TESTNET_URL = 'https://dauth-test.ratio1.ai/get_auth_data'
14
+ DAUTH_MAINNET_URL = 'https://dauth-main.ratio1.ai/get_auth_data'
14
15
  DAUTH_SUBKEY = 'auth'
15
16
  DAUTH_ENV_KEY = 'EE_DAUTH_URL'
16
17
  DAUTH_NONCE = 'nonce'
@@ -54,7 +55,7 @@ _DAUTH_ABI_GET_SIGNERS = [{
54
55
 
55
56
  class dAuth:
56
57
  DAUTH_TESTNET_ND_ADDR = '0xE20198EE2B76eED916A568a47cdea9681f7c79BF'
57
- DAUTH_MAINNET_ND_ADDR = ''
58
+ DAUTH_MAINNET_ND_ADDR = '0xE20198EE2B76eED916A568a47cdea9681f7c79BF'
58
59
 
59
60
  DAUTH_NET_ENV_KEY = 'EE_EVM_NET'
60
61
  DAUTH_SDK_NET_DEFAULT = 'testnet'
@@ -78,7 +79,8 @@ class dAuth:
78
79
 
79
80
  DAUTH_WHITELIST = 'whitelist'
80
81
 
81
- DAUTH_URL = DAUTH_URL
82
+ DAUTH_TESTNET_URL = DAUTH_TESTNET_URL
83
+ DAUTH_MAINNET_URL = DAUTH_MAINNET_URL
82
84
  DAUTH_SUBKEY = DAUTH_SUBKEY
83
85
  DAUTH_NONCE = DAUTH_NONCE
84
86
  DAUTH_VARS = DAUTH_VARS
@@ -2,7 +2,7 @@ import os
2
2
  from pathlib import Path
3
3
  import shutil
4
4
 
5
- from naeural_client.const.base import BCct
5
+ from naeural_client.const.base import BCct, dAuth
6
6
  from naeural_client._ver import __VER__ as version
7
7
 
8
8
 
@@ -14,7 +14,7 @@ ENV_TEMPLATE = """
14
14
  # Configuration file for the Ratio1 SDK
15
15
 
16
16
  EE_EVM_NET=testnet
17
- TARGET_NODE=
17
+ EE_TARGET_NODE=
18
18
 
19
19
  """
20
20
 
@@ -89,6 +89,33 @@ def get_user_config_file():
89
89
  """
90
90
  return get_user_folder() / CONFIG_FILE
91
91
 
92
+
93
+ def get_network():
94
+ return os.environ.get(dAuth.DAUTH_NET_ENV_KEY, dAuth.DAUTH_SDK_NET_DEFAULT)
95
+
96
+ def get_set_network(args):
97
+ net = args.new
98
+ env_network = get_network()
99
+ if net is None:
100
+ log_with_color(f"Current network: {env_network}", color='b')
101
+ else:
102
+ config_file = get_user_config_file()
103
+ # open config_file and update EE_EVM_NET
104
+ with config_file.open("r") as file:
105
+ lines = file.readlines()
106
+ with config_file.open("w") as file:
107
+ found = False
108
+ for line in lines:
109
+ if line.startswith("EE_EVM_NET"):
110
+ line = f"EE_EVM_NET={net}\n"
111
+ found = True
112
+ file.write(line)
113
+ if not found:
114
+ file.write(f"EE_EVM_NET={net}\n")
115
+ log_with_color(f"Network set to {net}", color='b')
116
+ return
117
+
118
+
92
119
  def reset_config(*larg, keep_existing=False, **kwargs):
93
120
  """
94
121
  Resets the configuration by creating a ~/.naeural folder and populating
@@ -160,8 +187,9 @@ def show_version():
160
187
 
161
188
  user_folder = get_user_folder()
162
189
 
163
- log_with_color(f"NEP SDK folder: {user_folder}", color='b')
164
- log_with_color(f"NEP SDK version: {version}", color='b')
190
+ log_with_color(f"Ratio1 selected network: {get_network()}", color='b')
191
+ log_with_color(f"SDK folder: {user_folder}", color='b')
192
+ log_with_color(f"SDK version: {version}", color='b')
165
193
  log_with_color(f"SDK Client address: {sess.get_client_address()}", color='b')
166
194
  return
167
195
 
@@ -177,6 +205,10 @@ def show_config(args):
177
205
  log_with_color(f"Current configuration ({config_file}):\n{file.read()}", color='d')
178
206
  else:
179
207
  log_with_color(f"No configuration found at {config_file}. Please run `reset_config` first.", color="r")
208
+ log_with_color("Current environment variables:", color='b')
209
+ for k in os.environ:
210
+ if k.startswith("EE_"):
211
+ log_with_color(f"{k}={os.environ[k]}", color='b')
180
212
  return
181
213
 
182
214
 
@@ -186,7 +218,7 @@ def load_user_defined_config(verbose=False):
186
218
  """
187
219
  config_file = get_user_config_file()
188
220
  result = False
189
-
221
+ loaded_keys = []
190
222
  if config_file.exists():
191
223
  with config_file.open("r") as file:
192
224
  for line in file:
@@ -198,8 +230,9 @@ def load_user_defined_config(verbose=False):
198
230
  if value != "":
199
231
  result = True
200
232
  os.environ[key.strip()] = value
233
+ loaded_keys.append(key.strip())
201
234
  if verbose:
202
- log_with_color(f"Configuration from {config_file} has been loaded into the environment.", color='b')
235
+ log_with_color(f"{config_file} loaded into the env: {loaded_keys}", color='b')
203
236
  else:
204
237
  if verbose:
205
238
  log_with_color(f"No configuration file found at {config_file}. Please run `reset_config` first.", color="r")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naeural_client
3
- Version: 2.7.0
3
+ Version: 2.7.2
4
4
  Summary: `naeural_client` is the Python SDK required for client app development for the Naeural Edge Protocol Edge Protocol framework
5
5
  Project-URL: Homepage, https://github.com/NaeuralEdgeProtocol/naeural_client
6
6
  Project-URL: Bug Tracker, https://github.com/NaeuralEdgeProtocol/naeural_client/issues
@@ -1,10 +1,10 @@
1
1
  naeural_client/__init__.py,sha256=YimqgDbjLuywsf8zCWE0EaUXH4MBUrqLxt0TDV558hQ,632
2
- naeural_client/_ver.py,sha256=nfltH8r5uusxZpl2LJRARfkdeeDNO2O50Jfy5fKIaQo,330
2
+ naeural_client/_ver.py,sha256=AmgLw7G8mfS_s_ZcTp4-jO55cd6nqLC-drbp7VIRGKQ,330
3
3
  naeural_client/base_decentra_object.py,sha256=C4iwZTkhKNBS4VHlJs5DfElRYLo4Q9l1V1DNVSk1fyQ,4412
4
4
  naeural_client/plugins_manager_mixin.py,sha256=X1JdGLDz0gN1rPnTN_5mJXR8JmqoBFQISJXmPR9yvCo,11106
5
5
  naeural_client/base/__init__.py,sha256=hACh83_cIv7-PwYMM3bQm2IBmNqiHw-3PAfDfAEKz9A,259
6
6
  naeural_client/base/distributed_custom_code_presets.py,sha256=cvz5R88P6Z5V61Ce1vHVVh8bOkgXd6gve_vdESDNAsg,2544
7
- naeural_client/base/generic_session.py,sha256=zSm9tw3WxdkvMiD5YXR7_B86E6vt2F4FCajKEah3JMc,105845
7
+ naeural_client/base/generic_session.py,sha256=3Z7BGi1g5zIXDAUk-PCKsXVhQKaJldL9id2SDedbSIU,105872
8
8
  naeural_client/base/instance.py,sha256=kcZJmjLBtx8Bjj_ysIOx1JmLA-qSpG7E28j5rq6IYus,20444
9
9
  naeural_client/base/pipeline.py,sha256=EvESG5UH5GwyAZbJWJk1irTzGYBuOUjl-8KjkCdgLVI,58574
10
10
  naeural_client/base/plugin_template.py,sha256=7YAFaND2iXoZLgtunjYkFf_TBGieFr3VdNLO3vCqzmM,138795
@@ -14,15 +14,16 @@ naeural_client/base/webapp_pipeline.py,sha256=ZNGqZ36DY076XVDfGu2Q61kCt3kxIJ4Mi4
14
14
  naeural_client/base/payload/__init__.py,sha256=y8fBI8tG2ObNfaXFWjyWZXwu878FRYj_I8GIbHT4GKE,29
15
15
  naeural_client/base/payload/payload.py,sha256=x-au7l67Z_vfn_4R2C_pjZCaFuUVXHngJiGOfIAYVdE,2690
16
16
  naeural_client/bc/__init__.py,sha256=FQj23D1PrY06NUOARiKQi4cdj0-VxnoYgYDEht8lpr8,158
17
- naeural_client/bc/base.py,sha256=XyFPSIR5fKQ9iIErDpUDNYtacusTaJieH8D47dGVAD0,44964
17
+ naeural_client/bc/base.py,sha256=wfNdwr-dWPftRkq0YdaBZ1xhzdhnz220bpFqqH8iVQM,45152
18
18
  naeural_client/bc/chain.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  naeural_client/bc/ec.py,sha256=-HPfKpYAqy_eZpiJf3gWR2L4ZDDP7fZY2uwdNYYmS80,23868
20
20
  naeural_client/certs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  naeural_client/certs/r9092118.ala.eu-central-1.emqxsl.com.crt,sha256=y-6io0tseyx9-a4Pmde1z1gPULtJNSYUpG_YFkYaMKU,1337
22
+ naeural_client/certs/s624dbd4.ala.us-east-1.emqxsl.com.crt,sha256=y-6io0tseyx9-a4Pmde1z1gPULtJNSYUpG_YFkYaMKU,1337
22
23
  naeural_client/cli/README.md,sha256=WPdI_EjzAbUW1aPyj1sSR8rLydcJKZtoiaEtklQrjHo,74
23
24
  naeural_client/cli/cli.py,sha256=EC7-ehOMQJ_Dq7R9TTrajpvQWwdalAOgb1JAeBGHF50,3830
24
- naeural_client/cli/cli_commands.py,sha256=Gfims_TqaBi2QWM-6yxd_B_CETF8mmt7oEDPTg59lcI,2821
25
- naeural_client/cli/nodes.py,sha256=QXSniYy3Phr6buoVV-HUDRYuF5YQDUgf6nT6EzDyMJw,4909
25
+ naeural_client/cli/cli_commands.py,sha256=Ztm1qXUN58OZb-CO6TzWlwCgZyzCxK5C1s49lz6fNmQ,3088
26
+ naeural_client/cli/nodes.py,sha256=A-MqGjI_ufZ7SnlVyMOzlqWQASRvKvF6cz9AGxlbYx4,5037
26
27
  naeural_client/cli/oracles.py,sha256=Y_PzHshfSERS_Utjjtw5d_BsQRdGr6P4L6uW8yTdA0M,4809
27
28
  naeural_client/code_cheker/__init__.py,sha256=pwkdeZGVL16ZA4Qf2mRahEhoOvKhL7FyuQbMFLr1E5M,33
28
29
  naeural_client/code_cheker/base.py,sha256=lT5DRIFO5rqzsMNCmdMRfkAeevmezozehyfgmhnKpuI,19074
@@ -33,7 +34,7 @@ naeural_client/comm/mqtt_wrapper.py,sha256=Ig3bFZkCbWd4y_Whn2PPa91Z3aLgNbNPau6Tn
33
34
  naeural_client/const/README.md,sha256=6OHesr-f5NBuuJGryEoi_TCu2XdlhfQYlDKx_IJoXeg,177
34
35
  naeural_client/const/__init__.py,sha256=MM6Zib6i7M2qWcMkLtLx14zqU-lE-u2uPHjNvbh2jAM,478
35
36
  naeural_client/const/apps.py,sha256=ePBiJXLuPfFOKuw-LJrT9OWbaodU7QApfDurIPNDoB4,655
36
- naeural_client/const/base.py,sha256=l54zSoPY0wp_tmDsRVwpESlMxn8HrVtQqnskVNXkaQg,6334
37
+ naeural_client/const/base.py,sha256=g3II1Ys-1sjr1OG-sDJyRCV3F48VnxKQc7zTBPn-7FE,6510
37
38
  naeural_client/const/comms.py,sha256=La6JXWHexH8CfcBCKyT4fCIoeaoZlcm7KtZ57ab4ZgU,2201
38
39
  naeural_client/const/environment.py,sha256=iytmTDgbOjvORPwHQmc0K0r-xJx7dnnzNnqAJJiFCDA,870
39
40
  naeural_client/const/formatter.py,sha256=AW3bWlqf39uaqV4BBUuW95qKYfF2OkkU4f9hy3kSVhM,200
@@ -80,11 +81,11 @@ naeural_client/logging/tzlocal/win32.py,sha256=zBoj0vFVrGhnCm_f7xmYzGym4-fV-4Ij2
80
81
  naeural_client/logging/tzlocal/windows_tz.py,sha256=Sv9okktjZJfRGGUOOppsvQuX_eXyXUxkSKCAFmWT9Hw,34203
81
82
  naeural_client/utils/__init__.py,sha256=mAnke3-MeRzz3nhQvhuHqLnpaaCSmDxicd7Ck9uwpmI,77
82
83
  naeural_client/utils/comm_utils.py,sha256=4cS9llRr_pK_3rNgDcRMCQwYPO0kcNU7AdWy_LtMyCY,1072
83
- naeural_client/utils/config.py,sha256=oLCalBgMpgh5PUskK8EG3O4X40yW5ptnR91HV_gWJug,6354
84
+ naeural_client/utils/config.py,sha256=GzduH5_ZFN39RBdpICDKhx2ZqXen5fF-JJ0RoEcF2wQ,7401
84
85
  naeural_client/utils/dotenv.py,sha256=_AgSo35n7EnQv5yDyu7C7i0kHragLJoCGydHjvOkrYY,2008
85
86
  naeural_client/utils/oracle_sync/oracle_tester.py,sha256=GmZwu2JM9_UB2K-4rKB3o0RgWLqM-7Im6HwBnQLXmHI,25312
86
- naeural_client-2.7.0.dist-info/METADATA,sha256=G3zvArkG0it73ESOcIzU4rEjuNdi0xnRGqwC0s_Rugs,12353
87
- naeural_client-2.7.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
88
- naeural_client-2.7.0.dist-info/entry_points.txt,sha256=CTua17GUrRa4aXeafezGC9TiWKGKQzwTjQmB2jyj22g,91
89
- naeural_client-2.7.0.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
90
- naeural_client-2.7.0.dist-info/RECORD,,
87
+ naeural_client-2.7.2.dist-info/METADATA,sha256=CRSL1yY8peBB8gvFqm8vfE3tNERLigtRqGmk7cAohy8,12353
88
+ naeural_client-2.7.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
89
+ naeural_client-2.7.2.dist-info/entry_points.txt,sha256=CTua17GUrRa4aXeafezGC9TiWKGKQzwTjQmB2jyj22g,91
90
+ naeural_client-2.7.2.dist-info/licenses/LICENSE,sha256=cvOsJVslde4oIaTCadabXnPqZmzcBO2f2zwXZRmJEbE,11311
91
+ naeural_client-2.7.2.dist-info/RECORD,,