File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -63,7 +63,7 @@ dependencies = [
6363 " more_click" ,
6464 " pyyaml" ,
6565 " tqdm" ,
66- " bioregistry[align]>=0.10.0 " ,
66+ " bioregistry[align]>=0.11.35 " ,
6767 " lxml" ,
6868 " pydantic>=2.0" ,
6969 " psycopg2-binary" ,
Original file line number Diff line number Diff line change 6464from .rxnorm import RxNormGetter
6565from .sgd import SgdGetter
6666from .signor import SignorGetter
67+ from .silva import SILVAGetter
6768from .slm import SwissLipidGetter
6869from .stringdb import StringDBGetter
6970from .umls import UMLSGetter
@@ -142,6 +143,7 @@ def get_getters() -> list[type[Getter]]:
142143 ICD11Getter ,
143144 CiVICGetter ,
144145 GTDBGetter ,
146+ SILVAGetter ,
145147 SignorGetter ,
146148 ]
147149 getters .extend (iter_obo_getters ())
Original file line number Diff line number Diff line change 1+ """A getter for SILVA."""
2+
3+ from datetime import datetime
4+
5+ import requests
6+
7+ from bioversions .utils import Getter , VersionType
8+
9+ __all__ = [
10+ "SILVAGetter" ,
11+ ]
12+
13+ URL = "https://www.arb-silva.de/fileadmin/silva_databases/current/VERSION.txt"
14+ HEADER_FMT = "%a, %d %b %Y %H:%M:%S %Z"
15+
16+
17+ class SILVAGetter (Getter ):
18+ """A getter for the SILVA."""
19+
20+ bioregistry_id = "silva.taxon"
21+ name = "SILVA ribosomal RNA database"
22+ version_type = VersionType .sequential
23+ homepage_fmt = "https://www.arb-silva.de/"
24+
25+ def get (self ):
26+ """Get the latest SILVA version number from VERSION.txt."""
27+ res = requests .get (URL , timeout = 15 )
28+
29+ # Get version from the content
30+ rv = {"version" : res .text .strip ()}
31+
32+ # Get date from the Last-Modified header
33+ date_str = res .headers .get ("Last-Modified" )
34+ if date_str :
35+ rv ["date" ] = datetime .strptime (date_str , HEADER_FMT )
36+
37+ return rv
38+
39+
40+ if __name__ == "__main__" :
41+ SILVAGetter .print ()
You can’t perform that action at this time.
0 commit comments