Problem Verifying Eikon API App Key
I'm currently stuck at the very first hurdle trying to get the Refinitiv Eikon API working with Python.
My code:
import eikon as ek # the Eikon Python wrapper package
import numpy as np # NumPy
import pandas as pd # pandas
import configparser as cp
print(ek.__version__)
ek.set_app_key('my app key here')
The response from this I get is:
AttributeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15812/3514278165.py in <module>
8 print(ek.__version__)
9 ---> 10 ek.set_app_key('removed - will add below as private comment')
~\Miniconda3\envs\refinitiv\lib\site-packages\eikon\Profile.py in set_app_key(app_key)
31 You can get an app key using the App Key Generator (this App is available in Eikon Desktop).
32 """
---> 33 get_profile().set_app_key(app_key)
34 35
~\Miniconda3\envs\refinitiv\lib\site-packages\eikon\Profile.py in set_app_key(self, app_key)
221 self._desktop_session._app_key = app_key # = DesktopSession(app_key, self._on_state, self._on_event)
222 else:
--> 223 self._desktop_session = DesktopSession(app_key=app_key,
224 on_state= self._on_state,
225 on_event=self._on_event)
~\Miniconda3\envs\refinitiv\lib\site-packages\eikon\streaming_session\desktop_session.py in __init__(self, app_key, on_state, on_event, **kwargs)
23 24 def __init__(self, app_key, on_state=None, on_event=None, **kwargs):
---> 25 super().__init__(app_key=app_key,
26 on_state=on_state,
27 on_event=on_event,
~\Miniconda3\envs\refinitiv\lib\site-packages\eikon\streaming_session\session.py in __init__(self, app_key, on_state, on_event, token, dacs_user_name, dacs_position, dacs_application_id)
216 self._timeout = 60
217 timeout = httpx.Timeout(self._timeout)
--> 218 self._http_session = httpx.AsyncClient(
219 headers={"Accept": "application/json"},
220 timeout=timeout,
~\Miniconda3\envs\refinitiv\lib\site-packages\httpx\_client.py in __init__(self, auth, params, headers, cookies, verify, cert, http1, http2, proxies, mounts, timeout, follow_redirects, limits, max_redirects, event_hooks, base_url, transport, app, trust_env)
1378 proxy_map = self._get_proxy_map(proxies, allow_env_proxies)
1379 -> 1380 self._transport = self._init_transport(
1381 verify=verify,
1382 cert=cert,
~\Miniconda3\envs\refinitiv\lib\site-packages\httpx\_client.py in _init_transport(self, verify, cert, http1, http2, limits, transport, app, trust_env)
1426 return ASGITransport(app=app)
1427 -> 1428 return AsyncHTTPTransport(
1429 verify=verify,
1430 cert=cert,
~\Miniconda3\envs\refinitiv\lib\site-packages\httpx\_transports\default.py in __init__(self, verify, cert, http1, http2, limits, trust_env, proxy, uds, local_address, retries)
231 232 if proxy is None:
--> 233 self._pool = httpcore.AsyncConnectionPool(
234 ssl_context=ssl_context,
235 max_connections=limits.max_connections,
~\Miniconda3\envs\refinitiv\lib\site-packages\httpcore\_async\connection_pool.py in __init__(self, ssl_context, max_connections, max_keepalive_connections, keepalive_expiry, http1, http2, retries, local_address, uds, network_backend)
109 self._pool: List[AsyncConnectionInterface] = []
110 self._requests: List[RequestStatus] = []
--> 111 self._pool_lock = AsyncLock()
112 self._network_backend = (
113 AutoBackend() if network_backend is None else network_backend
~\Miniconda3\envs\refinitiv\lib\site-packages\httpcore\_synchronization.py in __init__(self)
10 class AsyncLock:
11 def __init__(self) -> None:
---> 12 self._lock = anyio.Lock()
13 14 async def __aenter__(self) -> "AsyncLock":
AttributeError: module 'anyio' has no attribute 'Lock'
Eikon = 1.1.14
Anyio = 3.4.0
If someone could offer some help I'd be very grateful, thanks
Best Answer
-
I removed your appkey from the above error output as it is your private credential.
However, I did try to use the above appkey with Eikon inside JupyterLabs and it is working fine on my PC.
Can you try the following:
import anyio
anyio.Lock()Also, check the ~\Miniconda3\envs\refinitiv\lib\site-packages folder to confirm the version
There are also some existing threads related to this issue with further diagnostics / suggestions:
Error: module 'anyio' has no attribute 'Lock' - Forum | Refinitiv Developer Community
Error: AttributeError Traceback (most recent call last) - Forum | Refinitiv Developer Community
AttributeError: module 'anyio' has no attribute 'Lock' - Forum | Refinitiv Developer Community
One of the suggestions is to downgrade anyio to v3.2.1 which solved the issue for more than one user.
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛