bioversions 0.7.40__tar.gz → 0.7.42__tar.gz
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.
- {bioversions-0.7.40 → bioversions-0.7.42}/PKG-INFO +5 -19
- {bioversions-0.7.40 → bioversions-0.7.42}/README.md +4 -10
- {bioversions-0.7.40 → bioversions-0.7.42}/pyproject.toml +54 -8
- bioversions-0.7.42/src/bioversions/__main__.py +6 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/charts.py +10 -10
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/cli.py +7 -7
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/resources/update.py +1 -8
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/resources/versions.json +96 -4
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/slack_client.py +3 -1
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/__init__.py +30 -4
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/biogrid.py +3 -3
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/expasy.py +1 -1
- bioversions-0.7.42/src/bioversions/sources/flybase.py +38 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/guidetopharmacology.py +3 -1
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/kegg.py +7 -4
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/moalmanac.py +4 -3
- bioversions-0.7.42/src/bioversions/sources/ncit.py +33 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/npass.py +4 -2
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/pathbank.py +6 -8
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/pathwaycommons.py +5 -5
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/rxnorm.py +3 -2
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/umls.py +6 -10
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/utils.py +9 -1
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/version.py +2 -1
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/wsgi.py +3 -3
- bioversions-0.7.40/src/bioversions/__main__.py +0 -6
- bioversions-0.7.40/src/bioversions/sources/flybase.py +0 -32
- bioversions-0.7.40/src/bioversions/sources/ncit.py +0 -39
- bioversions-0.7.40/src/bioversions/twitter_client.py +0 -45
- {bioversions-0.7.40 → bioversions-0.7.42}/LICENSE +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/__init__.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/py.typed +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/resources/__init__.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/antibodyregistry.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/bigg.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/cellosaurus.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/chebi.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/chembl.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/chemidplus.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/civic.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/complexportal.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/daily.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/depmap.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/dgi.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/disgenet.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/drugbank.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/drugcentral.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/ensembl.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/gtdb.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/hgnc.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/homologene.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/icd10.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/icd11.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/icf.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/intact.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/interpro.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/itis.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/mesh.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/mgi.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/mirbase.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/msigdb.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/obo.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/ols.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/omim.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/oncotree.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/pfam.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/pombase.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/pr.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/pubchem.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/reactome.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/rfam.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/rgd.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/rhea.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/sgd.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/signor.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/silva.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/slm.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/stringdb.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/uniprot.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/unversioned.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/wikipathways.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/sources/zfin.py +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/templates/base.html +0 -0
- {bioversions-0.7.40 → bioversions-0.7.42}/src/bioversions/templates/home.html +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: bioversions
|
3
|
-
Version: 0.7.
|
3
|
+
Version: 0.7.42
|
4
4
|
Summary: Get the current version for biological databases
|
5
5
|
Keywords: snekpack,cookiecutter,databases,biological databases,biomedical databases
|
6
6
|
Author: Charles Tapley Hoyt
|
@@ -39,13 +39,7 @@ Requires-Dist: pydantic>=2.0
|
|
39
39
|
Requires-Dist: psycopg2-binary
|
40
40
|
Requires-Dist: matplotlib ; extra == 'charts'
|
41
41
|
Requires-Dist: seaborn ; extra == 'charts'
|
42
|
-
Requires-Dist: sphinx>=8 ; extra == 'docs'
|
43
|
-
Requires-Dist: sphinx-rtd-theme>=3.0 ; extra == 'docs'
|
44
|
-
Requires-Dist: sphinx-click ; extra == 'docs'
|
45
|
-
Requires-Dist: sphinx-automodapi ; extra == 'docs'
|
46
42
|
Requires-Dist: slack-sdk ; extra == 'slack'
|
47
|
-
Requires-Dist: pytest ; extra == 'tests'
|
48
|
-
Requires-Dist: coverage[toml] ; extra == 'tests'
|
49
43
|
Requires-Dist: tweepy ; extra == 'twitter'
|
50
44
|
Requires-Dist: flask ; extra == 'web'
|
51
45
|
Requires-Dist: bootstrap-flask ; extra == 'web'
|
@@ -58,9 +52,7 @@ Project-URL: Funding, https://github.com/sponsors/cthoyt
|
|
58
52
|
Project-URL: Homepage, https://github.com/biopragmatics/bioversions
|
59
53
|
Project-URL: Repository, https://github.com/biopragmatics/bioversions.git
|
60
54
|
Provides-Extra: charts
|
61
|
-
Provides-Extra: docs
|
62
55
|
Provides-Extra: slack
|
63
|
-
Provides-Extra: tests
|
64
56
|
Provides-Extra: twitter
|
65
57
|
Provides-Extra: web
|
66
58
|
Description-Content-Type: text/markdown
|
@@ -173,18 +165,15 @@ $ python3 -m pip install bioversions
|
|
173
165
|
The most recent code and data can be installed directly from GitHub with uv:
|
174
166
|
|
175
167
|
```console
|
176
|
-
$ uv
|
168
|
+
$ uv pip install git+https://github.com/biopragmatics/bioversions.git
|
177
169
|
```
|
178
170
|
|
179
171
|
or with pip:
|
180
172
|
|
181
173
|
```console
|
182
|
-
$
|
174
|
+
$ python3 -m pip install git+https://github.com/biopragmatics/bioversions.git
|
183
175
|
```
|
184
176
|
|
185
|
-
Note that this requires setting `UV_PREVIEW` mode enabled until the uv build
|
186
|
-
backend becomes a stable feature.
|
187
|
-
|
188
177
|
## 👐 Contributing
|
189
178
|
|
190
179
|
Contributions, whether filing an issue, making a pull request, or forking, are
|
@@ -247,18 +236,15 @@ To install in development mode, use the following:
|
|
247
236
|
```console
|
248
237
|
$ git clone git+https://github.com/biopragmatics/bioversions.git
|
249
238
|
$ cd bioversions
|
250
|
-
$ uv
|
239
|
+
$ uv pip install -e .
|
251
240
|
```
|
252
241
|
|
253
242
|
Alternatively, install using pip:
|
254
243
|
|
255
244
|
```console
|
256
|
-
$
|
245
|
+
$ python3 -m pip install -e .
|
257
246
|
```
|
258
247
|
|
259
|
-
Note that this requires setting `UV_PREVIEW` mode enabled until the uv build
|
260
|
-
backend becomes a stable feature.
|
261
|
-
|
262
248
|
### Updating Package Boilerplate
|
263
249
|
|
264
250
|
This project uses `cruft` to keep boilerplate (i.e., configuration, contribution
|
@@ -106,18 +106,15 @@ $ python3 -m pip install bioversions
|
|
106
106
|
The most recent code and data can be installed directly from GitHub with uv:
|
107
107
|
|
108
108
|
```console
|
109
|
-
$ uv
|
109
|
+
$ uv pip install git+https://github.com/biopragmatics/bioversions.git
|
110
110
|
```
|
111
111
|
|
112
112
|
or with pip:
|
113
113
|
|
114
114
|
```console
|
115
|
-
$
|
115
|
+
$ python3 -m pip install git+https://github.com/biopragmatics/bioversions.git
|
116
116
|
```
|
117
117
|
|
118
|
-
Note that this requires setting `UV_PREVIEW` mode enabled until the uv build
|
119
|
-
backend becomes a stable feature.
|
120
|
-
|
121
118
|
## 👐 Contributing
|
122
119
|
|
123
120
|
Contributions, whether filing an issue, making a pull request, or forking, are
|
@@ -180,18 +177,15 @@ To install in development mode, use the following:
|
|
180
177
|
```console
|
181
178
|
$ git clone git+https://github.com/biopragmatics/bioversions.git
|
182
179
|
$ cd bioversions
|
183
|
-
$ uv
|
180
|
+
$ uv pip install -e .
|
184
181
|
```
|
185
182
|
|
186
183
|
Alternatively, install using pip:
|
187
184
|
|
188
185
|
```console
|
189
|
-
$
|
186
|
+
$ python3 -m pip install -e .
|
190
187
|
```
|
191
188
|
|
192
|
-
Note that this requires setting `UV_PREVIEW` mode enabled until the uv build
|
193
|
-
backend becomes a stable feature.
|
194
|
-
|
195
189
|
### Updating Package Boilerplate
|
196
190
|
|
197
191
|
This project uses `cruft` to keep boilerplate (i.e., configuration, contribution
|
@@ -1,12 +1,10 @@
|
|
1
1
|
[build-system]
|
2
|
-
requires = ["
|
3
|
-
|
4
|
-
# with the 0.5.0 release. See also https://github.com/astral-sh/uv/issues/3957 for tracking.
|
5
|
-
build-backend = "uv"
|
2
|
+
requires = ["uv_build>=0.6.6,<0.7"]
|
3
|
+
build-backend = "uv_build"
|
6
4
|
|
7
5
|
[project]
|
8
6
|
name = "bioversions"
|
9
|
-
version = "0.7.
|
7
|
+
version = "0.7.42"
|
10
8
|
description = "Get the current version for biological databases"
|
11
9
|
readme = "README.md"
|
12
10
|
authors = [
|
@@ -69,7 +67,8 @@ dependencies = [
|
|
69
67
|
"psycopg2-binary",
|
70
68
|
]
|
71
69
|
|
72
|
-
|
70
|
+
# see https://peps.python.org/pep-0735/ and https://docs.astral.sh/uv/concepts/dependencies/#dependency-groups
|
71
|
+
[dependency-groups]
|
73
72
|
tests = [
|
74
73
|
"pytest",
|
75
74
|
"coverage[toml]",
|
@@ -77,9 +76,53 @@ tests = [
|
|
77
76
|
docs = [
|
78
77
|
"sphinx>=8",
|
79
78
|
"sphinx-rtd-theme>=3.0",
|
80
|
-
"sphinx-click",
|
79
|
+
"sphinx-click",
|
81
80
|
"sphinx_automodapi",
|
82
81
|
]
|
82
|
+
lint = [
|
83
|
+
"ruff",
|
84
|
+
]
|
85
|
+
typing = [
|
86
|
+
{ include-group = "tests" },
|
87
|
+
"mypy",
|
88
|
+
"pydantic",
|
89
|
+
"types-PyYAML",
|
90
|
+
"types-python-dateutil",
|
91
|
+
"types-requests",
|
92
|
+
"types-tabulate",
|
93
|
+
]
|
94
|
+
docs-lint = [
|
95
|
+
{ include-group = "docs" },
|
96
|
+
"doc8",
|
97
|
+
]
|
98
|
+
format-docs = [
|
99
|
+
{ include-group = "docs" },
|
100
|
+
"docstrfmt",
|
101
|
+
]
|
102
|
+
doctests = [
|
103
|
+
"xdoctest",
|
104
|
+
"pygments",
|
105
|
+
]
|
106
|
+
pyroma = [
|
107
|
+
"pyroma",
|
108
|
+
"pygments",
|
109
|
+
]
|
110
|
+
# follow https://github.com/astral-sh/uv/issues/6298 for switching to a uv-based version bump workflow
|
111
|
+
bump = [
|
112
|
+
"bump-my-version",
|
113
|
+
]
|
114
|
+
build = [
|
115
|
+
"uv",
|
116
|
+
"uv-build",
|
117
|
+
]
|
118
|
+
release = [
|
119
|
+
{ include-group = "build" },
|
120
|
+
"uv",
|
121
|
+
"keyring",
|
122
|
+
]
|
123
|
+
|
124
|
+
# see https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#dependencies-optional-dependencies
|
125
|
+
[project.optional-dependencies]
|
83
126
|
slack = [
|
84
127
|
"slack_sdk",
|
85
128
|
]
|
@@ -138,6 +181,9 @@ source = [
|
|
138
181
|
omit = [
|
139
182
|
"tests/*",
|
140
183
|
"docs/*",
|
184
|
+
"src/bioversions/version.py",
|
185
|
+
"src/bioversions/__main__.py",
|
186
|
+
"src/bioversions/cli.py",
|
141
187
|
]
|
142
188
|
|
143
189
|
[tool.coverage.paths]
|
@@ -214,7 +260,7 @@ known-first-party = [
|
|
214
260
|
docstring-code-format = true
|
215
261
|
|
216
262
|
[tool.bumpversion]
|
217
|
-
current_version = "0.7.
|
263
|
+
current_version = "0.7.42"
|
218
264
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(?:-(?P<release>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+(?P<build>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?"
|
219
265
|
serialize = [
|
220
266
|
"{major}.{minor}.{patch}-{release}+{build}",
|
@@ -13,13 +13,13 @@ from bioversions.utils import IMG, VersionType
|
|
13
13
|
sns.set(style="whitegrid")
|
14
14
|
|
15
15
|
|
16
|
-
def version_types_pie_chart():
|
16
|
+
def version_types_pie_chart() -> None:
|
17
17
|
"""Make a pie chart with types of versions."""
|
18
|
-
|
18
|
+
counter = Counter(
|
19
19
|
"Missing" if getter.version_type is None else getter.version_type.value
|
20
20
|
for getter in get_getters()
|
21
21
|
)
|
22
|
-
labels, counts = zip(*
|
22
|
+
labels, counts = zip(*counter.most_common(), strict=False)
|
23
23
|
fig, ax = plt.subplots()
|
24
24
|
ax.pie(
|
25
25
|
counts,
|
@@ -34,14 +34,14 @@ def version_types_pie_chart():
|
|
34
34
|
plt.close(fig)
|
35
35
|
|
36
36
|
|
37
|
-
def verioning_date_formats_pie_chart():
|
37
|
+
def verioning_date_formats_pie_chart() -> None:
|
38
38
|
"""Make a pie chart with types of date/month versions."""
|
39
|
-
|
39
|
+
counter = Counter(
|
40
40
|
getter.date_version_fmt
|
41
41
|
for getter in get_getters()
|
42
42
|
if getter.version_type in {VersionType.date, VersionType.month}
|
43
43
|
)
|
44
|
-
labels, counts = zip(*
|
44
|
+
labels, counts = zip(*counter.most_common(), strict=False)
|
45
45
|
fig, ax = plt.subplots()
|
46
46
|
ax.pie(
|
47
47
|
counts,
|
@@ -56,14 +56,14 @@ def verioning_date_formats_pie_chart():
|
|
56
56
|
plt.close(fig)
|
57
57
|
|
58
58
|
|
59
|
-
def has_release_url():
|
59
|
+
def has_release_url() -> None:
|
60
60
|
"""Make a pie chart for how many have a release URL."""
|
61
|
-
|
61
|
+
counter = Counter(
|
62
62
|
"Has Stable Version URL" if getter.homepage_fmt is not None else "No Stable Version URL"
|
63
63
|
for getter in get_getters()
|
64
64
|
if getter.version_type != VersionType.unversioned
|
65
65
|
)
|
66
|
-
labels, counts = zip(*
|
66
|
+
labels, counts = zip(*counter.most_common(), strict=False)
|
67
67
|
fig, ax = plt.subplots()
|
68
68
|
ax.pie(
|
69
69
|
counts,
|
@@ -79,7 +79,7 @@ def has_release_url():
|
|
79
79
|
|
80
80
|
|
81
81
|
@click.command()
|
82
|
-
def charts():
|
82
|
+
def charts() -> None:
|
83
83
|
"""Generate charts for bioversions."""
|
84
84
|
version_types_pie_chart()
|
85
85
|
verioning_date_formats_pie_chart()
|
@@ -1,4 +1,4 @@
|
|
1
|
-
"""Command line interface for bioversions
|
1
|
+
"""Command line interface for :mod:`bioversions`."""
|
2
2
|
|
3
3
|
import click
|
4
4
|
from click_default_group import DefaultGroup
|
@@ -10,7 +10,7 @@ from bioversions.resources.update import update
|
|
10
10
|
|
11
11
|
@click.group(cls=DefaultGroup, default="web", default_if_no_args=True)
|
12
12
|
@click.version_option()
|
13
|
-
def main():
|
13
|
+
def main() -> None:
|
14
14
|
"""The bioversions CLI.""" # noqa:D401
|
15
15
|
|
16
16
|
|
@@ -25,19 +25,19 @@ web = make_web_command(
|
|
25
25
|
)
|
26
26
|
|
27
27
|
|
28
|
-
@main.command()
|
28
|
+
@main.command() # type:ignore
|
29
29
|
@click.argument("key")
|
30
|
-
@verbose_option
|
31
|
-
def get(key: str):
|
30
|
+
@verbose_option # type:ignore
|
31
|
+
def get(key: str) -> None:
|
32
32
|
"""Print the version."""
|
33
33
|
from . import get_version
|
34
34
|
|
35
35
|
click.echo(get_version(key))
|
36
36
|
|
37
37
|
|
38
|
-
@main.command()
|
38
|
+
@main.command() # type:ignore
|
39
39
|
@click.option("--terse", "-t", is_flag=True)
|
40
|
-
def ls(terse: bool):
|
40
|
+
def ls(terse: bool) -> None:
|
41
41
|
"""List versions."""
|
42
42
|
from . import get_rows
|
43
43
|
|
@@ -29,7 +29,7 @@ def _get_clean_dict(d):
|
|
29
29
|
|
30
30
|
@click.command()
|
31
31
|
@click.option("--force", is_flag=True)
|
32
|
-
def update(force: bool):
|
32
|
+
def update(force: bool) -> None:
|
33
33
|
"""Update the data file."""
|
34
34
|
with logging_redirect_tqdm():
|
35
35
|
_update(force=force)
|
@@ -123,13 +123,6 @@ def _log_update(bv) -> None:
|
|
123
123
|
else:
|
124
124
|
slack_client.post(text)
|
125
125
|
|
126
|
-
try:
|
127
|
-
from .. import twitter_client
|
128
|
-
except ImportError:
|
129
|
-
pass
|
130
|
-
else:
|
131
|
-
twitter_client.post(text)
|
132
|
-
|
133
126
|
|
134
127
|
if __name__ == "__main__":
|
135
128
|
update()
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"annotations": {
|
3
|
-
"revision":
|
4
|
-
"date": "2025-03-
|
3
|
+
"revision": 943,
|
4
|
+
"date": "2025-03-21",
|
5
5
|
"author": "runner"
|
6
6
|
},
|
7
7
|
"database": [
|
@@ -334,6 +334,16 @@
|
|
334
334
|
"retrieved": "2025-03-05",
|
335
335
|
"version": "2025-03-05",
|
336
336
|
"homepage": "https://antibodyregistry.org/"
|
337
|
+
},
|
338
|
+
{
|
339
|
+
"retrieved": "2025-03-20",
|
340
|
+
"version": "2025-03-19",
|
341
|
+
"homepage": "https://antibodyregistry.org/"
|
342
|
+
},
|
343
|
+
{
|
344
|
+
"retrieved": "2025-03-21",
|
345
|
+
"version": "2025-03-20",
|
346
|
+
"homepage": "https://antibodyregistry.org/"
|
337
347
|
}
|
338
348
|
],
|
339
349
|
"name": "Antibody Registry",
|
@@ -2190,6 +2200,10 @@
|
|
2190
2200
|
{
|
2191
2201
|
"retrieved": "2025-02-27",
|
2192
2202
|
"version": "2.238"
|
2203
|
+
},
|
2204
|
+
{
|
2205
|
+
"retrieved": "2025-03-20",
|
2206
|
+
"version": "2.239"
|
2193
2207
|
}
|
2194
2208
|
],
|
2195
2209
|
"vtype": "date"
|
@@ -4095,7 +4109,7 @@
|
|
4095
4109
|
},
|
4096
4110
|
{
|
4097
4111
|
"name": "ExPASy",
|
4098
|
-
"prefix": "
|
4112
|
+
"prefix": "ec",
|
4099
4113
|
"releases": [
|
4100
4114
|
{
|
4101
4115
|
"retrieved": "2021-01-02",
|
@@ -4342,6 +4356,10 @@
|
|
4342
4356
|
{
|
4343
4357
|
"retrieved": "2025-02-27",
|
4344
4358
|
"version": "4.195"
|
4359
|
+
},
|
4360
|
+
{
|
4361
|
+
"retrieved": "2025-03-20",
|
4362
|
+
"version": "4.196"
|
4345
4363
|
}
|
4346
4364
|
],
|
4347
4365
|
"vtype": "date"
|
@@ -4853,6 +4871,10 @@
|
|
4853
4871
|
{
|
4854
4872
|
"retrieved": "2025-01-28",
|
4855
4873
|
"version": "2025-01-14"
|
4874
|
+
},
|
4875
|
+
{
|
4876
|
+
"retrieved": "2025-03-20",
|
4877
|
+
"version": "2025-02-28"
|
4856
4878
|
}
|
4857
4879
|
],
|
4858
4880
|
"vtype": "date"
|
@@ -4988,7 +5010,7 @@
|
|
4988
5010
|
],
|
4989
5011
|
"name": "FlyBase",
|
4990
5012
|
"prefix": "flybase",
|
4991
|
-
"vtype": "
|
5013
|
+
"vtype": "month"
|
4992
5014
|
},
|
4993
5015
|
{
|
4994
5016
|
"releases": [
|
@@ -5909,6 +5931,11 @@
|
|
5909
5931
|
"retrieved": "2025-02-12",
|
5910
5932
|
"version": "2025-02-04",
|
5911
5933
|
"homepage": "https://storage.googleapis.com/public-download-files/hgnc/archive/archive/monthly/json/hgnc_complete_set_2025-02-04.json"
|
5934
|
+
},
|
5935
|
+
{
|
5936
|
+
"retrieved": "2025-03-20",
|
5937
|
+
"version": "2025-03-04",
|
5938
|
+
"homepage": "https://storage.googleapis.com/public-download-files/hgnc/archive/archive/monthly/json/hgnc_complete_set_2025-03-04.json"
|
5912
5939
|
}
|
5913
5940
|
],
|
5914
5941
|
"name": "HGNC",
|
@@ -5999,6 +6026,10 @@
|
|
5999
6026
|
{
|
6000
6027
|
"retrieved": "2024-09-01",
|
6001
6028
|
"version": "2024-08-19"
|
6029
|
+
},
|
6030
|
+
{
|
6031
|
+
"retrieved": "2025-03-20",
|
6032
|
+
"version": "2025-02-24"
|
6002
6033
|
}
|
6003
6034
|
],
|
6004
6035
|
"vtype": "semver"
|
@@ -7231,6 +7262,10 @@
|
|
7231
7262
|
{
|
7232
7263
|
"retrieved": "2025-02-27",
|
7233
7264
|
"version": "4.1.190"
|
7265
|
+
},
|
7266
|
+
{
|
7267
|
+
"retrieved": "2025-03-20",
|
7268
|
+
"version": "4.1.191"
|
7234
7269
|
}
|
7235
7270
|
],
|
7236
7271
|
"name": "Mass spectrometry ontology",
|
@@ -7928,6 +7963,12 @@
|
|
7928
7963
|
"version": "2025-02-07",
|
7929
7964
|
"homepage": "https://github.com/vanallenlab/moalmanac-db/releases/tag/v.2025-02-07",
|
7930
7965
|
"date": "2025-02-07"
|
7966
|
+
},
|
7967
|
+
{
|
7968
|
+
"retrieved": "2025-03-20",
|
7969
|
+
"version": "2025-03-06",
|
7970
|
+
"homepage": "https://github.com/vanallenlab/moalmanac-db/releases/tag/v.2025-03-06",
|
7971
|
+
"date": "2025-03-06"
|
7931
7972
|
}
|
7932
7973
|
],
|
7933
7974
|
"name": "Molecular Oncology Almanac",
|
@@ -8529,6 +8570,11 @@
|
|
8529
8570
|
"retrieved": "2024-12-12",
|
8530
8571
|
"version": "24.11d",
|
8531
8572
|
"date": "2024-11-25"
|
8573
|
+
},
|
8574
|
+
{
|
8575
|
+
"retrieved": "2025-03-20",
|
8576
|
+
"version": "25.03c",
|
8577
|
+
"date": "2025-03-17"
|
8532
8578
|
}
|
8533
8579
|
],
|
8534
8580
|
"name": "National Cancer Institute Thesaurus",
|
@@ -9899,6 +9945,14 @@
|
|
9899
9945
|
{
|
9900
9946
|
"retrieved": "2025-03-06",
|
9901
9947
|
"version": "2025-03-04"
|
9948
|
+
},
|
9949
|
+
{
|
9950
|
+
"retrieved": "2025-03-20",
|
9951
|
+
"version": "2025-03-18"
|
9952
|
+
},
|
9953
|
+
{
|
9954
|
+
"retrieved": "2025-03-21",
|
9955
|
+
"version": "2025-03-19"
|
9902
9956
|
}
|
9903
9957
|
],
|
9904
9958
|
"name": "Online Mendelian Inheritance in Man",
|
@@ -10753,6 +10807,10 @@
|
|
10753
10807
|
{
|
10754
10808
|
"retrieved": "2025-02-27",
|
10755
10809
|
"version": "2.0.58"
|
10810
|
+
},
|
10811
|
+
{
|
10812
|
+
"retrieved": "2025-03-20",
|
10813
|
+
"version": "2.0.59"
|
10756
10814
|
}
|
10757
10815
|
],
|
10758
10816
|
"name": "Ontology of units of Measure",
|
@@ -12537,6 +12595,10 @@
|
|
12537
12595
|
{
|
12538
12596
|
"retrieved": "2025-03-04",
|
12539
12597
|
"version": "2025-02-28"
|
12598
|
+
},
|
12599
|
+
{
|
12600
|
+
"retrieved": "2025-03-20",
|
12601
|
+
"version": "2025-03-14"
|
12540
12602
|
}
|
12541
12603
|
],
|
12542
12604
|
"name": "Rat Genome Database",
|
@@ -12642,6 +12704,10 @@
|
|
12642
12704
|
{
|
12643
12705
|
"retrieved": "2025-02-27",
|
12644
12706
|
"version": "6.242"
|
12707
|
+
},
|
12708
|
+
{
|
12709
|
+
"retrieved": "2025-03-20",
|
12710
|
+
"version": "6.243"
|
12645
12711
|
}
|
12646
12712
|
],
|
12647
12713
|
"vtype": "date"
|
@@ -16109,6 +16175,14 @@
|
|
16109
16175
|
{
|
16110
16176
|
"retrieved": "2025-03-06",
|
16111
16177
|
"version": "2025-03-06"
|
16178
|
+
},
|
16179
|
+
{
|
16180
|
+
"retrieved": "2025-03-20",
|
16181
|
+
"version": "2025-03-20"
|
16182
|
+
},
|
16183
|
+
{
|
16184
|
+
"retrieved": "2025-03-21",
|
16185
|
+
"version": "2025-03-21"
|
16112
16186
|
}
|
16113
16187
|
],
|
16114
16188
|
"name": "SwissLipids",
|
@@ -16604,6 +16678,10 @@
|
|
16604
16678
|
{
|
16605
16679
|
"retrieved": "2025-02-27",
|
16606
16680
|
"version": "2025-02-22"
|
16681
|
+
},
|
16682
|
+
{
|
16683
|
+
"retrieved": "2025-03-20",
|
16684
|
+
"version": "2025-02-23"
|
16607
16685
|
}
|
16608
16686
|
],
|
16609
16687
|
"name": "The Statistical Methods Ontology",
|
@@ -17197,6 +17275,10 @@
|
|
17197
17275
|
{
|
17198
17276
|
"retrieved": "2025-01-05",
|
17199
17277
|
"version": "2024-12-29"
|
17278
|
+
},
|
17279
|
+
{
|
17280
|
+
"retrieved": "2025-03-20",
|
17281
|
+
"version": "2025-02-26"
|
17200
17282
|
}
|
17201
17283
|
],
|
17202
17284
|
"vtype": "semver"
|
@@ -17732,6 +17814,12 @@
|
|
17732
17814
|
"version": "20250210",
|
17733
17815
|
"homepage": "http://data.wikipathways.org/20250210/",
|
17734
17816
|
"date": "2025-02-10"
|
17817
|
+
},
|
17818
|
+
{
|
17819
|
+
"retrieved": "2025-03-20",
|
17820
|
+
"version": "20250310",
|
17821
|
+
"homepage": "http://data.wikipathways.org/20250310/",
|
17822
|
+
"date": "2025-03-10"
|
17735
17823
|
}
|
17736
17824
|
],
|
17737
17825
|
"vtype": "date"
|
@@ -21431,6 +21519,10 @@
|
|
21431
21519
|
{
|
21432
21520
|
"retrieved": "2025-03-06",
|
21433
21521
|
"version": "2025-03-04"
|
21522
|
+
},
|
21523
|
+
{
|
21524
|
+
"retrieved": "2025-03-20",
|
21525
|
+
"version": "2025-03-19"
|
21434
21526
|
}
|
21435
21527
|
],
|
21436
21528
|
"name": "Zebrafish Information Network",
|
@@ -6,6 +6,7 @@ from functools import lru_cache
|
|
6
6
|
import pystow
|
7
7
|
from slack_sdk import WebClient
|
8
8
|
from slack_sdk.errors import SlackApiError
|
9
|
+
from slack_sdk.web import SlackResponse
|
9
10
|
|
10
11
|
__all__ = [
|
11
12
|
"post",
|
@@ -22,7 +23,7 @@ def _get_client(token: str | None = None) -> WebClient | None:
|
|
22
23
|
return WebClient(token=token)
|
23
24
|
|
24
25
|
|
25
|
-
def post(text: str, channel: str = "random", token: str | None = None):
|
26
|
+
def post(text: str, channel: str = "random", token: str | None = None) -> SlackResponse | None:
|
26
27
|
"""Post the message to a given Slack channel."""
|
27
28
|
client = _get_client(token)
|
28
29
|
if client is None:
|
@@ -40,6 +41,7 @@ def post(text: str, channel: str = "random", token: str | None = None):
|
|
40
41
|
if not e.response["ok"]:
|
41
42
|
raise ValueError('Response is not "ok"') from e
|
42
43
|
logger.warning(f"Got an error: {e.response['error']}")
|
44
|
+
return None
|
43
45
|
else:
|
44
46
|
return response
|
45
47
|
|
@@ -7,7 +7,7 @@ import logging
|
|
7
7
|
import traceback
|
8
8
|
from collections.abc import Iterable, Mapping
|
9
9
|
from functools import lru_cache
|
10
|
-
from typing import NamedTuple
|
10
|
+
from typing import Literal, NamedTuple, overload
|
11
11
|
|
12
12
|
from tqdm import tqdm
|
13
13
|
|
@@ -186,9 +186,35 @@ def _resolve_helper(name: str) -> Bioversion:
|
|
186
186
|
return getter.resolve()
|
187
187
|
|
188
188
|
|
189
|
-
|
190
|
-
|
191
|
-
|
189
|
+
# docstr-coverage:excused `overload`
|
190
|
+
@overload
|
191
|
+
def get_version(name: str, *, strict: Literal[True] = True) -> str: ...
|
192
|
+
|
193
|
+
|
194
|
+
# docstr-coverage:excused `overload`
|
195
|
+
@overload
|
196
|
+
def get_version(name: str, *, strict: Literal[False] = False) -> str | None: ...
|
197
|
+
|
198
|
+
|
199
|
+
def get_version(name: str, *, strict: bool = True) -> str | None:
|
200
|
+
"""Resolve a database name to its version string.
|
201
|
+
|
202
|
+
:param name:
|
203
|
+
The name of the resource to get the version from. Often, this is a Bioregistry
|
204
|
+
prefix, but sometimes can be an ad-hoc key for a database.
|
205
|
+
:param strict:
|
206
|
+
Re-raises errors in version resolution by default. Set explicitly to
|
207
|
+
``false`` to return None on errors.
|
208
|
+
:return: The version of the resource as a string
|
209
|
+
"""
|
210
|
+
try:
|
211
|
+
rv = resolve(name).version
|
212
|
+
except Exception:
|
213
|
+
if strict:
|
214
|
+
raise
|
215
|
+
return None
|
216
|
+
else:
|
217
|
+
return rv
|
192
218
|
|
193
219
|
|
194
220
|
def get_rows(use_tqdm: bool | None = False) -> list[Bioversion]:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"""A getter for BioGRID."""
|
2
2
|
|
3
|
-
from ..utils import Getter, VersionType, get_soup
|
3
|
+
from ..utils import Getter, VersionType, find, get_soup
|
4
4
|
|
5
5
|
__all__ = [
|
6
6
|
"BioGRIDGetter",
|
@@ -20,8 +20,8 @@ class BioGRIDGetter(Getter):
|
|
20
20
|
def get(self) -> str:
|
21
21
|
"""Get the latest BioGRID version number."""
|
22
22
|
soup = get_soup(URL)
|
23
|
-
manifest =
|
24
|
-
header =
|
23
|
+
manifest = find(soup, id="manifestDesc")
|
24
|
+
header = find(manifest, "h2")
|
25
25
|
return header.text[len("BioGRID Release ") :]
|
26
26
|
|
27
27
|
|