diff --git a/CHANGELOG.md b/CHANGELOG.md index c609e9d..3d3e158 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - affiliations as a list with GRID links - generic 'default_transform' method for extra column not in transformations * Test suite for magic commands +* New feature: `verify_ssl` option for `login()` method ## v 0.9.8 diff --git a/dimcli/VERSION.py b/dimcli/VERSION.py index ed1d7f9..2b4500f 100644 --- a/dimcli/VERSION.py +++ b/dimcli/VERSION.py @@ -1,7 +1,7 @@ # !/usr/bin/env python # -*- coding: UTF-8 -*- -__version__ = "0.9.9" # LATEST? => https://pypi.org/project/dimcli/ +__version__ = "0.9.9.1" # LATEST? => https://pypi.org/project/dimcli/ __copyright__ = "CopyRight (C) 2018-2022 by Digital Science" __license__ = "MIT" __author__ = "Michele Pasin" diff --git a/dimcli/__init__.py b/dimcli/__init__.py index faf1105..70848fe 100644 --- a/dimcli/__init__.py +++ b/dimcli/__init__.py @@ -45,6 +45,7 @@ def login( username="", endpoint="", instance="", key="", + verify_ssl=True, verbose=True): """Login into the Dimensions API and store the query token in memory. @@ -68,6 +69,8 @@ def login( username="", The instance name, from the local dsl.ini credentials file. Default: 'live' key: str, optional The API key (available to some users instead of username/password) + verify_ssl: bool, optional + Verify SSL certificates for HTTPS requests. Default: True. verbose: bool, optional Verbose mode. Default: True. @@ -81,6 +84,10 @@ def login( username="", * `https://app.dimensions.ai/api/dsl/v2` + About SSL verification: + + Dimcli internally uses the Requests library, which verifies SSL certificates for HTTPS requests, just like a web browser. For some users, it is necessary to turn off SSL verification in order to connect to the API. This can be achieved by passing `verify_ssl=False` at login time. All subsequent API queries will not use SSL verification. NOTE This setting can also be added to the `dsl.ini` file with the following line: `verify_ssl=false`. + Example ------- @@ -94,11 +101,11 @@ def login( username="", You can specify endpoint, which by default is set to "https://app.dimensions.ai" - >>> dimcli.login(key="my-secret-key", ednpoint="https://nannies-research.dimensions.ai") + >>> dimcli.login(key="my-secret-key", endpoint="https://nannies-research.dimensions.ai") Legacy authentication mechanisms with username/password are also supported - >>> dimcli.login(username="mary.poppins", password="chimneysweeper", ednpoint="https://nannies-research.dimensions.ai") + >>> dimcli.login(username="mary.poppins", password="chimneysweeper", endpoint="https://nannies-research.dimensions.ai") See Also --------------- @@ -109,7 +116,7 @@ def login( username="", from .core.auth import do_global_login, get_global_connection try: - do_global_login(instance, username, password, key, endpoint) + do_global_login(instance, username, password, key, endpoint, verify_ssl) except Exception as e: printDebug("Login failed: please ensure your credentials are correct.") raise(e) diff --git a/dimcli/core/api.py b/dimcli/core/api.py index 151a4b3..68adcbe 100644 --- a/dimcli/core/api.py +++ b/dimcli/core/api.py @@ -79,6 +79,7 @@ def __init__(self, show_results=False, verbose=True, auth_session=False): self._verbose = verbose self._url = None self._headers = None + self.verify_ssl = True if auth_session: self._CONNECTION = auth_session else: @@ -88,6 +89,7 @@ def __init__(self, show_results=False, verbose=True, auth_session=False): # if already logged in, reuse connection self._url = self._CONNECTION.url self._headers = {'Authorization': "JWT " + self._CONNECTION.token} + self.verify_ssl = self._CONNECTION.verify_ssl else: self._print_please_login() @@ -104,6 +106,7 @@ def _refresh_login(self): self._CONNECTION.refresh_login() self._url = self._CONNECTION.url self._headers = {'Authorization': "JWT " + self._CONNECTION.token} + self.verify_ssl = self._CONNECTION.verify_ssl else: printDebug("Warning: please login first.") @@ -143,7 +146,7 @@ def query(self, q, show_results=None, retry=0, verbose=None): # Execute DSL query. start = time.time() - response = requests.post(self._url, data=q.encode(), headers=self._headers) + response = requests.post(self._url, data=q.encode(), headers=self._headers, verify=self.verify_ssl) if response.status_code == 429: # Too Many Requests printDebug( diff --git a/dimcli/core/auth.py b/dimcli/core/auth.py index e137a78..48c3af0 100644 --- a/dimcli/core/auth.py +++ b/dimcli/core/auth.py @@ -73,6 +73,7 @@ def __init__(self, verbose=True): self.username = None self.password = None self.key = None + self.verify_ssl = None self.token = None # self._verbose = verbose @@ -83,6 +84,7 @@ def login(self, password="", key="", endpoint="", + verify_ssl=True, verbose=True): """Login into Dimensions API endpoint and get a query token. @@ -97,7 +99,8 @@ def login(self, username="{username}", password="{password}", key="{key}", - endpoint="{endpoint}")""", fg="red") + endpoint="{endpoint}", + verify_ssl="{verify_ssl}")""", fg="red") if (username or password) and not (username and password): raise Exception("Authentication error: you provided only one value for username and password. Both are required.") @@ -139,6 +142,10 @@ def login(self, key = config_section['key'] except: key = "" + try: + verify_ssl = config_section.getboolean('verify_ssl') + except: + verify_ssl = True URL_AUTH, URL_QUERY = self._get_endpoint_urls(endpoint) # printDebug(URL_AUTH, URL_QUERY ) @@ -146,7 +153,7 @@ def login(self, login_data = {'username': username, 'password': password, 'key': key} # POST AUTH REQUEST - response = requests.post(URL_AUTH, json=login_data) + response = requests.post(URL_AUTH, json=login_data, verify=verify_ssl) response.raise_for_status() token = response.json()['token'] @@ -156,6 +163,7 @@ def login(self, self.username = username self.password = password self.key = key + self.verify_ssl = verify_ssl self.token = token @@ -209,6 +217,7 @@ def refresh_login(self): password=self.password, key=self.key, endpoint=self.url, + verify_ssl=self.verify_ssl, verbose=False ) @@ -221,6 +230,7 @@ def reset_login(self): self.password = None self.key = None self.token = None + self.verify_ssl = True def is_logged_in(self): @@ -244,10 +254,10 @@ def is_logged_in(self): -def do_global_login(instance="", username="", password="", key="", url=""): +def do_global_login(instance="", username="", password="", key="", url="", verify_ssl=True): "Login into DSL and set the connection object with token" global CONNECTION - CONNECTION.login(instance, username, password, key, url) + CONNECTION.login(instance, username, password, key, url, verify_ssl) diff --git a/dimcli/tests/quicktest.py b/dimcli/tests/quicktest.py index eb162aa..36fbdbd 100644 --- a/dimcli/tests/quicktest.py +++ b/dimcli/tests/quicktest.py @@ -29,6 +29,23 @@ def main(test_number=1): dsl = Dsl() test_number = int(test_number) + if test_number == 5: + + click.secho("\nTEST 005: GLOBAL login/logout using verify_ssl flag.", bg="green") + # ---- + logout() + login(instance="key-test", verify_ssl=True, verbose=True) + d = Dsl() + click.secho(""" Dsl(instance="key-test" / verify_ssl=True): ==> url="""+ d._url, fg="magenta") + res = d.query("""search publications where authors="Pasin" return publications""") + print(" ==> res.json.keys(): ", res.json.keys()) + logout() + # ---- + click.secho("\n--------\nCOMPLETED", fg="green") + + + + if test_number == 4: diff --git a/dimcli/tests/test_login.py b/dimcli/tests/test_login.py index 990af3c..dd2cbd7 100644 --- a/dimcli/tests/test_login.py +++ b/dimcli/tests/test_login.py @@ -163,6 +163,18 @@ def test_004(self): click.secho("\n--------\nCOMPLETED", fg="green") + def test_005(self): + click.secho("\nTEST 005: GLOBAL login/logout using verify_ssl flag.", bg="green") + # ---- + logout() + login(instance="key-test", verify_ssl=True, verbose=True) + d = Dsl() + click.secho(""" Dsl(instance="key-test" / verify_ssl=True): ==> url="""+ d._url, fg="magenta") + res = d.query("""search publications where authors="Pasin" return publications""") + print(" ==> res.json.keys(): ", res.json.keys()) + logout() + # ---- + click.secho("\n--------\nCOMPLETED", fg="green") diff --git a/docs/_modules/dimcli/__init__.html b/docs/_modules/dimcli/__init__.html index 24c3005..221afee 100644 --- a/docs/_modules/dimcli/__init__.html +++ b/docs/_modules/dimcli/__init__.html @@ -112,6 +112,7 @@
endpoint="",
instance="",
key="",
+ verify_ssl=True,
verbose=True):
"""Login into the Dimensions API and store the query token in memory.
@@ -135,6 +136,8 @@ Source code for dimcli.__init__
The instance name, from the local dsl.ini credentials file. Default: 'live'
key: str, optional
The API key (available to some users instead of username/password)
+ verify_ssl: bool, optional
+ Verify SSL certificates for HTTPS requests. Default: True.
verbose: bool, optional
Verbose mode. Default: True.
@@ -148,6 +151,10 @@ Source code for dimcli.__init__
* `https://app.dimensions.ai/api/dsl/v2`
+ About SSL verification:
+
+ Dimcli internally uses the Requests library, which verifies SSL certificates for HTTPS requests, just like a web browser. For some users, it is necessary to turn off SSL verification in order to connect to the API. This can be achieved by passing `verify_ssl=False` at login time. All subsequent API queries will not use SSL verification. NOTE This setting can also be added to the `dsl.ini` file with the following line: `verify_ssl=false`.
+
Example
-------
@@ -161,11 +168,11 @@ Source code for dimcli.__init__
You can specify endpoint, which by default is set to "https://app.dimensions.ai"
- >>> dimcli.login(key="my-secret-key", ednpoint="https://nannies-research.dimensions.ai")
+ >>> dimcli.login(key="my-secret-key", endpoint="https://nannies-research.dimensions.ai")
Legacy authentication mechanisms with username/password are also supported
- >>> dimcli.login(username="mary.poppins", password="chimneysweeper", ednpoint="https://nannies-research.dimensions.ai")
+ >>> dimcli.login(username="mary.poppins", password="chimneysweeper", endpoint="https://nannies-research.dimensions.ai")
See Also
---------------
@@ -176,7 +183,7 @@ Source code for dimcli.__init__
from .core.auth import do_global_login, get_global_connection
try:
- do_global_login(instance, username, password, key, endpoint)
+ do_global_login(instance, username, password, key, endpoint, verify_ssl)
except Exception as e:
printDebug("Login failed: please ensure your credentials are correct.")
raise(e)
diff --git a/docs/_modules/dimcli/core/api.html b/docs/_modules/dimcli/core/api.html
index c5deb6d..09cc5b5 100644
--- a/docs/_modules/dimcli/core/api.html
+++ b/docs/_modules/dimcli/core/api.html
@@ -146,6 +146,7 @@ Source code for dimcli.core.api
self._verbose = verbose
self._url = None
self._headers = None
+ self.verify_ssl = True
if auth_session:
self._CONNECTION = auth_session
else:
@@ -155,6 +156,7 @@ Source code for dimcli.core.api
# if already logged in, reuse connection
self._url = self._CONNECTION.url
self._headers = {'Authorization': "JWT " + self._CONNECTION.token}
+ self.verify_ssl = self._CONNECTION.verify_ssl
else:
self._print_please_login()
@@ -171,6 +173,7 @@ Source code for dimcli.core.api
self._CONNECTION.refresh_login()
self._url = self._CONNECTION.url
self._headers = {'Authorization': "JWT " + self._CONNECTION.token}
+ self.verify_ssl = self._CONNECTION.verify_ssl
else:
printDebug("Warning: please login first.")
@@ -210,7 +213,7 @@ Source code for dimcli.core.api
# Execute DSL query.
start = time.time()
- response = requests.post(self._url, data=q.encode(), headers=self._headers)
+ response = requests.post(self._url, data=q.encode(), headers=self._headers, verify=self.verify_ssl)
if response.status_code == 429:
# Too Many Requests
printDebug(
diff --git a/docs/modules.html b/docs/modules.html
index 3d74125..67fe57f 100644
--- a/docs/modules.html
+++ b/docs/modules.html
@@ -87,7 +87,7 @@ Modules Reference
-dimcli.__init__.login(username='', password='', endpoint='', instance='', key='', verbose=True)[source]
+dimcli.__init__.login(username='', password='', endpoint='', instance='', key='', verify_ssl=True, verbose=True)[source]
Login into the Dimensions API and store the query token in memory.
Two cases, with a few defaults:
@@ -115,6 +115,7 @@ Modules Referencehttps://app.dimensions.ai”
instance (str, optional) – The instance name, from the local dsl.ini credentials file. Default: ‘live’
key (str, optional) – The API key (available to some users instead of username/password)
+verify_ssl (bool, optional) – Verify SSL certificates for HTTPS requests. Default: True.
verbose (bool, optional) – Verbose mode. Default: True.
@@ -128,6 +129,8 @@ Modules ReferenceExample
If you have already set up the credentials file (see above), no need to pass log in details
>>> dimcli.login()
@@ -138,11 +141,11 @@ Modules Referencehttps://app.dimensions.ai”
->>> dimcli.login(key="my-secret-key", ednpoint="https://nannies-research.dimensions.ai")
+>>> dimcli.login(key="my-secret-key", endpoint="https://nannies-research.dimensions.ai")
Legacy authentication mechanisms with username/password are also supported
->>> dimcli.login(username="mary.poppins", password="chimneysweeper", ednpoint="https://nannies-research.dimensions.ai")
+>>> dimcli.login(username="mary.poppins", password="chimneysweeper", endpoint="https://nannies-research.dimensions.ai")
diff --git a/docs/searchindex.js b/docs/searchindex.js
index 816d261..ca58bc9 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["getting-started","index","modules"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["getting-started.md","index.rst","modules.rst"],objects:{"dimcli.__init__":[[2,1,1,"","login"],[2,1,1,"","login_status"],[2,1,1,"","logout"]],"dimcli.core":[[2,0,0,"-","api"],[2,0,0,"-","functions"]],"dimcli.core.api":[[2,2,1,"","Dsl"],[2,2,1,"","DslDataset"]],"dimcli.core.api.Dsl":[[2,3,1,"","query"],[2,3,1,"","query_iterative"]],"dimcli.core.api.DslDataset":[[2,3,1,"","as_dataframe"],[2,3,1,"","as_dataframe_authors"],[2,3,1,"","as_dataframe_authors_affiliations"],[2,3,1,"","as_dataframe_concepts"],[2,3,1,"","as_dataframe_funders"],[2,3,1,"","as_dataframe_investigators"],[2,3,1,"","as_dimensions_url"],[2,3,1,"","chunks"],[2,4,1,"","count_batch"],[2,4,1,"","count_total"],[2,4,1,"","errors_string"],[2,3,1,"","from_clinical_trials_list"],[2,3,1,"","from_grants_list"],[2,3,1,"","from_organizations_list"],[2,3,1,"","from_patents_list"],[2,3,1,"","from_policy_documents_list"],[2,3,1,"","from_publications_list"],[2,3,1,"","from_researchers_list"],[2,3,1,"","good_data_keys"],[2,3,1,"","keys_and_count"],[2,3,1,"","load_json_file"],[2,3,1,"","to_gsheets"],[2,3,1,"","to_json_file"]],"dimcli.core.functions":[[2,1,1,"","build_reviewers_matrix"],[2,1,1,"","extract_affiliations"],[2,1,1,"","extract_classification"],[2,1,1,"","extract_concepts"],[2,1,1,"","extract_grants"],[2,1,1,"","identify_experts"]],"dimcli.jupyter":[[2,0,0,"-","magics"]],"dimcli.jupyter.magics":[[2,2,1,"","DslMagics"]],"dimcli.jupyter.magics.DslMagics":[[2,3,1,"","dsl"],[2,3,1,"","dsl_extract_concepts"],[2,3,1,"","dsl_identify_experts"],[2,3,1,"","dsldf"],[2,3,1,"","dsldocs"],[2,3,1,"","dslgsheets"],[2,3,1,"","dslloop"],[2,3,1,"","dslloopdf"],[2,3,1,"","dslloopgsheets"]],"dimcli.utils":[[2,0,0,"-","converters"],[2,0,0,"-","dim_utils"],[2,0,0,"-","misc_utils"]],"dimcli.utils.converters":[[2,2,1,"","DslClinicaltrialsConverter"],[2,2,1,"","DslDataConverter"],[2,2,1,"","DslDatasetsConverter"],[2,2,1,"","DslGrantsConverter"],[2,2,1,"","DslOrganizationsConverter"],[2,2,1,"","DslPatentsConverter"],[2,2,1,"","DslPolicyDocumentsConverter"],[2,2,1,"","DslPubsConverter"],[2,2,1,"","DslReportsConverter"],[2,2,1,"","DslResearchersConverter"],[2,2,1,"","DslSourceTitlesConverter"]],"dimcli.utils.converters.DslDataConverter":[[2,3,1,"","apply_transformations"],[2,3,1,"","convert_abstract_to_preview"],[2,3,1,"","convert_authors_affiliations"],[2,3,1,"","convert_authors_countries"],[2,3,1,"","convert_authors_grids"],[2,3,1,"","convert_authors_to_names"],[2,3,1,"","convert_id_to_url"],[2,3,1,"","convert_interventions_dict"],[2,3,1,"","convert_investigators_cltrials"],[2,3,1,"","extend_transformations"],[2,3,1,"","run"],[2,3,1,"","sort_and_prune"],[2,3,1,"","truncate_for_gsheets"]],"dimcli.utils.dim_utils":[[2,1,1,"","dimensions_search_url"],[2,1,1,"","dimensions_styler"],[2,1,1,"","dimensions_url"],[2,1,1,"","dsl_escape"],[2,1,1,"","dslquery"],[2,1,1,"","dslquery_json"],[2,1,1,"","dslqueryall"],[2,1,1,"","gen_dslqueries"]],"dimcli.utils.misc_utils":[[2,1,1,"","chunks_of"],[2,1,1,"","exists_key_in_dicts_list"],[2,1,1,"","export_as_gsheets"],[2,1,1,"","google_url"],[2,1,1,"","normalize_key"],[2,1,1,"","open_multi_platform"],[2,1,1,"","printDebug"],[2,1,1,"","printInfo"],[2,1,1,"","save2File"],[2,1,1,"","walk_up"]],dimcli:[[2,0,0,"-","__init__"]]},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","property","Python property"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:property"},terms:{"0":[0,2],"000":2,"000000":2,"01055006635":2,"01146544531":2,"011513332561":2,"011535264111":2,"013245":2,"01332073522":[0,1,2],"01343654360":[0,1],"0206":2,"022934":2,"06":2,"062144994735718":2,"062369":2,"070622":2,"0767105504":2,"1":2,"10":2,"100":2,"1000":2,"100000050":2,"11":2,"1117":2,"1120602308":2,"1120715293":2,"1120975084":2,"1127419018":2,"12":2,"123456789qwertyuiop":0,"12641":2,"130":2,"137628":2,"14790980":2,"15":2,"150":1,"185277":2,"19":2,"1tsyrfdesadltwddqjuydwdog81sl9hn3nu8mxvlqddi":2,"2":2,"20":2,"200":2,"2000":2,"2010":2,"2018":2,"2019":2,"2020":2,"203130":2,"20africa":2,"20and":2,"20korea":2,"20south":2,"21":2,"22000":2,"240952":2,"2500":2,"25000":2,"2501114":2,"2544064":2,"2635167":2,"2643743":2,"27000":2,"28":2,"28pub":2,"29":2,"2s":2,"3":2,"30":2,"3000":2,"3177":2,"35000":2,"36":2,"3a":2,"4":2,"400":2,"4000":2,"414":2,"42263946":2,"43":[0,1],"4370267824":2,"4383191536":2,"452719":2,"471721887588501":2,"4724757671356201":2,"4767014816":2,"49":[0,1,2],"499389":2,"5":2,"500":2,"5000":2,"50000":2,"5068159103393555":2,"50k":[0,2],"51":2,"5128581":2,"5128638":2,"5146172046661377":2,"521540880203247":2,"53":2,"5332921":2,"5398563":2,"551920":2,"57":2,"575329065322876":2,"59":[0,1],"5s":2,"6":2,"6000":2,"6252001":2,"626348":2,"6269131":2,"686363":2,"7":2,"7000":2,"7225260734558105":2,"75":[0,1,2],"756862":2,"76":2,"7611980438232422":2,"797738":2,"8":2,"8000":2,"8163":2,"8735":[0,1],"9":2,"920304":2,"abstract":2,"break":2,"case":[0,2],"class":2,"default":[0,2],"do":[0,2],"export":[0,2],"final":2,"float":2,"function":[0,1],"import":[1,2],"int":2,"new":[0,2],"null":2,"public":[0,1,2],"return":[0,1,2],"super":0,"switch":2,"throw":2,"true":2,"try":0,A:[0,2],AND:2,By:[0,2],FOR:[0,2],For:[0,1,2],If:[0,2],In:[1,2],It:[0,2],Its:0,Not:2,OR:2,One:0,Or:[0,2],That:0,The:[0,1,2],Then:0,There:[0,2],These:2,To:2,With:2,_:2,__init__:2,_stat:[0,1,2],_tot_count_prev_queri:2,_version:2,_warn:2,_warnings_tot:2,a1:2,a2:2,a4:2,abl:0,about:[0,2],abov:[0,2],access:[0,1,2],account:0,acronym:2,across:0,activ:2,active_year:0,ad:[0,2],add:[0,2],addit:[1,2],address:2,advanc:1,advatang:2,advis:[0,2],affili:2,affiliation_part:2,africa:2,after:[0,2],against:0,aggreg:1,ai:[0,1,2],aim:0,alan:0,albert:2,alist:0,all:[0,2],allow:[0,1,2],alongsid:0,alpha:2,alreadi:[0,2],also:[0,1,2],altern:2,alwai:[0,2],ambient:2,ambipolar:2,among:2,an:[0,1,2],anaconda:0,analys:1,analyt:0,ani:[0,2],anim:0,anoth:[0,2],ansi:2,apisess:2,app:[0,1,2],appear:2,appli:2,applic:[0,2],apply_transform:2,approach:2,approxim:2,ar:[0,1,2],area:2,argument:[0,2],arm_group_label:2,around:[0,2],arrai:2,as_datafram:2,as_dataframe_author:2,as_dataframe_authors_affili:2,as_dataframe_concept:2,as_dataframe_fund:2,as_dataframe_investig:2,as_df:2,as_dimensions_url:2,as_json:2,asciicinema:0,assess:2,associ:2,assum:2,atom:2,attach:2,attempt:2,attent:2,attribut:0,audi:2,auth:2,auth_sess:2,authent:[1,2],author:2,author_affili:2,authorslist:2,auto:2,autocomplet:0,automat:[0,2],autonom:2,avail:[0,1,2],avoid:2,back:2,backend:2,background:2,backward:2,badli:2,band:2,base:[0,2],basic:2,batch:2,becaus:2,becom:2,been:[0,2],befor:2,behaviour:2,beihai:2,being:[0,2],below:[0,2],better:2,between:[1,2],bg:2,bicocca:2,black:2,blank:0,blink:2,blue:2,boil:2,bold:2,bool:2,both:[0,2],bottom:2,bra:2,brain:2,brand:2,bright:2,broad:2,broken:2,bug:1,build:1,build_reviewers_matrix:2,built:2,burnout:2,c1:2,c:[0,2],ca:2,cach:2,calcul:2,california:2,call:[0,1,2],cambridg:2,camel:2,can:[0,1,2],cancer:2,candid:2,cannot:0,car:2,care:2,carri:2,categor:[1,2],categori:2,category_for:2,cell:[0,2],center:2,centimet:2,certain:2,chang:2,changelog:1,chaoqian:2,charact:2,check:[0,2],chimneysweep:[0,2],china:2,chunk:2,chunks_of:2,circuit:2,citi:2,civic:2,classif:2,classifi:2,classmethod:2,claus:2,clever:2,cli:0,click:2,clickabl:2,client:[0,1,2],clinic:[1,2],clinical_tri:2,code:[0,2],col:2,colab:2,collect:1,colleg:2,colon:2,color:2,colorama:2,coloss:2,cols_subset:2,column:2,com:[0,2],combin:2,command:[1,2],comment:1,common:2,commun:2,compat:2,complex:[1,2],compon:2,compos:2,comput:[0,2],concentr:2,concept:2,concepts_scor:2,conda:0,condit:2,conduct:2,config:[0,2],configur:1,conflict:2,connect:[1,2],connector:2,consol:0,constructor:2,contain:[0,2],content:[0,2],continu:2,conveni:2,convent:2,convert:1,convert_abstract_to_preview:2,convert_authors_affili:2,convert_authors_countri:2,convert_authors_grid:2,convert_authors_to_nam:2,convert_id_to_url:2,convert_interventions_dict:2,convert_investigators_cltri:2,cookbook:2,copi:0,core:1,corolla:2,corona:2,coronaviru:2,correctli:2,correspond:2,count:[0,1,2],count_batch:2,count_tot:2,countri:2,coupl:0,cours:0,cov:2,covid:2,cowman:0,craig:0,creat:[1,2],creation:2,credenti:[1,2],csv:[0,2],curdir:2,current:[0,2],custom:2,cyan:2,d1:2,d2:2,d5047fasad889912hhbajvsad8e8bae17e2:0,d:[0,2],dai:[0,2],data:[0,1,2],datafram:[0,2],dataset:2,defin:[0,2],delimit:2,demonstr:[0,2],depend:[0,2],deprec:2,deriv:2,describ:2,descript:2,design:2,detail:[0,2],determin:2,develop:[1,2],devic:2,df:2,df_final:2,df_temp:2,dial:2,dict:[0,2],dict_list:2,dictionari:2,differ:[0,2],digit:[1,2],dim:2,dim_util:2,dimens:0,dimension:2,dimensions_search_url:2,dimensions_styl:2,dimensions_url:2,direct:[0,2],directli:2,directori:[0,2],disabl:2,discov:2,diseas:2,displai:[0,2],doc:2,document:[0,2],doesn:2,done:0,down:2,download:2,drive:2,drug:2,dsl:[0,1,2],dsl_escap:2,dsl_extract_concept:[0,2],dsl_identify_expert:[0,2],dsl_last_result:2,dslclinicaltrialsconvert:2,dsldataconvert:2,dsldataset:[0,2],dsldatasetsconvert:2,dsldf:[0,2],dsldoc:[0,2],dslgrantsconvert:2,dslgsheet:[0,2],dslloop:[0,2],dslloopdf:[0,2],dslloopgsheet:2,dslmagic:2,dslorganizationsconvert:2,dslpatentsconvert:2,dslpolicydocumentsconvert:2,dslpubsconvert:2,dslqueri:2,dslquery_json:2,dslqueryal:2,dslreportsconvert:2,dslresearchersconvert:2,dslsourcetitlesconvert:2,due:2,duffi:0,dure:2,dynam:2,e:[1,2],each:[0,2],easi:0,easier:[0,2],easiest:[0,2],echo:2,editor:0,ednpoint:2,edward:0,effect:2,eg:[0,2],einstein:2,either:2,electr:2,electrod:2,electron:2,els:2,emb:2,emmet:0,empti:2,en:2,enabl:[0,2],encod:2,end:2,endpoint:[1,2],energi:2,engin:2,england:2,enough:2,ensur:[0,2],entiti:2,entri:0,environ:2,equival:0,err:2,error:[0,2],errors_str:2,escap:2,essenc:2,etc:2,even:2,exact:2,exampl:[0,2],exclud:2,execut:2,exhibit:2,exist:2,exists_key_in_dicts_list:2,expect:[0,2],experiment:2,expert:[0,2],expir:2,explicitli:[0,2],explor:1,export_as_gsheet:2,express:2,extend_transform:2,extra_dsl:2,extract:[0,1,2],extract_affili:2,extract_classif:2,extract_concept:2,extract_gr:2,f:2,facet:0,fail:[0,2],fals:2,fast:2,featur:[0,2],ferreira:0,few:[0,2],fg:2,field:[0,2],fields_map:2,file:[1,2],filenam:2,fill:0,film:2,filter:2,find:[0,2],first:2,first_nam:[0,1,2],fix:2,flag:2,flatten:2,focu:2,folder:0,follow:[0,2],for_first:0,forc:2,ford:2,fore:2,foreground:2,forg:0,form:2,format:2,found:[0,2],fpath:2,francoi:0,frederick:0,frequenc:2,friend:0,from:[0,1,2],from_clinical_trials_list:2,from_grants_list:2,from_organizations_list:2,from_patents_list:2,from_policy_documents_list:2,from_publications_list:2,from_researchers_list:2,full:2,full_search:2,fumihiko:0,funder:[0,2],funder_countri:0,funder_nam:2,funding_org_acronym:0,funding_org_c:0,funding_org_nam:0,fundref:2,futur:2,g:[1,2],gate:2,gb:2,gen_dslqueri:2,gener:[0,2],geo_city_id:2,geo_city_nam:2,geo_country_cod:2,geo_country_id:2,geo_country_nam:2,geo_state_cod:2,geo_state_id:2,geo_state_nam:2,get:[1,2],gist:1,github:[1,2],give:0,global:[0,2],go:2,goal:2,good:0,good_data_kei:2,googl:[0,2],google_url:2,gordon:0,gpread:2,grai:2,grammar:0,grant:[0,1,2],grant_id:2,grant_numb:2,graphen:2,graphit:2,green:2,grep:2,grid:2,grid_citi:2,grid_countri:2,grid_id:2,grid_nam:2,grid_stat:2,group:2,gsheet:2,gspread:2,gspread_datafram:2,guangxi:2,guid:0,h:0,ha:[0,2],handi:0,handl:[0,2],happen:2,have:[0,2],header:0,health:2,hello:2,help:0,helper:[1,2],henc:2,henri:0,here:[0,1],high:2,highli:1,hirai:0,histori:0,hit:0,hoffman:0,hole:2,home:0,homepag:0,honda:2,horii:0,hospit:2,host:0,hostnam:2,how:[0,2],hra:2,hrcs_hc:[0,2],hrcs_rac:[0,2],html:[0,2],http:[0,1,2],huang:2,hydroxychloroquin:2,hyperlink:2,i:2,icrp:2,icrp_cso:2,icrp_ct:2,id:[0,1,2],idd:2,ideal:0,identif:2,identifi:2,identify_expert:2,ie:2,impact:2,implement:2,importantli:0,improv:[0,1],includ:[0,1,2],incur:2,induc:2,infer:2,info:[0,2],inform:[0,1,2],inherit:2,ini:[0,2],init:0,inner:2,input:[0,2],input_data:2,inspect:2,inspir:2,instal:[1,2],instanc:[0,2],instanti:2,instead:2,intent:2,interact:[0,2],interest:2,interfac:[1,2],intern:2,intervent:2,intuit:1,invers:2,investig:2,investigatorslist:2,involv:2,io:2,ipython:[0,2],issu:[0,2],itali:2,item:2,iter:[0,2],iterarion:2,its:0,j:[0,1,2],jianlin:2,john:0,journal:2,json:[0,1,2],jupyt:1,just:[0,2],kaneko:0,kawai:0,kawamoto:0,kazuyuki:0,keep:2,keep_extra_col:2,kei:[0,1,2],kevin:[0,1],key_nam:2,keys_and_count:2,keyword:[0,2],keywords_list_as_str:2,kingdom:2,know:2,korea:2,kw:2,kwarg:2,lab:[0,1,2],lambdamus:2,land:2,languag:[0,1,2],larg:2,last_nam:[0,1,2],latest:[0,2],launch:0,leader:2,learn:[0,2],leav:0,legaci:[0,2],len:2,less:2,let:0,lev:0,level:[0,2],li:2,librari:[0,2],light:2,like:[0,1,2],limit:2,line:[1,2],link:[1,2],linux:2,list:2,live:[0,1,2],ll:0,load:2,load_json_fil:2,local:2,locat:0,log:[0,2],logic:2,login:[0,1],login_statu:2,logout:2,london:2,look:[0,2],loop:2,loui:0,machin:2,maco:2,magenta:2,magic:[0,1],magnitud:2,mai:2,mail:0,main:2,mainli:2,mainstream:2,make:[0,2],makoto:0,malaria:[0,1,2],malcolm:0,mani:2,manual:1,marcelo:0,mari:[0,2],marsh:[0,1],match:[0,2],matrix:2,max_concept:2,maximum:2,maxlimit:2,md:0,mean:2,meant:2,mechan:2,medic:2,medicin:2,memori:2,memristor:2,merg:2,messag:2,metadata:2,metal:2,method:[0,2],metric:2,mg:2,might:2,milano:2,miller:0,million:1,mimic:2,misc_util:2,miscellan:1,miss:2,mkdir:0,mobil:2,mode:2,modul:1,molecul:2,molecular:2,molyneux:0,monocrystallin:2,moon:2,more:[0,1,2],most:0,mostli:2,motomi:0,much:2,multi:2,multilin:2,multipl:[1,2],must:[0,2],mv:2,my:[0,2],my_data:2,mysession1:2,mysession2:2,mystyl:2,n:[0,2],name:[0,2],nan:2,nanni:[0,2],nativ:2,natur:2,ncov:2,necessari:2,need:[0,2],neeed:2,neither:2,new_cols_ordered_list:2,new_dataset:2,new_val:2,newbi:0,newdataset:2,nice:2,nichola:[0,1,2],non:2,none:2,nonetheless:2,nor:2,normal:[0,2],normalize_kei:2,nosten:0,note:[0,2],notebook:[1,2],now:0,number:[0,2],nutshel:1,ny:2,oauth2:2,oauth2client:2,oauth:2,obj:2,obj_id:2,obj_typ:2,object:[0,2],object_typ:2,obsolet:2,obtain:2,offici:1,offset:2,ok:2,old:2,older:0,omit:2,onc:[0,2],one:[0,2],ones:2,onli:[0,2],ontolog:2,ontospi:2,open:[0,1,2],open_multi_platform:2,oper:2,oppos:2,optim:2,option:[0,2],orang:2,order:[0,2],org:2,organ:2,origin:2,os:2,osamu:0,other:[0,2],other_nam:2,otherwis:2,our:2,out:[0,2],outlin:2,output:2,over:[0,2],overlap:2,overrid:1,own:2,page:2,pagin:[0,2],palletsproject:2,panda:[0,2],paragraph:2,parallel:2,paramet:2,particular:0,pass:[0,2],password:[0,2],past:0,patent:[1,2],path:2,patrick:0,paus:2,pave:2,payload:2,pd:2,pediatrician:2,peopl:2,per:2,perform:2,persist:0,philip:0,physic:2,physicochem:2,pick:[0,2],pip:0,pipe:2,place:[0,2],plai:2,platform:[1,2],pocoo:2,polici:[1,2],policy_docu:2,pop:2,poppin:[0,2],possibl:[0,2],practic:[0,2],preced:0,preexist:2,prerequisit:2,present:0,pretti:0,prevent:2,preview:[0,2],previous:0,price:2,principl:2,print:[0,1,2],printdebug:2,printinfo:2,privat:[0,1],process:[0,2],profession:2,program:0,prompt:0,properti:2,provid:[0,2],ps:2,pub1122068834:2,pub:2,pubs_detail:2,pull:[0,1],purpos:2,put:0,pydata:2,pypi:0,python:[1,2],q:2,qualiti:2,quantum:2,queri:[0,1,2],query_it:2,query_str:2,queryresult:2,question:2,quit:2,quot:2,r01hl117329:2,rai:2,rang:2,rank:2,raw:2,rawdata:2,rcdc:[0,2],re:[0,1],readi:0,readthedoc:2,recommend:1,record:[0,1,2],red:2,refer:1,reformat:2,regener:2,region:2,relev:[0,2],reli:0,reload:2,remark:2,remov:2,render:2,replac:[0,2],report:[1,2],repres:2,represent:2,reproduc:2,request:[0,1,2],requir:2,requires_review:2,research:[0,1,2],research_org:[0,2],research_org_c:0,research_org_countri:0,research_org_nam:0,research_org_state_cod:0,reset:2,reset_al:2,result:[0,2],retri:2,retriev:[1,2],reus:2,revers:2,review:2,rich:2,risk:2,road:2,robust:2,role:2,room:2,round:2,rout:2,row:2,rule:2,run:[0,2],runtim:1,s:[0,2],safe:0,same:[0,2],sar:2,satoru:0,save2fil:2,save:[0,2],scalabl:2,scienc:1,scientif:2,scientometr:2,scope:0,score:2,score_averag:2,script:1,sdg:2,search:[0,1,2],search_field:2,search_text:2,search_typ:2,searchabl:0,secho:2,second:2,secondli:2,secret:[0,2],section:0,see:[0,1,2],select:[0,2],self:2,semant:0,semicolon:2,semimet:2,send:0,separ:2,sequenc:2,server:2,servic:[1,2],session:[0,2],set:[1,2],sever:0,sheet:[0,2],shell:0,shortcut:2,should:[0,2],show_result:2,shuangyong:2,side:2,signific:2,simpl:2,simpler:2,simpli:[0,2],simplifi:[0,2],simul:2,singl:[1,2],situat:[0,2],size:2,skip:2,sleep:2,snippet:[0,2],so:[0,2],solar:2,solv:0,some:[0,2],sort:1,sort_and_prun:2,sourc:[0,1,2],source_typ:2,south:2,space:2,span:2,special:2,specif:[1,2],specifi:[0,2],spectrum:2,split:2,spreadsheet:2,squar:2,stabl:2,stackoverflow:2,standard:2,stanford:2,start:[1,2],start_year:[0,2],stat:2,state:2,statement:2,statu:2,stderr:2,stdout:2,step:2,stephen:0,still:0,store:[0,2],str:2,string:2,stringa:2,strong:2,strongli:0,structur:2,studi:2,stuff:0,style:2,styler:2,subclass:[0,2],subject:2,subsequ:2,suggest:[0,1,2],suitabl:2,supercomput:2,support:[0,1,2],sure:0,surgeon:2,surnam:0,sustain:2,syntax:0,system:[0,2],t:[0,2],tab:0,tabl:2,tag:2,takafumi:0,take:[0,2],tanab:0,technolog:2,temperatur:2,templat:1,term:2,termin:0,test:2,text:[0,1,2],tfacet:0,than:[0,1,2],thei:[0,2],them:[0,2],thi:[0,2],thick:2,thing:2,those:2,through:[0,2],time:[0,2],times_cit:2,tini:2,tip:2,titl:2,title_languag:0,title_link:2,to_gsheet:2,to_json_fil:2,todo:2,token:[1,2],too:[0,2],tool:[0,1,2],toolkit:0,top:2,torii:0,toshihiro:0,total:2,total_count:[0,1],touch:0,toyota:2,tradit:2,tranform:2,transform:[0,2],treatment:2,tree:2,trial:[1,2],trigger:2,trivial:2,truncate_for_gsheet:2,tsuboi:0,ttype:2,tunabl:2,tune:2,tupl:2,turn:2,tutori:[1,2],two:[0,2],type:[0,2],u:0,ultralow:2,under:2,underli:2,underlin:2,uniqu:[0,2],unit:2,univers:2,unix:0,unstructur:2,unsupport:2,until:2,uoa:2,up:[0,2],updat:[0,2],upload:2,upper:2,ur:[0,1,2],urbano:0,uri:2,url:[0,2],us:[1,2],user:[1,2],usernam:[0,2],util:1,v0:2,v1:2,v2:[0,1,2],v:2,valenc:2,valid:[0,2],valu:[0,2],variabl:2,variat:2,variou:2,verbos:2,version:[0,2],via:[0,2],video:0,viru:2,visual:[1,2],volt:2,voltag:2,wa:2,wai:[0,2],walk:2,walk_up:2,want:[0,2],warn:2,wataya:0,we:2,webapp:2,welcom:0,well:2,what:[0,2],when:[0,2],whenev:2,where:[0,2],whether:[0,2],which:[0,2],white:[0,1,2],widget:2,win:2,window:2,within:0,without:2,work:[0,2],workflow:2,world:2,would:2,wrapper:[0,2],wuhan:2,www:2,x:[0,2],year:2,yellow:2,york:2,you:[0,1,2],your:[0,2],yourkeyher:0,yourpasswordher:0,yusuk:0,zhuang:2},titles:["Getting Started with Dimcli","Welcome to DimCli\u2019s documentation!","Modules Reference"],titleterms:{"function":2,"import":0,In:0,about:1,advanc:0,analyt:1,api:[0,1,2],authent:0,bug:0,changelog:0,command:0,comment:0,configur:0,content:1,convert:2,core:2,creat:0,credenti:0,dimcli:[0,1,2],dimens:[1,2],document:1,e:0,endpoint:0,file:0,g:0,get:0,gist:0,github:0,helper:0,instal:0,interfac:0,jupyt:[0,2],line:0,login:2,magic:2,manual:0,miscellan:2,modul:[0,2],multipl:0,notebook:0,nutshel:0,overrid:0,python:0,recommend:0,refer:2,report:0,runtim:0,s:1,script:0,set:0,start:0,token:0,us:0,user:0,util:2,welcom:1}})
\ No newline at end of file
+Search.setIndex({docnames:["getting-started","index","modules"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["getting-started.md","index.rst","modules.rst"],objects:{"dimcli.__init__":[[2,1,1,"","login"],[2,1,1,"","login_status"],[2,1,1,"","logout"]],"dimcli.core":[[2,0,0,"-","api"],[2,0,0,"-","functions"]],"dimcli.core.api":[[2,2,1,"","Dsl"],[2,2,1,"","DslDataset"]],"dimcli.core.api.Dsl":[[2,3,1,"","query"],[2,3,1,"","query_iterative"]],"dimcli.core.api.DslDataset":[[2,3,1,"","as_dataframe"],[2,3,1,"","as_dataframe_authors"],[2,3,1,"","as_dataframe_authors_affiliations"],[2,3,1,"","as_dataframe_concepts"],[2,3,1,"","as_dataframe_funders"],[2,3,1,"","as_dataframe_investigators"],[2,3,1,"","as_dimensions_url"],[2,3,1,"","chunks"],[2,4,1,"","count_batch"],[2,4,1,"","count_total"],[2,4,1,"","errors_string"],[2,3,1,"","from_clinical_trials_list"],[2,3,1,"","from_grants_list"],[2,3,1,"","from_organizations_list"],[2,3,1,"","from_patents_list"],[2,3,1,"","from_policy_documents_list"],[2,3,1,"","from_publications_list"],[2,3,1,"","from_researchers_list"],[2,3,1,"","good_data_keys"],[2,3,1,"","keys_and_count"],[2,3,1,"","load_json_file"],[2,3,1,"","to_gsheets"],[2,3,1,"","to_json_file"]],"dimcli.core.functions":[[2,1,1,"","build_reviewers_matrix"],[2,1,1,"","extract_affiliations"],[2,1,1,"","extract_classification"],[2,1,1,"","extract_concepts"],[2,1,1,"","extract_grants"],[2,1,1,"","identify_experts"]],"dimcli.jupyter":[[2,0,0,"-","magics"]],"dimcli.jupyter.magics":[[2,2,1,"","DslMagics"]],"dimcli.jupyter.magics.DslMagics":[[2,3,1,"","dsl"],[2,3,1,"","dsl_extract_concepts"],[2,3,1,"","dsl_identify_experts"],[2,3,1,"","dsldf"],[2,3,1,"","dsldocs"],[2,3,1,"","dslgsheets"],[2,3,1,"","dslloop"],[2,3,1,"","dslloopdf"],[2,3,1,"","dslloopgsheets"]],"dimcli.utils":[[2,0,0,"-","converters"],[2,0,0,"-","dim_utils"],[2,0,0,"-","misc_utils"]],"dimcli.utils.converters":[[2,2,1,"","DslClinicaltrialsConverter"],[2,2,1,"","DslDataConverter"],[2,2,1,"","DslDatasetsConverter"],[2,2,1,"","DslGrantsConverter"],[2,2,1,"","DslOrganizationsConverter"],[2,2,1,"","DslPatentsConverter"],[2,2,1,"","DslPolicyDocumentsConverter"],[2,2,1,"","DslPubsConverter"],[2,2,1,"","DslReportsConverter"],[2,2,1,"","DslResearchersConverter"],[2,2,1,"","DslSourceTitlesConverter"]],"dimcli.utils.converters.DslDataConverter":[[2,3,1,"","apply_transformations"],[2,3,1,"","convert_abstract_to_preview"],[2,3,1,"","convert_authors_affiliations"],[2,3,1,"","convert_authors_countries"],[2,3,1,"","convert_authors_grids"],[2,3,1,"","convert_authors_to_names"],[2,3,1,"","convert_id_to_url"],[2,3,1,"","convert_interventions_dict"],[2,3,1,"","convert_investigators_cltrials"],[2,3,1,"","extend_transformations"],[2,3,1,"","run"],[2,3,1,"","sort_and_prune"],[2,3,1,"","truncate_for_gsheets"]],"dimcli.utils.dim_utils":[[2,1,1,"","dimensions_search_url"],[2,1,1,"","dimensions_styler"],[2,1,1,"","dimensions_url"],[2,1,1,"","dsl_escape"],[2,1,1,"","dslquery"],[2,1,1,"","dslquery_json"],[2,1,1,"","dslqueryall"],[2,1,1,"","gen_dslqueries"]],"dimcli.utils.misc_utils":[[2,1,1,"","chunks_of"],[2,1,1,"","exists_key_in_dicts_list"],[2,1,1,"","export_as_gsheets"],[2,1,1,"","google_url"],[2,1,1,"","normalize_key"],[2,1,1,"","open_multi_platform"],[2,1,1,"","printDebug"],[2,1,1,"","printInfo"],[2,1,1,"","save2File"],[2,1,1,"","walk_up"]],dimcli:[[2,0,0,"-","__init__"]]},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","property","Python property"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:property"},terms:{"0":[0,2],"000":2,"000000":2,"01055006635":2,"01146544531":2,"011513332561":2,"011535264111":2,"013245":2,"01332073522":[0,1,2],"01343654360":[0,1],"0206":2,"022934":2,"06":2,"062144994735718":2,"062369":2,"070622":2,"0767105504":2,"1":2,"10":2,"100":2,"1000":2,"100000050":2,"11":2,"1117":2,"1120602308":2,"1120715293":2,"1120975084":2,"1127419018":2,"12":2,"123456789qwertyuiop":0,"12641":2,"130":2,"137628":2,"14790980":2,"15":2,"150":1,"185277":2,"19":2,"1tsyrfdesadltwddqjuydwdog81sl9hn3nu8mxvlqddi":2,"2":2,"20":2,"200":2,"2000":2,"2010":2,"2018":2,"2019":2,"2020":2,"203130":2,"20africa":2,"20and":2,"20korea":2,"20south":2,"21":2,"22000":2,"240952":2,"2500":2,"25000":2,"2501114":2,"2544064":2,"2635167":2,"2643743":2,"27000":2,"28":2,"28pub":2,"29":2,"2s":2,"3":2,"30":2,"3000":2,"3177":2,"35000":2,"36":2,"3a":2,"4":2,"400":2,"4000":2,"414":2,"42263946":2,"43":[0,1],"4370267824":2,"4383191536":2,"452719":2,"471721887588501":2,"4724757671356201":2,"4767014816":2,"49":[0,1,2],"499389":2,"5":2,"500":2,"5000":2,"50000":2,"5068159103393555":2,"50k":[0,2],"51":2,"5128581":2,"5128638":2,"5146172046661377":2,"521540880203247":2,"53":2,"5332921":2,"5398563":2,"551920":2,"57":2,"575329065322876":2,"59":[0,1],"5s":2,"6":2,"6000":2,"6252001":2,"626348":2,"6269131":2,"686363":2,"7":2,"7000":2,"7225260734558105":2,"75":[0,1,2],"756862":2,"76":2,"7611980438232422":2,"797738":2,"8":2,"8000":2,"8163":2,"8735":[0,1],"9":2,"920304":2,"abstract":2,"break":2,"case":[0,2],"class":2,"default":[0,2],"do":[0,2],"export":[0,2],"final":2,"float":2,"function":[0,1],"import":[1,2],"int":2,"new":[0,2],"null":2,"public":[0,1,2],"return":[0,1,2],"super":0,"switch":2,"throw":2,"true":2,"try":0,A:[0,2],AND:2,By:[0,2],FOR:[0,2],For:[0,1,2],If:[0,2],In:[1,2],It:[0,2],Its:0,Not:2,OR:2,One:0,Or:[0,2],That:0,The:[0,1,2],Then:0,There:[0,2],These:2,To:2,With:2,_:2,__init__:2,_stat:[0,1,2],_tot_count_prev_queri:2,_version:2,_warn:2,_warnings_tot:2,a1:2,a2:2,a4:2,abl:0,about:[0,2],abov:[0,2],access:[0,1,2],account:0,achiev:2,acronym:2,across:0,activ:2,active_year:0,ad:[0,2],add:[0,2],addit:[1,2],address:2,advanc:1,advatang:2,advis:[0,2],affili:2,affiliation_part:2,africa:2,after:[0,2],against:0,aggreg:1,ai:[0,1,2],aim:0,alan:0,albert:2,alist:0,all:[0,2],allow:[0,1,2],alongsid:0,alpha:2,alreadi:[0,2],also:[0,1,2],altern:2,alwai:[0,2],ambient:2,ambipolar:2,among:2,an:[0,1,2],anaconda:0,analys:1,analyt:0,ani:[0,2],anim:0,anoth:[0,2],ansi:2,apisess:2,app:[0,1,2],appear:2,appli:2,applic:[0,2],apply_transform:2,approach:2,approxim:2,ar:[0,1,2],area:2,argument:[0,2],arm_group_label:2,around:[0,2],arrai:2,as_datafram:2,as_dataframe_author:2,as_dataframe_authors_affili:2,as_dataframe_concept:2,as_dataframe_fund:2,as_dataframe_investig:2,as_df:2,as_dimensions_url:2,as_json:2,asciicinema:0,assess:2,associ:2,assum:2,atom:2,attach:2,attempt:2,attent:2,attribut:0,audi:2,auth:2,auth_sess:2,authent:[1,2],author:2,author_affili:2,authorslist:2,auto:2,autocomplet:0,automat:[0,2],autonom:2,avail:[0,1,2],avoid:2,back:2,backend:2,background:2,backward:2,badli:2,band:2,base:[0,2],basic:2,batch:2,becaus:2,becom:2,been:[0,2],befor:2,behaviour:2,beihai:2,being:[0,2],below:[0,2],better:2,between:[1,2],bg:2,bicocca:2,black:2,blank:0,blink:2,blue:2,boil:2,bold:2,bool:2,both:[0,2],bottom:2,bra:2,brain:2,brand:2,bright:2,broad:2,broken:2,browser:2,bug:1,build:1,build_reviewers_matrix:2,built:2,burnout:2,c1:2,c:[0,2],ca:2,cach:2,calcul:2,california:2,call:[0,1,2],cambridg:2,camel:2,can:[0,1,2],cancer:2,candid:2,cannot:0,car:2,care:2,carri:2,categor:[1,2],categori:2,category_for:2,cell:[0,2],center:2,centimet:2,cert:[],certain:2,certif:2,chang:2,changelog:1,chaoqian:2,charact:2,check:[0,2],chimneysweep:[0,2],china:2,chunk:2,chunks_of:2,circuit:2,citi:2,civic:2,classif:2,classifi:2,classmethod:2,claus:2,clever:2,cli:0,click:2,clickabl:2,client:[0,1,2],clinic:[1,2],clinical_tri:2,code:[0,2],col:2,colab:2,collect:1,colleg:2,colon:2,color:2,colorama:2,coloss:2,cols_subset:2,column:2,com:[0,2],combin:2,command:[1,2],comment:1,common:2,commun:2,compat:2,complex:[1,2],compon:2,compos:2,comput:[0,2],concentr:2,concept:2,concepts_scor:2,conda:0,condit:2,conduct:2,config:[0,2],configur:1,conflict:2,connect:[1,2],connector:2,consol:0,constructor:2,contain:[0,2],content:[0,2],continu:2,conveni:2,convent:2,convert:1,convert_abstract_to_preview:2,convert_authors_affili:2,convert_authors_countri:2,convert_authors_grid:2,convert_authors_to_nam:2,convert_id_to_url:2,convert_interventions_dict:2,convert_investigators_cltri:2,cookbook:2,copi:0,core:1,corolla:2,corona:2,coronaviru:2,correctli:2,correspond:2,count:[0,1,2],count_batch:2,count_tot:2,countri:2,coupl:0,cours:0,cov:2,covid:2,cowman:0,craig:0,creat:[1,2],creation:2,credenti:[1,2],csv:[0,2],curdir:2,current:[0,2],custom:2,cyan:2,d1:2,d2:2,d5047fasad889912hhbajvsad8e8bae17e2:0,d:[0,2],dai:[0,2],data:[0,1,2],datafram:[0,2],dataset:2,defin:[0,2],delimit:2,demonstr:[0,2],depend:[0,2],deprec:2,deriv:2,describ:2,descript:2,design:2,detail:[0,2],determin:2,develop:[1,2],devic:2,df:2,df_final:2,df_temp:2,dial:2,dict:[0,2],dict_list:2,dictionari:2,differ:[0,2],digit:[1,2],dim:2,dim_util:2,dimens:0,dimension:2,dimensions_search_url:2,dimensions_styl:2,dimensions_url:2,direct:[0,2],directli:2,directori:[0,2],disabl:2,discov:2,diseas:2,displai:[0,2],doc:2,document:[0,2],doesn:2,done:0,down:2,download:2,drive:2,drug:2,dsl:[0,1,2],dsl_escap:2,dsl_extract_concept:[0,2],dsl_identify_expert:[0,2],dsl_last_result:2,dslclinicaltrialsconvert:2,dsldataconvert:2,dsldataset:[0,2],dsldatasetsconvert:2,dsldf:[0,2],dsldoc:[0,2],dslgrantsconvert:2,dslgsheet:[0,2],dslloop:[0,2],dslloopdf:[0,2],dslloopgsheet:2,dslmagic:2,dslorganizationsconvert:2,dslpatentsconvert:2,dslpolicydocumentsconvert:2,dslpubsconvert:2,dslqueri:2,dslquery_json:2,dslqueryal:2,dslreportsconvert:2,dslresearchersconvert:2,dslsourcetitlesconvert:2,due:2,duffi:0,dure:2,dynam:2,e:[1,2],each:[0,2],easi:0,easier:[0,2],easiest:[0,2],echo:2,editor:0,ednpoint:[],edward:0,effect:2,eg:[0,2],einstein:2,either:2,electr:2,electrod:2,electron:2,els:2,emb:2,emmet:0,empti:2,en:2,enabl:[0,2],encod:2,end:2,endpoint:[1,2],energi:2,engin:2,england:2,enough:2,ensur:[0,2],entiti:2,entri:0,environ:2,equival:0,err:2,error:[0,2],errors_str:2,escap:2,essenc:2,etc:2,even:2,exact:2,exampl:[0,2],exclud:2,execut:2,exhibit:2,exist:2,exists_key_in_dicts_list:2,expect:[0,2],experiment:2,expert:[0,2],expir:2,explicitli:[0,2],explor:1,export_as_gsheet:2,express:2,extend_transform:2,extra_dsl:2,extract:[0,1,2],extract_affili:2,extract_classif:2,extract_concept:2,extract_gr:2,f:2,facet:0,fail:[0,2],fals:2,fast:2,featur:[0,2],ferreira:0,few:[0,2],fg:2,field:[0,2],fields_map:2,file:[1,2],filenam:2,fill:0,film:2,filter:2,find:[0,2],first:2,first_nam:[0,1,2],fix:2,flag:2,flatten:2,focu:2,folder:0,follow:[0,2],for_first:0,forc:2,ford:2,fore:2,foreground:2,forg:0,form:2,format:2,found:[0,2],fpath:2,francoi:0,frederick:0,frequenc:2,friend:0,from:[0,1,2],from_clinical_trials_list:2,from_grants_list:2,from_organizations_list:2,from_patents_list:2,from_policy_documents_list:2,from_publications_list:2,from_researchers_list:2,full:2,full_search:2,fumihiko:0,funder:[0,2],funder_countri:0,funder_nam:2,funding_org_acronym:0,funding_org_c:0,funding_org_nam:0,fundref:2,futur:2,g:[1,2],gate:2,gb:2,gen_dslqueri:2,gener:[0,2],geo_city_id:2,geo_city_nam:2,geo_country_cod:2,geo_country_id:2,geo_country_nam:2,geo_state_cod:2,geo_state_id:2,geo_state_nam:2,get:[1,2],gist:1,github:[1,2],give:0,global:[0,2],go:2,goal:2,good:0,good_data_kei:2,googl:[0,2],google_url:2,gordon:0,gpread:2,grai:2,grammar:0,grant:[0,1,2],grant_id:2,grant_numb:2,graphen:2,graphit:2,green:2,grep:2,grid:2,grid_citi:2,grid_countri:2,grid_id:2,grid_nam:2,grid_stat:2,group:2,gsheet:2,gspread:2,gspread_datafram:2,guangxi:2,guid:0,h:0,ha:[0,2],handi:0,handl:[0,2],happen:2,have:[0,2],header:0,health:2,hello:2,help:0,helper:[1,2],henc:2,henri:0,here:[0,1],high:2,highli:1,hirai:0,histori:0,hit:0,hoffman:0,hole:2,home:0,homepag:0,honda:2,horii:0,hospit:2,host:0,hostnam:2,how:[0,2],hra:2,hrcs_hc:[0,2],hrcs_rac:[0,2],html:[0,2],http:[0,1,2],huang:2,hydroxychloroquin:2,hyperlink:2,i:2,icrp:2,icrp_cso:2,icrp_ct:2,id:[0,1,2],idd:2,ideal:0,identif:2,identifi:2,identify_expert:2,ie:2,impact:2,implement:2,importantli:0,improv:[0,1],includ:[0,1,2],incur:2,induc:2,infer:2,info:[0,2],inform:[0,1,2],inherit:2,ini:[0,2],init:0,inner:2,input:[0,2],input_data:2,inspect:2,inspir:2,instal:[1,2],instanc:[0,2],instanti:2,instead:2,intent:2,interact:[0,2],interest:2,interfac:[1,2],intern:2,intervent:2,intuit:1,invers:2,investig:2,investigatorslist:2,involv:2,io:2,ipython:[0,2],issu:[0,2],itali:2,item:2,iter:[0,2],iterarion:2,its:0,j:[0,1,2],jianlin:2,john:0,journal:2,json:[0,1,2],jupyt:1,just:[0,2],kaneko:0,kawai:0,kawamoto:0,kazuyuki:0,keep:2,keep_extra_col:2,kei:[0,1,2],kevin:[0,1],key_nam:2,keys_and_count:2,keyword:[0,2],keywords_list_as_str:2,kingdom:2,know:2,korea:2,kw:2,kwarg:2,lab:[0,1,2],lambdamus:2,land:2,languag:[0,1,2],larg:2,last_nam:[0,1,2],latest:[0,2],launch:0,leader:2,learn:[0,2],leav:0,legaci:[0,2],len:2,less:2,let:0,lev:0,level:[0,2],li:2,librari:[0,2],light:2,like:[0,1,2],limit:2,line:[1,2],link:[1,2],linux:2,list:2,live:[0,1,2],ll:0,load:2,load_json_fil:2,local:2,locat:0,log:[0,2],logic:2,login:[0,1],login_statu:2,logout:2,london:2,look:[0,2],loop:2,loui:0,machin:2,maco:2,magenta:2,magic:[0,1],magnitud:2,mai:2,mail:0,main:2,mainli:2,mainstream:2,make:[0,2],makoto:0,malaria:[0,1,2],malcolm:0,mani:2,manual:1,marcelo:0,mari:[0,2],marsh:[0,1],match:[0,2],matrix:2,max_concept:2,maximum:2,maxlimit:2,md:0,mean:2,meant:2,mechan:2,medic:2,medicin:2,memori:2,memristor:2,merg:2,messag:2,metadata:2,metal:2,method:[0,2],metric:2,mg:2,might:2,milano:2,miller:0,million:1,mimic:2,misc_util:2,miscellan:1,miss:2,mkdir:0,mobil:2,mode:2,modul:1,molecul:2,molecular:2,molyneux:0,monocrystallin:2,moon:2,more:[0,1,2],most:0,mostli:2,motomi:0,much:2,multi:2,multilin:2,multipl:[1,2],must:[0,2],mv:2,my:[0,2],my_data:2,mysession1:2,mysession2:2,mystyl:2,n:[0,2],name:[0,2],nan:2,nanni:[0,2],nativ:2,natur:2,ncov:2,necessari:2,need:[0,2],neeed:2,neither:2,new_cols_ordered_list:2,new_dataset:2,new_val:2,newbi:0,newdataset:2,nice:2,nichola:[0,1,2],non:2,none:2,nonetheless:2,nor:2,normal:[0,2],normalize_kei:2,nosten:0,note:[0,2],notebook:[1,2],now:0,number:[0,2],nutshel:1,ny:2,oauth2:2,oauth2client:2,oauth:2,obj:2,obj_id:2,obj_typ:2,object:[0,2],object_typ:2,obsolet:2,obtain:2,off:2,offici:1,offset:2,ok:2,old:2,older:0,omit:2,onc:[0,2],one:[0,2],ones:2,onli:[0,2],ontolog:2,ontospi:2,open:[0,1,2],open_multi_platform:2,oper:2,oppos:2,optim:2,option:[0,2],orang:2,order:[0,2],org:2,organ:2,origin:2,os:2,osamu:0,other:[0,2],other_nam:2,otherwis:2,our:2,out:[0,2],outlin:2,output:2,over:[0,2],overlap:2,overrid:1,own:2,page:2,pagin:[0,2],palletsproject:2,panda:[0,2],paragraph:2,parallel:2,paramet:2,particular:0,pass:[0,2],password:[0,2],past:0,patent:[1,2],path:2,patrick:0,paus:2,pave:2,payload:2,pd:2,pediatrician:2,peopl:2,per:2,perform:2,persist:0,philip:0,physic:2,physicochem:2,pick:[0,2],pip:0,pipe:2,place:[0,2],plai:2,platform:[1,2],pocoo:2,polici:[1,2],policy_docu:2,pop:2,poppin:[0,2],possibl:[0,2],practic:[0,2],preced:0,preexist:2,prerequisit:2,present:0,pretti:0,prevent:2,preview:[0,2],previous:0,price:2,principl:2,print:[0,1,2],printdebug:2,printinfo:2,privat:[0,1],process:[0,2],profession:2,program:0,prompt:0,properti:2,provid:[0,2],ps:2,pub1122068834:2,pub:2,pubs_detail:2,pull:[0,1],purpos:2,put:0,pydata:2,pypi:0,python:[1,2],q:2,qualiti:2,quantum:2,queri:[0,1,2],query_it:2,query_str:2,queryresult:2,question:2,quit:2,quot:2,r01hl117329:2,rai:2,rang:2,rank:2,raw:2,rawdata:2,rcdc:[0,2],re:[0,1],readi:0,readthedoc:2,recommend:1,record:[0,1,2],red:2,refer:1,reformat:2,regener:2,region:2,relev:[0,2],reli:0,reload:2,remark:2,remov:2,render:2,replac:[0,2],report:[1,2],repres:2,represent:2,reproduc:2,request:[0,1,2],requir:2,requires_review:2,research:[0,1,2],research_org:[0,2],research_org_c:0,research_org_countri:0,research_org_nam:0,research_org_state_cod:0,reset:2,reset_al:2,result:[0,2],retri:2,retriev:[1,2],reus:2,revers:2,review:2,rich:2,risk:2,road:2,robust:2,role:2,room:2,round:2,rout:2,row:2,rule:2,run:[0,2],runtim:1,s:[0,2],safe:0,same:[0,2],sar:2,satoru:0,save2fil:2,save:[0,2],scalabl:2,scienc:1,scientif:2,scientometr:2,scope:0,score:2,score_averag:2,script:1,sdg:2,search:[0,1,2],search_field:2,search_text:2,search_typ:2,searchabl:0,secho:2,second:2,secondli:2,secret:[0,2],section:0,see:[0,1,2],select:[0,2],self:2,semant:0,semicolon:2,semimet:2,send:0,separ:2,sequenc:2,server:2,servic:[1,2],session:[0,2],set:[1,2],sever:0,sheet:[0,2],shell:0,shortcut:2,should:[0,2],show_result:2,shuangyong:2,side:2,signific:2,simpl:2,simpler:2,simpli:[0,2],simplifi:[0,2],simul:2,singl:[1,2],situat:[0,2],size:2,skip:2,sleep:2,snippet:[0,2],so:[0,2],solar:2,solv:0,some:[0,2],sort:1,sort_and_prun:2,sourc:[0,1,2],source_typ:2,south:2,space:2,span:2,special:2,specif:[1,2],specifi:[0,2],spectrum:2,split:2,spreadsheet:2,squar:2,ssl:2,stabl:2,stackoverflow:2,standard:2,stanford:2,start:[1,2],start_year:[0,2],stat:2,state:2,statement:2,statu:2,stderr:2,stdout:2,step:2,stephen:0,still:0,store:[0,2],str:2,string:2,stringa:2,strong:2,strongli:0,structur:2,studi:2,stuff:0,style:2,styler:2,subclass:[0,2],subject:2,subsequ:2,suggest:[0,1,2],suitabl:2,supercomput:2,support:[0,1,2],sure:0,surgeon:2,surnam:0,sustain:2,syntax:0,system:[0,2],t:[0,2],tab:0,tabl:2,tag:2,takafumi:0,take:[0,2],tanab:0,technolog:2,temperatur:2,templat:1,term:2,termin:0,test:2,text:[0,1,2],tfacet:0,than:[0,1,2],thei:[0,2],them:[0,2],thi:[0,2],thick:2,thing:2,those:2,through:[0,2],time:[0,2],times_cit:2,tini:2,tip:2,titl:2,title_languag:0,title_link:2,to_gsheet:2,to_json_fil:2,todo:2,token:[1,2],too:[0,2],tool:[0,1,2],toolkit:0,top:2,torii:0,toshihiro:0,total:2,total_count:[0,1],touch:0,toyota:2,tradit:2,tranform:2,transform:[0,2],treatment:2,tree:2,trial:[1,2],trigger:2,trivial:2,truncate_for_gsheet:2,tsuboi:0,ttype:2,tunabl:2,tune:2,tupl:2,turn:2,tutori:[1,2],two:[0,2],type:[0,2],u:0,ultralow:2,under:2,underli:2,underlin:2,uniqu:[0,2],unit:2,univers:2,unix:0,unstructur:2,unsupport:2,until:2,uoa:2,up:[0,2],updat:[0,2],upload:2,upper:2,ur:[0,1,2],urbano:0,uri:2,url:[0,2],us:[1,2],user:[1,2],usernam:[0,2],util:1,v0:2,v1:2,v2:[0,1,2],v:2,valenc:2,valid:[0,2],valu:[0,2],variabl:2,variat:2,variou:2,verbos:2,verif:2,verifi:2,verify_ssl:2,version:[0,2],via:[0,2],video:0,viru:2,visual:[1,2],volt:2,voltag:2,wa:2,wai:[0,2],walk:2,walk_up:2,want:[0,2],warn:2,wataya:0,we:2,web:2,webapp:2,welcom:0,well:2,what:[0,2],when:[0,2],whenev:2,where:[0,2],whether:[0,2],which:[0,2],white:[0,1,2],widget:2,win:2,window:2,within:0,without:2,work:[0,2],workflow:2,world:2,would:2,wrapper:[0,2],wuhan:2,www:2,x:[0,2],year:2,yellow:2,york:2,you:[0,1,2],your:[0,2],yourkeyher:0,yourpasswordher:0,yusuk:0,zhuang:2},titles:["Getting Started with Dimcli","Welcome to DimCli\u2019s documentation!","Modules Reference"],titleterms:{"function":2,"import":0,In:0,about:1,advanc:0,analyt:1,api:[0,1,2],authent:0,bug:0,changelog:0,command:0,comment:0,configur:0,content:1,convert:2,core:2,creat:0,credenti:0,dimcli:[0,1,2],dimens:[1,2],document:1,e:0,endpoint:0,file:0,g:0,get:0,gist:0,github:0,helper:0,instal:0,interfac:0,jupyt:[0,2],line:0,login:2,magic:2,manual:0,miscellan:2,modul:[0,2],multipl:0,notebook:0,nutshel:0,overrid:0,python:0,recommend:0,refer:2,report:0,runtim:0,s:1,script:0,set:0,start:0,token:0,us:0,user:0,util:2,welcom:1}})
\ No newline at end of file