11import pandas as pd
22import requests
33
4+ from importlib .metadata import version
5+
46from decoupler ._docs import docs
57from decoupler ._download import URL_DBS , _bytes_to_pandas , _download
68from decoupler ._log import _log
@@ -17,7 +19,7 @@ def show_resources() -> pd.DataFrame:
1719
1820 Returns
1921 -------
20- List of available resources to query with `decoupler.op.resource`.
22+ DataFrame of available resources to query with `decoupler.op.resource`.
2123
2224 Example
2325 -------
@@ -27,13 +29,15 @@ def show_resources() -> pd.DataFrame:
2729
2830 dc.op.show_resources()
2931 """
30- ann = pd .read_csv ("https://omnipathdb.org/queries/annotations" , sep = "\t " )
31- ann = ann .set_index ("argument" ).loc ["databases" ].str .split (";" )["values" ]
32- url = "https://omnipathdb.org/resources"
33- response = requests .get (url )
34- lcs = response .json ()
35- df = pd .DataFrame (ann , columns = ["name" ])
36- df ["license" ] = [lcs [a ]["license" ]["purpose" ] if a in lcs else None for a in ann ]
32+ __version__ = version ("decoupler" )
33+ headers = {"User-Agent" : f"decoupler/{ __version__ } (https://github.com/scverse/decoupler)" }
34+ ann_url = 'https://omnipathdb.org/resources'
35+ response = requests .get (ann_url )
36+ data = response .json ()
37+ df = pd .DataFrame (
38+ [(name , info .get ("license" ).get ('purpose' ), info .get ("license" ).get ('sharing' )) for name , info in data .items ()],
39+ columns = ["name" , "license" , 'sharing' ]
40+ )
3741 return df
3842
3943
0 commit comments