bioversions 0.5.319__py3-none-any.whl → 0.5.321__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.
@@ -12,12 +12,12 @@ URL = "https://useast.ensembl.org/index.html"
12
12
 
13
13
 
14
14
  class EnsemblGetter(Getter):
15
- """A getter for DrugBank."""
15
+ """A getter for Ensembl."""
16
16
 
17
17
  bioregistry_id = "ensembl"
18
18
  name = "Ensembl"
19
19
  homepage_fmt = "https://www.ensembl.org"
20
- date_fmt = "%b %Y"
20
+ date_fmt = "%B %Y"
21
21
  version_type = VersionType.sequential
22
22
 
23
23
  def get(self):
@@ -2,9 +2,7 @@
2
2
 
3
3
  """A getter for PomBase."""
4
4
 
5
- import ftplib
6
-
7
- from bioversions.utils import Getter, VersionType
5
+ from bioversions.utils import Getter, VersionType, get_soup
8
6
 
9
7
  __all__ = [
10
8
  "PombaseGetter",
@@ -22,13 +20,12 @@ class PombaseGetter(Getter):
22
20
 
23
21
  def get(self):
24
22
  """Get the latest pombase version number."""
25
- with ftplib.FTP("www.pombase.org") as ftp:
26
- ftp.login()
27
- ftp.cwd("releases")
28
- for name in sorted(ftp.nlst(), reverse=True):
29
- if name.startswith("pombase-"):
30
- return name[len("pombase-") :]
31
- raise ValueError
23
+ soup = get_soup("https://www.pombase.org/data/releases/")
24
+ tr = soup.find_all("tr")[-2]
25
+ text = tr.find_all("td")[1]
26
+ anchor = text.find("a")
27
+ text = anchor.text
28
+ return text[len("pombase-") :].rstrip("/")
32
29
 
33
30
 
34
31
  if __name__ == "__main__":
@@ -3,7 +3,6 @@
3
3
  """A getter for Rhea."""
4
4
 
5
5
  import requests
6
- import requests_ftp
7
6
 
8
7
  from bioversions.utils import Getter, VersionType
9
8
 
@@ -11,9 +10,7 @@ __all__ = [
11
10
  "RheaGetter",
12
11
  ]
13
12
 
14
- requests_ftp.monkeypatch_session()
15
-
16
- VERSION_FILE = "ftp://ftp.expasy.org/databases/rhea/rhea-release.properties"
13
+ VERSION_FILE = "https://ftp.expasy.org/databases/rhea/rhea-release.properties"
17
14
 
18
15
 
19
16
  class RheaGetter(Getter):
@@ -23,8 +23,14 @@ class UMLSGetter(Getter):
23
23
  def get(self) -> datetime:
24
24
  """Get the latest UMLS version number."""
25
25
  soup = get_soup(URL)
26
- raw_version = soup.find("div", {"id": "body"}).find("h2")
27
- return raw_version.text.split()[0]
26
+ version_tag = (
27
+ soup.find("main")
28
+ .find("div", {"class": "grid-row grid-gap-1"})
29
+ .find("div", {"class": "tablet:grid-col-12"})
30
+ .find("h2")
31
+ )
32
+ version = version_tag.text.split()[0]
33
+ return version
28
34
 
29
35
 
30
36
  if __name__ == "__main__":
bioversions/utils.py CHANGED
@@ -47,9 +47,17 @@ def norm(s: str) -> str:
47
47
  return s.lower().replace(" ", "").replace("-", "").replace(".", "")
48
48
 
49
49
 
50
- def get_soup(url: str, verify: bool = True) -> BeautifulSoup:
51
- """Get a beautiful soup parsed version of the given web page."""
52
- res = requests.get(url, verify=verify)
50
+ def get_soup(url: str, verify: bool = True, timeout: Optional[int] = None) -> BeautifulSoup:
51
+ """Get a beautiful soup parsed version of the given web page.
52
+
53
+ :param url: The URL to download and parse with BeautifulSoup
54
+ :param verify: Should SSL be used? This is almost always true,
55
+ except for Ensembl, which makes a big pain
56
+ :param timeout: How many integer seconds to wait for a response?
57
+ Defaults to 15 if none given.
58
+ :returns: A BeautifulSoup object
59
+ """
60
+ res = requests.get(url, verify=verify, timeout=timeout or 15)
53
61
  soup = BeautifulSoup(res.text, features="html.parser")
54
62
  return soup
55
63
 
bioversions/version.py CHANGED
@@ -9,7 +9,7 @@ __all__ = [
9
9
  "VERSION",
10
10
  ]
11
11
 
12
- VERSION = "0.5.319"
12
+ VERSION = "0.5.321"
13
13
 
14
14
 
15
15
  def get_git_hash() -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bioversions
3
- Version: 0.5.319
3
+ Version: 0.5.321
4
4
  Summary: What's the current version for each biological database?
5
5
  Home-page: https://github.com/biopragmatics/bioversions
6
6
  Download-URL: https://github.com/biopragmatics/bioversions/releases
@@ -37,6 +37,7 @@ Requires-Dist: more-click
37
37
  Requires-Dist: pyyaml
38
38
  Requires-Dist: tqdm
39
39
  Requires-Dist: bioregistry[align] >=0.10.0
40
+ Requires-Dist: pandas
40
41
  Requires-Dist: lxml
41
42
  Requires-Dist: psycopg2-binary
42
43
  Provides-Extra: charts
@@ -5,8 +5,8 @@ bioversions/cli.py,sha256=vFwSyuWWFly07g_9hcd_70pwKV7U-OZPqRWhn4FxIjU,1589
5
5
  bioversions/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  bioversions/slack_client.py,sha256=42kl4TbjtXimVRULcBfe8i3pdJLScEPvJr1vw72tv-4,1271
7
7
  bioversions/twitter_client.py,sha256=TQhsdp6avlzoZLoZlndJlwsYhIYI-uabehZJ1W1mNuY,1353
8
- bioversions/utils.py,sha256=I_wZZJjfEXnQjSYGLPo8IIvcorll00KCLwTdgqbxpBY,9712
9
- bioversions/version.py,sha256=MLMpX-W3NdvdejHXfA0r2YLO_6cJioo2yaZWHt8XVAw,645
8
+ bioversions/utils.py,sha256=AZ0h5Pjc8WfuWIaDL9yJiD75JYYxcnr5dKkIIH7JuoM,10099
9
+ bioversions/version.py,sha256=yQzBR3nvaVyuGwWqSmFt9L47S-Qw93zXVGKa-IKgpGk,645
10
10
  bioversions/wsgi.py,sha256=Z1HYFmnrWKNGwHq4R4DRfBuLzAEAAZ5UfHjvJUpnDfs,826
11
11
  bioversions/resources/__init__.py,sha256=0E1yGGT5SztSGEa30Tai4wCUki4nqfynqCSNAvjzEOk,1173
12
12
  bioversions/resources/update.py,sha256=21LprPktMKXdFI7llKjn7gsAQq01TGSKFbWQEhhwDJ0,3215
@@ -25,7 +25,7 @@ bioversions/sources/dgi.py,sha256=2TSzl4XeTUt_I8Keuu51NuuShhhtiITHKMCbp1wf6uo,97
25
25
  bioversions/sources/disgenet.py,sha256=iRd1K2o_m8xSlJrWoSD8-plnTS1nO0Ur_OCCRD2V9u8,752
26
26
  bioversions/sources/drugbank.py,sha256=ZZ2yw34bRcLFT6n_Ygn1daGWk_oVx4A7ovUKSM_EQek,1005
27
27
  bioversions/sources/drugcentral.py,sha256=EWYatYEqZbwjH-0lUXYEfe5P5VNHsNJAtNDlSP_OuZM,1117
28
- bioversions/sources/ensembl.py,sha256=LaAGNxaALDKeh4MmIdSGrdpUZsHNsCwMiyouSnRUvWE,775
28
+ bioversions/sources/ensembl.py,sha256=VySAE7kEeD1Fk6SCSU0t3j4_89u2f5wGF40F-mxInbk,774
29
29
  bioversions/sources/expasy.py,sha256=EQXDz1LJSc0J-BE5Gy5tI-T4e6j4D5jid6c6ajzQjG8,830
30
30
  bioversions/sources/flybase.py,sha256=5S0gI8tULx3sfNVy2O4grvyqIUwI4teS9S6khDh-JzQ,779
31
31
  bioversions/sources/guidetopharmacology.py,sha256=Lw0H0QDCwVMdvXdfIzySNLtP1WO7BANpab6gwPeURwc,1306
@@ -48,25 +48,25 @@ bioversions/sources/oncotree.py,sha256=Z-zZWFeVEfCyZcEMcrdVTcEoHIDfYB-v7oK_iYVSG
48
48
  bioversions/sources/pathbank.py,sha256=_oMfaJs02FBJ6kIWHPW-M2euxAn5ylsGKqseRSJ3m2M,718
49
49
  bioversions/sources/pathwaycommons.py,sha256=lLVmJkf3qDuMk316Aia0CzJyp_-ahAASLupaAuQS9iw,686
50
50
  bioversions/sources/pfam.py,sha256=BAy1NJefxjMNDeUAzjV5sdQyZR_YpEEhgWphAWeZKVw,1000
51
- bioversions/sources/pombase.py,sha256=RtUSeFpmeETFCZjRoCh2ydPIzF7-R7IevU0mD-U7wEE,836
51
+ bioversions/sources/pombase.py,sha256=JGrpBJUZO8ohsXYyUPSCJ5z2XFn3VyA5mDAwgbLRmEc,791
52
52
  bioversions/sources/pr.py,sha256=OoAbpw1PODTatpd7c2cQCY_GbDsZ6ikF2vxJFpdDx2I,899
53
53
  bioversions/sources/pubchem.py,sha256=wF2cx-VzLCobpTeE0KzzTk6_n7-UFjoOsOkf9u9xBFI,551
54
54
  bioversions/sources/reactome.py,sha256=Oy3huY1ihuWmLZqxM92Y44eZQ7DXmVAwGMzTFhqByPg,621
55
55
  bioversions/sources/rfam.py,sha256=sz_9lCGS-h6cTp3d2MCQVRkvlFkjF5mijwj1MfZpRbc,565
56
56
  bioversions/sources/rgd.py,sha256=x7Mks8qp_dE4xWkA7OQu4eM8__oPsr13M-bFd5otcoA,791
57
- bioversions/sources/rhea.py,sha256=ovqsunji0Y_OgocyMuQJYVjdFMFaVt1o1nSL8_boloo,885
57
+ bioversions/sources/rhea.py,sha256=LERbsgy5ZI8Jy5v9r1IXGRBe70_bd8YwBa8a3_uumWg,831
58
58
  bioversions/sources/rxnorm.py,sha256=ocFtWX_xce9U4IeDxgGvZp5x02GETljLyW9oza3tkNw,1027
59
59
  bioversions/sources/sgd.py,sha256=xLZdpA0WBJVIkgwuLmosVpXo9WBeiqCAA8_4taSrLsA,1109
60
60
  bioversions/sources/slm.py,sha256=nttj-mrzwgosK-Vv3UVlyAI0EX1WkJRFBkGmkTnhdU0,709
61
61
  bioversions/sources/stringdb.py,sha256=6D3rcGGzdkgVOw4refJgjsorkyZuPswTYe4rNT4bQRQ,810
62
- bioversions/sources/umls.py,sha256=zLis6zZJi52jACqL7Kbkaru7MxKr5AhblZO2AR1tttM,677
62
+ bioversions/sources/umls.py,sha256=4c9vVTD_eIshX3lzBVRPUGZXuUfvmecj_aVs9OfYV2k,842
63
63
  bioversions/sources/uniprot.py,sha256=_rootal_mrESkiXJh3udfr1UGrlzP7CQQIMsa35tycA,962
64
64
  bioversions/sources/unversioned.py,sha256=noHxGmy9cpVv5xegMHouBF6oCbW6CP1jpOeCVdE7Eak,78
65
65
  bioversions/sources/wikipathways.py,sha256=HTva8vsXRQWU6bia83Et4vveo-QhzJS6dDWeu9Syc6c,823
66
66
  bioversions/sources/zfin.py,sha256=D7csziZ3UsW8dncm6XKA0t3x6XB4cFbG9PTYcT-g2bg,708
67
- bioversions-0.5.319.dist-info/LICENSE,sha256=GzLA83qaovFgoZWRYwaAmY-lkHZyDySJHU-YKE9NdVs,1076
68
- bioversions-0.5.319.dist-info/METADATA,sha256=XxeS7O4chD7k8hsi1xrv24LiB-WCFTy1z7x46VEPRzY,9421
69
- bioversions-0.5.319.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
70
- bioversions-0.5.319.dist-info/entry_points.txt,sha256=A3qrS-nvKNZPZWQbYlmsmiDTge524C4yR-arRJwdHls,53
71
- bioversions-0.5.319.dist-info/top_level.txt,sha256=0QO2OEUMchj5GSlWEFi0cvUpsm4b_uwuuvr6uSEmfY0,12
72
- bioversions-0.5.319.dist-info/RECORD,,
67
+ bioversions-0.5.321.dist-info/LICENSE,sha256=GzLA83qaovFgoZWRYwaAmY-lkHZyDySJHU-YKE9NdVs,1076
68
+ bioversions-0.5.321.dist-info/METADATA,sha256=u8P_JEnbU9TBJD0eo7u0A_lEJA9O9yhTkTH1KhI4cCI,9443
69
+ bioversions-0.5.321.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
70
+ bioversions-0.5.321.dist-info/entry_points.txt,sha256=A3qrS-nvKNZPZWQbYlmsmiDTge524C4yR-arRJwdHls,53
71
+ bioversions-0.5.321.dist-info/top_level.txt,sha256=0QO2OEUMchj5GSlWEFi0cvUpsm4b_uwuuvr6uSEmfY0,12
72
+ bioversions-0.5.321.dist-info/RECORD,,