bioversions 0.5.551__py3-none-any.whl → 0.5.553__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.
Files changed (82) hide show
  1. bioversions/__init__.py +7 -3
  2. bioversions/__main__.py +0 -2
  3. bioversions/charts.py +3 -7
  4. bioversions/cli.py +3 -5
  5. bioversions/resources/__init__.py +1 -3
  6. bioversions/resources/update.py +1 -3
  7. bioversions/resources/versions.json +19543 -0
  8. bioversions/slack_client.py +2 -5
  9. bioversions/sources/__init__.py +13 -11
  10. bioversions/sources/antibodyregistry.py +0 -2
  11. bioversions/sources/bigg.py +5 -7
  12. bioversions/sources/biogrid.py +0 -2
  13. bioversions/sources/cellosaurus.py +3 -5
  14. bioversions/sources/chebi.py +1 -3
  15. bioversions/sources/chembl.py +3 -4
  16. bioversions/sources/chemidplus.py +1 -3
  17. bioversions/sources/civic.py +4 -2
  18. bioversions/sources/complexportal.py +0 -2
  19. bioversions/sources/daily.py +0 -2
  20. bioversions/sources/depmap.py +1 -3
  21. bioversions/sources/dgi.py +1 -3
  22. bioversions/sources/disgenet.py +1 -3
  23. bioversions/sources/drugbank.py +2 -4
  24. bioversions/sources/drugcentral.py +2 -4
  25. bioversions/sources/ensembl.py +1 -3
  26. bioversions/sources/expasy.py +0 -3
  27. bioversions/sources/flybase.py +0 -2
  28. bioversions/sources/gtdb.py +35 -0
  29. bioversions/sources/guidetopharmacology.py +3 -5
  30. bioversions/sources/hgnc.py +1 -1
  31. bioversions/sources/homologene.py +0 -2
  32. bioversions/sources/icd10.py +1 -3
  33. bioversions/sources/icd11.py +1 -3
  34. bioversions/sources/icf.py +1 -3
  35. bioversions/sources/intact.py +0 -2
  36. bioversions/sources/interpro.py +1 -3
  37. bioversions/sources/itis.py +1 -3
  38. bioversions/sources/kegg.py +5 -6
  39. bioversions/sources/mesh.py +0 -2
  40. bioversions/sources/mgi.py +0 -2
  41. bioversions/sources/mirbase.py +13 -8
  42. bioversions/sources/moalmanac.py +0 -2
  43. bioversions/sources/msigdb.py +0 -2
  44. bioversions/sources/ncit.py +1 -4
  45. bioversions/sources/npass.py +0 -2
  46. bioversions/sources/obo.py +2 -4
  47. bioversions/sources/ols.py +6 -8
  48. bioversions/sources/omim.py +2 -3
  49. bioversions/sources/oncotree.py +4 -4
  50. bioversions/sources/pathbank.py +0 -2
  51. bioversions/sources/pathwaycommons.py +0 -2
  52. bioversions/sources/pfam.py +0 -2
  53. bioversions/sources/pombase.py +0 -2
  54. bioversions/sources/pr.py +1 -3
  55. bioversions/sources/pubchem.py +0 -2
  56. bioversions/sources/reactome.py +0 -2
  57. bioversions/sources/rfam.py +0 -2
  58. bioversions/sources/rgd.py +0 -2
  59. bioversions/sources/rhea.py +0 -2
  60. bioversions/sources/rxnorm.py +0 -2
  61. bioversions/sources/sgd.py +0 -2
  62. bioversions/sources/slm.py +1 -1
  63. bioversions/sources/stringdb.py +2 -4
  64. bioversions/sources/umls.py +0 -2
  65. bioversions/sources/uniprot.py +1 -3
  66. bioversions/sources/unversioned.py +0 -2
  67. bioversions/sources/wikipathways.py +0 -2
  68. bioversions/sources/zfin.py +0 -2
  69. bioversions/templates/base.html +28 -0
  70. bioversions/templates/home.html +60 -0
  71. bioversions/twitter_client.py +5 -8
  72. bioversions/utils.py +30 -28
  73. bioversions/version.py +3 -5
  74. bioversions/wsgi.py +2 -4
  75. {bioversions-0.5.551.dist-info → bioversions-0.5.553.dist-info}/LICENSE +1 -1
  76. bioversions-0.5.553.dist-info/METADATA +382 -0
  77. bioversions-0.5.553.dist-info/RECORD +81 -0
  78. bioversions-0.5.551.dist-info/METADATA +0 -166
  79. bioversions-0.5.551.dist-info/RECORD +0 -77
  80. {bioversions-0.5.551.dist-info → bioversions-0.5.553.dist-info}/WHEEL +0 -0
  81. {bioversions-0.5.551.dist-info → bioversions-0.5.553.dist-info}/entry_points.txt +0 -0
  82. {bioversions-0.5.551.dist-info → bioversions-0.5.553.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,382 @@
1
+ Metadata-Version: 2.1
2
+ Name: bioversions
3
+ Version: 0.5.553
4
+ Summary: Get the current version for biological databases
5
+ Author-email: Charles Tapley Hoyt <cthoyt@gmail.com>
6
+ Maintainer-email: Charles Tapley Hoyt <cthoyt@gmail.com>
7
+ License: MIT License
8
+
9
+ Copyright (c) 2024 Charles Tapley Hoyt
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+
29
+ Project-URL: Bug Tracker, https://github.com/biopragmatics/bioversions/issues
30
+ Project-URL: Homepage, https://github.com/biopragmatics/bioversions
31
+ Project-URL: Repository, https://github.com/biopragmatics/bioversions.git
32
+ Project-URL: Documentation, https://bioversions.readthedocs.io
33
+ Keywords: snekpack,cookiecutter,databases,biological databases,biomedical databases
34
+ Classifier: Development Status :: 4 - Beta
35
+ Classifier: Environment :: Console
36
+ Classifier: Intended Audience :: Developers
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Operating System :: OS Independent
39
+ Classifier: Framework :: Pytest
40
+ Classifier: Framework :: tox
41
+ Classifier: Framework :: Sphinx
42
+ Classifier: Programming Language :: Python
43
+ Classifier: Programming Language :: Python :: 3.10
44
+ Classifier: Programming Language :: Python :: 3.9
45
+ Classifier: Programming Language :: Python :: 3.11
46
+ Classifier: Programming Language :: Python :: 3.12
47
+ Classifier: Programming Language :: Python :: 3 :: Only
48
+ Requires-Python: >=3.9
49
+ Description-Content-Type: text/markdown
50
+ License-File: LICENSE
51
+ Requires-Dist: requests
52
+ Requires-Dist: requests-ftp
53
+ Requires-Dist: beautifulsoup4
54
+ Requires-Dist: cachier>=2.2.1
55
+ Requires-Dist: pystow>=0.1.0
56
+ Requires-Dist: click
57
+ Requires-Dist: click-default-group
58
+ Requires-Dist: dataclasses-json
59
+ Requires-Dist: tabulate
60
+ Requires-Dist: more-click
61
+ Requires-Dist: pyyaml
62
+ Requires-Dist: tqdm
63
+ Requires-Dist: bioregistry[align]>=0.10.0
64
+ Requires-Dist: lxml
65
+ Requires-Dist: pydantic>=2.0
66
+ Requires-Dist: psycopg2-binary
67
+ Provides-Extra: charts
68
+ Requires-Dist: matplotlib; extra == "charts"
69
+ Requires-Dist: seaborn; extra == "charts"
70
+ Provides-Extra: docs
71
+ Requires-Dist: sphinx>=8; extra == "docs"
72
+ Requires-Dist: sphinx-rtd-theme>=3.0; extra == "docs"
73
+ Requires-Dist: sphinx-click; extra == "docs"
74
+ Requires-Dist: sphinx-automodapi; extra == "docs"
75
+ Provides-Extra: slack
76
+ Requires-Dist: slack-sdk; extra == "slack"
77
+ Provides-Extra: tests
78
+ Requires-Dist: pytest; extra == "tests"
79
+ Requires-Dist: coverage; extra == "tests"
80
+ Provides-Extra: twitter
81
+ Requires-Dist: tweepy; extra == "twitter"
82
+ Provides-Extra: web
83
+ Requires-Dist: flask; extra == "web"
84
+ Requires-Dist: bootstrap-flask; extra == "web"
85
+
86
+ <p align="center">
87
+ <img src="https://github.com/biopragmatics/bioversions/raw/main/docs/source/logo.png" height="150">
88
+ </p>
89
+
90
+ <h1 align="center">
91
+ Bioversions
92
+ </h1>
93
+
94
+ <p align="center">
95
+ <a href="https://github.com/biopragmatics/bioversions/actions/workflows/tests.yml">
96
+ <img alt="Tests" src="https://github.com/biopragmatics/bioversions/actions/workflows/tests.yml/badge.svg" /></a>
97
+ <a href="https://pypi.org/project/bioversions">
98
+ <img alt="PyPI" src="https://img.shields.io/pypi/v/bioversions" /></a>
99
+ <a href="https://pypi.org/project/bioversions">
100
+ <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/bioversions" /></a>
101
+ <a href="https://github.com/biopragmatics/bioversions/blob/main/LICENSE">
102
+ <img alt="PyPI - License" src="https://img.shields.io/pypi/l/bioversions" /></a>
103
+ <a href='https://bioversions.readthedocs.io/en/latest/?badge=latest'>
104
+ <img src='https://readthedocs.org/projects/bioversions/badge/?version=latest' alt='Documentation Status' /></a>
105
+ <a href="https://codecov.io/gh/biopragmatics/bioversions/branch/main">
106
+ <img src="https://codecov.io/gh/biopragmatics/bioversions/branch/main/graph/badge.svg" alt="Codecov status" /></a>
107
+ <a href="https://github.com/cthoyt/cookiecutter-python-package">
108
+ <img alt="Cookiecutter template from @cthoyt" src="https://img.shields.io/badge/Cookiecutter-snekpack-blue" /></a>
109
+ <a href="https://github.com/astral-sh/ruff">
110
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff" style="max-width:100%;"></a>
111
+ <a href="https://github.com/biopragmatics/bioversions/blob/main/.github/CODE_OF_CONDUCT.md">
112
+ <img src="https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg" alt="Contributor Covenant"/></a>
113
+ <a href="https://zenodo.org/badge/latestdoi/318852276">
114
+ <img src="https://zenodo.org/badge/318852276.svg" alt="DOI"></a>
115
+ <a href="https://github.com/biopragmatics/bioregistry">
116
+ <img alt="Powered by the Bioregistry" src="https://img.shields.io/static/v1?label=Powered%20by&message=Bioregistry&color=BA274A&style=flat&logo=image/png;base64,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" /></a>
117
+ </p>
118
+
119
+ What's the current version for each biological database?
120
+
121
+ A daily updated static listing of all current versions (that are incorporated) can be found at
122
+ https://biopragmatics.github.io/bioversions.
123
+
124
+ ## 💪 Getting Started
125
+
126
+ ```python
127
+ import bioversions
128
+
129
+ assert bioversions.get_version('biogrid') == '4.2.192', 'This was true on Dec 5th, 2020!'
130
+
131
+ # If you want more information, use the resolve() function
132
+ bioversion = bioversions.resolve('biogrid')
133
+ assert bioversion.version == '4.2.192'
134
+ ```
135
+
136
+ By default, the results are cached and only refreshed once per day with the help
137
+ of [`cachier`](https://github.com/shaypal5/cachier). The cache is stored in `~/.data/bioversions`. The cache location
138
+ can be overridden by setting the
139
+ `BIOVERSIONS_HOME` environment variable via [`pystow`](https://github.com/cthoyt/pystow).
140
+
141
+ ## 🌐 Web Application
142
+
143
+ While https://biopragmatics.github.io/bioversions provides a daily updated static listing of the database, you can run a
144
+ dynamic version with an API from your shell with:
145
+
146
+ ```bash
147
+ $ bioversions web
148
+ ```
149
+
150
+ Options can be listed with `bioversions web --help`.
151
+
152
+ You can navigate to http://localhost:5000 to see all versions as HTML or programmatically resolve given databases with
153
+ the
154
+ `http://localhost:5000/database/<name>` endpoint like in the following:
155
+
156
+ ```python
157
+ import requests
158
+
159
+ res = requests.get('http://localhost:5000/database/biogrid').json()
160
+ assert res['success']
161
+ assert res['result']['name'] == 'BioGRID'
162
+ assert res['result']['version'] == '4.2.192', 'This was true on Dec 5th, 2020!'
163
+ ```
164
+
165
+ ## CLI Usage
166
+
167
+ You can use `bioversions get` to incorporate the latest versions in your shell scripts or REPL usage like in:
168
+
169
+ ```bash
170
+ $ wget "https://downloads.thebiogrid.org/Download/BioGRID/Release-Archive/BIOGRID-$(bioversions get biogrid)/BIOGRID-ALL-$(bioversions get biogrid).mitab.zip"
171
+ ```
172
+
173
+ ## 🚀 Installation
174
+
175
+ The most recent release can be installed from
176
+ [PyPI](https://pypi.org/project/bioversions/) with:
177
+
178
+ ```console
179
+ python3 -m pip install bioversions
180
+ ```
181
+
182
+ The most recent code and data can be installed directly from GitHub with:
183
+
184
+ ```console
185
+ python3 -m pip install git+https://github.com/biopragmatics/bioversions.git
186
+ ```
187
+
188
+ ## 👐 Contributing
189
+
190
+ Contributions, whether filing an issue, making a pull request, or forking, are appreciated. See
191
+ [CONTRIBUTING.md](https://github.com/biopragmatics/bioversions/blob/master/.github/CONTRIBUTING.md)
192
+ for more information on getting involved.
193
+
194
+ To add more databases to the list, you can create a new submodule of
195
+ `bioversions.sources` and extend the `bioversions.utils.Getter` class to identify the most recent version for your
196
+ target database. See
197
+ `bioversions.sources.biogrid` as an example.
198
+
199
+ ## 👋 Attribution
200
+
201
+ ### ⚖️ License
202
+
203
+ The code in this package is licensed under the MIT License.
204
+
205
+ <!--
206
+ ### 📖 Citation
207
+
208
+ Citation goes here!
209
+ -->
210
+
211
+ ### 🎁 Support
212
+
213
+ The Bioversions service was originally developed by the [INDRA Lab](https://indralab.github.io), a part of the
214
+ [Laboratory of Systems Pharmacology](https://hits.harvard.edu/the-program/laboratory-of-systems-pharmacology/about/)
215
+ and the [Harvard Program in Therapeutic Science (HiTS)](https://hits.harvard.edu)
216
+ at [Harvard Medical School](https://hms.harvard.edu/).
217
+
218
+ ### 💰 Funding
219
+
220
+ The development of this package was partially funded by the DARPA Young Faculty Award W911NF2010255 (PI:
221
+ Benjamin M. Gyori).
222
+
223
+ ### 🍪 Cookiecutter
224
+
225
+ This package was created with [@audreyfeldroy](https://github.com/audreyfeldroy)'s
226
+ [cookiecutter](https://github.com/cookiecutter/cookiecutter) package using [@cthoyt](https://github.com/cthoyt)'s
227
+ [cookiecutter-snekpack](https://github.com/cthoyt/cookiecutter-snekpack) template.
228
+
229
+ ## 🛠️ For Developers
230
+
231
+ <details>
232
+ <summary>See developer instructions</summary>
233
+
234
+ The final section of the README is for if you want to get involved by making a code contribution.
235
+
236
+ ### Development Installation
237
+
238
+ To install in development mode, use the following:
239
+
240
+ ```console
241
+ git clone git+https://github.com/biopragmatics/bioversions.git
242
+ cd bioversions
243
+ python3 -m pip install -e .
244
+ ```
245
+
246
+ ### Updating Package Boilerplate
247
+
248
+ This project uses `cruft` to keep boilerplate (i.e., configuration, contribution guidelines, documentation
249
+ configuration)
250
+ up-to-date with the upstream cookiecutter package. Update with the following:
251
+
252
+ ```console
253
+ python3 -m pip install cruft
254
+ cruft update
255
+ ```
256
+
257
+ More info on Cruft's update command is
258
+ available [here](https://github.com/cruft/cruft?tab=readme-ov-file#updating-a-project).
259
+
260
+ ### 🥼 Testing
261
+
262
+ After cloning the repository and installing `tox` with
263
+ `python3 -m pip install tox tox-uv`,
264
+ the unit tests in the `tests/` folder can be run reproducibly with:
265
+
266
+ ```console
267
+ tox -e py
268
+ ```
269
+
270
+ Additionally, these tests are automatically re-run with each commit in a
271
+ [GitHub Action](https://github.com/biopragmatics/bioversions/actions?query=workflow%3ATests).
272
+
273
+ ### 📖 Building the Documentation
274
+
275
+ The documentation can be built locally using the following:
276
+
277
+ ```console
278
+ git clone git+https://github.com/biopragmatics/bioversions.git
279
+ cd bioversions
280
+ tox -e docs
281
+ open docs/build/html/index.html
282
+ ```
283
+
284
+ The documentation automatically installs the package as well as the `docs`
285
+ extra specified in the [`pyproject.toml`](pyproject.toml). `sphinx` plugins
286
+ like `texext` can be added there. Additionally, they need to be added to the
287
+ `extensions` list in [`docs/source/conf.py`](docs/source/conf.py).
288
+
289
+ The documentation can be deployed to [ReadTheDocs](https://readthedocs.io) using
290
+ [this guide](https://docs.readthedocs.io/en/stable/intro/import-guide.html).
291
+ The [`.readthedocs.yml`](.readthedocs.yml) YAML file contains all the configuration you'll need.
292
+ You can also set up continuous integration on GitHub to check not only that
293
+ Sphinx can build the documentation in an isolated environment (i.e., with `tox -e docs-test`)
294
+ but also that [ReadTheDocs can build it too](https://docs.readthedocs.io/en/stable/pull-requests.html).
295
+
296
+ #### Configuring ReadTheDocs
297
+
298
+ 1. Log in to ReadTheDocs with your GitHub account to install the integration
299
+ at https://readthedocs.org/accounts/login/?next=/dashboard/
300
+ 2. Import your project by navigating to https://readthedocs.org/dashboard/import then clicking the plus icon next to
301
+ your repository
302
+ 3. You can rename the repository on the next screen using a more stylized name (i.e., with spaces and capital letters)
303
+ 4. Click next, and you're good to go!
304
+
305
+ ### 📦 Making a Release
306
+
307
+ #### Configuring Zenodo
308
+
309
+ [Zenodo](https://zenodo.org) is a long-term archival system that assigns a DOI to each release of your package.
310
+
311
+ 1. Log in to Zenodo via GitHub with this link: https://zenodo.org/oauth/login/github/?next=%2F. This brings you to a
312
+ page that lists all of your organizations and asks you to approve installing the Zenodo app on GitHub. Click "grant"
313
+ next to any organizations you want to enable the integration for, then click the big green "approve" button. This
314
+ step only needs to be done once.
315
+ 2. Navigate to https://zenodo.org/account/settings/github/, which lists all of your GitHub repositories (both in your
316
+ username and any organizations you enabled). Click the on/off toggle for any relevant repositories. When you make
317
+ a new repository, you'll have to come back to this
318
+
319
+ After these steps, you're ready to go! After you make "release" on GitHub (steps for this are below), you can navigate
320
+ to https://zenodo.org/account/settings/github/repository/biopragmatics/bioversions
321
+ to see the DOI for the release and link to the Zenodo record for it.
322
+
323
+ #### Registering with the Python Package Index (PyPI)
324
+
325
+ You only have to do the following steps once.
326
+
327
+ 1. Register for an account on the [Python Package Index (PyPI)](https://pypi.org/account/register)
328
+ 2. Navigate to https://pypi.org/manage/account and make sure you have verified your email address. A verification email
329
+ might not have been sent by default, so you might have to click the "options" dropdown next to your address to get to
330
+ the "re-send verification email" button
331
+ 3. 2-Factor authentication is required for PyPI since the end of 2023 (see
332
+ this [blog post from PyPI](https://blog.pypi.org/posts/2023-05-25-securing-pypi-with-2fa/)). This means
333
+ you have to first issue account recovery codes, then set up 2-factor authentication
334
+ 4. Issue an API token from https://pypi.org/manage/account/token
335
+
336
+ #### Configuring your machine's connection to PyPI
337
+
338
+ You have to do the following steps once per machine.
339
+
340
+ ```console
341
+ $ uv tool install keyring
342
+ $ keyring set https://upload.pypi.org/legacy/ __token__
343
+ $ keyring set https://test.pypi.org/legacy/ __token__
344
+ ```
345
+
346
+ Note that this deprecates previous workflows using `.pypirc`.
347
+
348
+ #### Uploading to PyPI
349
+
350
+ After installing the package in development mode and installing
351
+ `tox` with `python3 -m pip install tox tox-uv`,
352
+ run the following from the console:
353
+
354
+ ```console
355
+ tox -e finish
356
+ ```
357
+
358
+ This script does the following:
359
+
360
+ 1. Uses [bump-my-version](https://github.com/callowayproject/bump-my-version) to switch the version number in
361
+ the `pyproject.toml`, `CITATION.cff`, `src/bioversions/version.py`,
362
+ and [`docs/source/conf.py`](docs/source/conf.py) to not have the `-dev` suffix
363
+ 2. Packages the code in both a tar archive and a wheel using
364
+ [`uv build`](https://docs.astral.sh/uv/guides/publish/#building-your-package)
365
+ 3. Uploads to PyPI using [`uv publish`](https://docs.astral.sh/uv/guides/publish/#publishing-your-package).
366
+ 4. Push to GitHub. You'll need to make a release going with the commit where the version was bumped.
367
+ 5. Bump the version to the next patch. If you made big changes and want to bump the version by minor, you can
368
+ use `tox -e bumpversion -- minor` after.
369
+
370
+ #### Releasing on GitHub
371
+
372
+ 1. Navigate
373
+ to https://github.com/biopragmatics/bioversions/releases/new
374
+ to draft a new release
375
+ 2. Click the "Choose a Tag" dropdown and select the tag corresponding to the release you just made
376
+ 3. Click the "Generate Release Notes" button to get a quick outline of recent changes. Modify the title and description
377
+ as you see fit
378
+ 4. Click the big green "Publish Release" button
379
+
380
+ This will trigger Zenodo to assign a DOI to your release as well.
381
+
382
+ </details>
@@ -0,0 +1,81 @@
1
+ bioversions/__init__.py,sha256=JXXSH1eWkPWqXXqs7vqtyNkBWHKqCrANmLVOs3df8s0,194
2
+ bioversions/__main__.py,sha256=TnmQZvX7vgBdyZruaMQUaz2FcuxSiRuCrQ9OHy3pYic,108
3
+ bioversions/charts.py,sha256=3_BcyAAxUp4bBq9UwAEdJBo4MngxnQxvqQs-atRHYzI,2419
4
+ bioversions/cli.py,sha256=k5sPKa-ff8iuuiB7ldRvHPWcZZ0V3szDSMq9zwdIa84,1563
5
+ bioversions/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ bioversions/slack_client.py,sha256=p9HmnyRCVuQvje0RbdDK9QuRlSw__WwFCJ8Be9cIkzM,1209
7
+ bioversions/twitter_client.py,sha256=9d5Am0FSs7_EgGdjkxqpo98vPir9rjIXIxhZMmLgK5Q,1285
8
+ bioversions/utils.py,sha256=rrtu9K2QTqbg_EaSnl83xe3XSssrZeVmsCl4APvI3Qo,10398
9
+ bioversions/version.py,sha256=14xqwBsJGMz8cb5Qtxuklsm8O3xsQedOUt6h2Uhs6Yo,587
10
+ bioversions/wsgi.py,sha256=-F7pUZipcQgj1T_f-9QCZBVdQ9sZBH93x3hxh9h7klU,794
11
+ bioversions/resources/__init__.py,sha256=q6p1gt5COyyIhsifGMBQxiHvQZH5q-SsPAHUQnFUivk,1147
12
+ bioversions/resources/update.py,sha256=5BFypXcJ0rXrQgTyFplB-FqOkzTHUXAYNFtu76dzgOA,3261
13
+ bioversions/resources/versions.json,sha256=ouqBugV3WuFqJ-b11tW8_hvT47-VqhNTCLb8HvEaqsA,475147
14
+ bioversions/sources/__init__.py,sha256=ezGCq9b3yp_YS4nfYJmoC1w23sBn2nhRmGS-5Uli5cI,5983
15
+ bioversions/sources/antibodyregistry.py,sha256=6GF_9v8A_8Y4o6_nsZ9cAOP5vK3ZbPQ5qeL99UefR80,680
16
+ bioversions/sources/bigg.py,sha256=iVrxyvKiEIUXs6FM2AiLDYa-yYDNGMONmiIv_R6KBg4,661
17
+ bioversions/sources/biogrid.py,sha256=FcQA8AIN7TwWdwRQb_r5hUZwh9Ztl13GeGXKXv1Kcag,734
18
+ bioversions/sources/cellosaurus.py,sha256=0XrgZ6reSkM8DzULJtaB3aiBYD0QV3NHULZ-8ZlQ7gE,975
19
+ bioversions/sources/chebi.py,sha256=U7XNu4gQu3kAJ3ZChNl--gHuEvfCWZAuOBrD0_dhVhY,833
20
+ bioversions/sources/chembl.py,sha256=Nc-gFJperByO_iV3tDqkfjWYdFWO9IziJwIte9C2CTI,1513
21
+ bioversions/sources/chemidplus.py,sha256=zJNgW6HUFsWTn9_PYuAfFEnZmShLGve-7gGFaWsjFwI,1194
22
+ bioversions/sources/civic.py,sha256=uczRAS4fI2MnJa2qQxePHAiaPZQ18BTZnyY1bSKTdZY,1032
23
+ bioversions/sources/complexportal.py,sha256=Gt6pgCmhrvXhPXA4gSc07Te_osno9gOMs8gha07_HRk,671
24
+ bioversions/sources/daily.py,sha256=UB_PaJ2bEQNbCCVcIIxbygu2Mfeemo_uPSaPhdB7QDM,256
25
+ bioversions/sources/depmap.py,sha256=ALn7kUsnkC7yAj9cLYmaQjWCm2sg0wRWQ-T76N7qQWg,641
26
+ bioversions/sources/dgi.py,sha256=i2E77eqXm4u638vksv1Tnk0p3szzKdk2yDpyYm2ICLw,940
27
+ bioversions/sources/disgenet.py,sha256=PALIRkPBkT2csrN-Fnn-AZzCc9Z2M2hekE-_FrqE-Lw,739
28
+ bioversions/sources/drugbank.py,sha256=WZwhVFK16CGeLDFCPCxtHHyGeEgwlpbINLm1868fPxY,994
29
+ bioversions/sources/drugcentral.py,sha256=wH2xL-CWpeVP2042CnWm1X-w3YJv2m5FigTw1ht1cLg,1116
30
+ bioversions/sources/ensembl.py,sha256=mUd5_LsI6oSU4a8DJLSam9lkndf6Zfun0VaxZIye2tI,737
31
+ bioversions/sources/expasy.py,sha256=3cRqQS_LiDzwF-hE26abD_FWEVMHa6v3UiTvK-ETRs0,769
32
+ bioversions/sources/flybase.py,sha256=L1qs0OF0OhjdknwV6DfvnnlxP37Z09hjuk-pz1Un2GM,754
33
+ bioversions/sources/gtdb.py,sha256=lbtmSh4uhy6-Ve_slwO-Y7_wHRVySuof1I_rR-FQ05k,1001
34
+ bioversions/sources/guidetopharmacology.py,sha256=WAasA6ZlyqJiqP70VrrCEpi2-JW7UMrUunAuE6pTk_g,1377
35
+ bioversions/sources/hgnc.py,sha256=FPrpdsNRw0sj8GJ-tq6vzh0Zpmp8cKXgZDS8C5HxobU,1183
36
+ bioversions/sources/homologene.py,sha256=TaW0A33PLS4804zrRWZKDmo_zwEzK9bxX_zAiaUmd5w,622
37
+ bioversions/sources/icd10.py,sha256=86zl9yxeUyy3WKgQS55I-1bK-kegH59sZFiwYGKFaAU,703
38
+ bioversions/sources/icd11.py,sha256=a8kpwP6P3-Qowj6fGFFlsbL1ibhaWN48wez_qANiCE0,723
39
+ bioversions/sources/icf.py,sha256=BYAkfmHWtQsMCNUzGpfRiKVnHdpDMymGKLwyevMTwIo,720
40
+ bioversions/sources/intact.py,sha256=BuZ-2n6O7e3HT2PrHHPbBkhmXa54Mj19kmJcdv9PfAU,596
41
+ bioversions/sources/interpro.py,sha256=H6dZI71gUXo7L2YefCTiJD4quQRAvyYh5nDDbh2iuvE,1238
42
+ bioversions/sources/itis.py,sha256=hh5zg61OAJIC76-5pwR5gd9YyWWUy_FY53X9vEAwLIQ,815
43
+ bioversions/sources/kegg.py,sha256=dI7uQpaZh65rZOdutqcXNOkxn3HGwDNzaXyUhxiTdRU,905
44
+ bioversions/sources/mesh.py,sha256=OWt3dOe8OjVxnQ6DBIq2dFRMKTPjwsvygYc6LrBUnPk,782
45
+ bioversions/sources/mgi.py,sha256=TX-V0xcWFmktssjRldjYb591HCtoheY99w0FTH2cIZk,841
46
+ bioversions/sources/mirbase.py,sha256=q3C6-Cy-vELyJCQCnpg4pveoRrlYfqgb4313mHG5Cp4,996
47
+ bioversions/sources/moalmanac.py,sha256=DMotSYD4sGOTZaJgn_iPeUfEdhjlgmzoKKLYS-L6Tro,749
48
+ bioversions/sources/msigdb.py,sha256=honGI0qErm5wsZsr0hwWXiw32D3n5xxH5gX3xUEh3po,778
49
+ bioversions/sources/ncit.py,sha256=6rwzQSCHEIeZ1wt2ymCyfevM64479ngrpBEHxfLc2oc,1015
50
+ bioversions/sources/npass.py,sha256=tRaQJJXQQ5fgVLUaUQRrEUMvN963BGdY1zN__KgE1hY,714
51
+ bioversions/sources/obo.py,sha256=_C5SSmVX_BCAeTpc45isQdUtnRlEZ-V3kuhngj_GtGk,1713
52
+ bioversions/sources/ols.py,sha256=Zet7BQwluY8f00RvDcyu7EVg4IscnrhxNG4UJhwsL8Y,2697
53
+ bioversions/sources/omim.py,sha256=F87kmMIAxeeXCqrILQNz5250v4p4YsBkA6l02SagHis,880
54
+ bioversions/sources/oncotree.py,sha256=abA58H43gA_TtiOBawBZUzPK7elAPYqWIP7lFd6KqO4,1032
55
+ bioversions/sources/pathbank.py,sha256=YgYhBEQY4F09cg7S4BcEEH4mD6l6LDjuDRv1B_e85i8,693
56
+ bioversions/sources/pathwaycommons.py,sha256=98nvLtFDqcHsdVxt2Lu8V5doLfSuOuYhwpgPqA7BZhk,661
57
+ bioversions/sources/pfam.py,sha256=olCaGTFbJSSkl0EB0iFXlMY5su3iWDJEmBlST0w-__g,975
58
+ bioversions/sources/pombase.py,sha256=5lNI3Aqu1fnDUEnF0RfucQOr-HFPYgr7-l4ITt7RyYY,766
59
+ bioversions/sources/pr.py,sha256=bEQOlQV9NbfQJz2cJrwuDexFz-IvVB5EtWRevmb03dY,876
60
+ bioversions/sources/pubchem.py,sha256=V-bzNHnu8JNTIqvemU7-MpL5HHxrsYicVyTJnr19cvk,526
61
+ bioversions/sources/reactome.py,sha256=Eq4uHMdjwyPqq52Q7E9svc6hzZZFtA5tMtk8djMwBvc,596
62
+ bioversions/sources/rfam.py,sha256=PI3jOokguqxnif0HFg2gB1L1JO0lrQRbO0iiRxbtpag,540
63
+ bioversions/sources/rgd.py,sha256=ZPbP17_4gARpmwCDJWDvAz8U8pd-cGhOvvVGtDGgTSM,766
64
+ bioversions/sources/rhea.py,sha256=3csouE-ip2Ug7MEjcD54X_PUvMuTY4r0QtOIP1T71X4,806
65
+ bioversions/sources/rxnorm.py,sha256=uopoJihQEyKC15xqtSk_SZfElmcsphSybajiLuaFYlM,1010
66
+ bioversions/sources/sgd.py,sha256=PgXAvwqlx48QuGnnVHOl0uA0MjuE7Il0jiBV4faYNdA,1084
67
+ bioversions/sources/slm.py,sha256=hP6BsWz4yzzcgX9O1WSCNku0ap068fAcNyYnOybRBtY,766
68
+ bioversions/sources/stringdb.py,sha256=mv2B3STQJGnM5m4kbLb2luSlAbo-fo3Hr_DwIlY6N7I,787
69
+ bioversions/sources/umls.py,sha256=_5z9YxodOYBKKakB222jLmjm4cUm4E4wob6CNZ6hVao,817
70
+ bioversions/sources/uniprot.py,sha256=w-FraPyKZeEtmjsyiP7b2ajg57R_Cmnw-wMvsHLGihs,924
71
+ bioversions/sources/unversioned.py,sha256=wvMow7ylubvQ7eOM6TvVqNHNB5dXkChl9sg8PtBXlPQ,53
72
+ bioversions/sources/wikipathways.py,sha256=STw8Bivc3IZLYIx-KwpxHLUmRTqNfHm0wQywDmi-0ws,798
73
+ bioversions/sources/zfin.py,sha256=3Ooz3lDx8J42OAoyU8eJI-fRnMRiYyUMcj4fDE5DVLQ,683
74
+ bioversions/templates/base.html,sha256=AKB6aT39U9VtOM2zvW_Um5IgYO9Ky-CLpByxy5XXO5M,713
75
+ bioversions/templates/home.html,sha256=z98FSslCRP2K39xbHpSPgk19j7Z21PSbRGAtaXI0Md0,2756
76
+ bioversions-0.5.553.dist-info/LICENSE,sha256=QcgJZKGxlW5BwBNnCBL8VZLVtRvXs81Ch9lJRQSIpJg,1076
77
+ bioversions-0.5.553.dist-info/METADATA,sha256=46PF4DNlOmmkQgDJH_tAG2fgMc7UCHYfpWMie05AiF4,19665
78
+ bioversions-0.5.553.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
79
+ bioversions-0.5.553.dist-info/entry_points.txt,sha256=A3qrS-nvKNZPZWQbYlmsmiDTge524C4yR-arRJwdHls,53
80
+ bioversions-0.5.553.dist-info/top_level.txt,sha256=0QO2OEUMchj5GSlWEFi0cvUpsm4b_uwuuvr6uSEmfY0,12
81
+ bioversions-0.5.553.dist-info/RECORD,,
@@ -1,166 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: bioversions
3
- Version: 0.5.551
4
- Summary: What's the current version for each biological database?
5
- Home-page: https://github.com/biopragmatics/bioversions
6
- Download-URL: https://github.com/biopragmatics/bioversions/releases
7
- Author: Charles Tapley Hoyt
8
- Author-email: cthoyt@gmail.com
9
- Maintainer: Charles Tapley Hoyt
10
- Maintainer-email: cthoyt@gmail.com
11
- License: MIT
12
- Project-URL: Bug Tracker, https://github.com/biopragmatics/bioversions/issues
13
- Keywords: databases,biological databases
14
- Classifier: Development Status :: 4 - Beta
15
- Classifier: Environment :: Console
16
- Classifier: License :: OSI Approved :: MIT License
17
- Classifier: Operating System :: OS Independent
18
- Classifier: Programming Language :: Python
19
- Classifier: Programming Language :: Python :: 3.8
20
- Classifier: Programming Language :: Python :: 3.9
21
- Classifier: Programming Language :: Python :: 3.10
22
- Classifier: Programming Language :: Python :: 3.11
23
- Classifier: Programming Language :: Python :: 3 :: Only
24
- Requires-Python: >=3.8
25
- Description-Content-Type: text/markdown
26
- License-File: LICENSE
27
- Requires-Dist: requests
28
- Requires-Dist: requests-ftp
29
- Requires-Dist: beautifulsoup4
30
- Requires-Dist: cachier>=2.2.1
31
- Requires-Dist: pystow>=0.1.0
32
- Requires-Dist: click
33
- Requires-Dist: click-default-group
34
- Requires-Dist: dataclasses-json
35
- Requires-Dist: tabulate
36
- Requires-Dist: more-click
37
- Requires-Dist: pyyaml
38
- Requires-Dist: tqdm
39
- Requires-Dist: bioregistry[align]>=0.10.0
40
- Requires-Dist: pandas
41
- Requires-Dist: lxml
42
- Requires-Dist: psycopg2-binary
43
- Provides-Extra: charts
44
- Requires-Dist: matplotlib; extra == "charts"
45
- Requires-Dist: seaborn; extra == "charts"
46
- Provides-Extra: slack
47
- Requires-Dist: slack-sdk; extra == "slack"
48
- Provides-Extra: twitter
49
- Requires-Dist: tweepy; extra == "twitter"
50
- Provides-Extra: web
51
- Requires-Dist: flask; extra == "web"
52
- Requires-Dist: bootstrap-flask; extra == "web"
53
-
54
- <p align="center">
55
- <img src="https://github.com/biopragmatics/bioversions/raw/main/docs/source/logo.png" height="150">
56
- </p>
57
-
58
- <h1 align="center">
59
- Bioversions
60
- </h1>
61
-
62
- <p align="center">
63
- <a href="https://pypi.org/project/bioversions">
64
- <img alt="PyPI" src="https://img.shields.io/pypi/v/bioversions" />
65
- </a>
66
- <a href="https://pypi.org/project/bioversions">
67
- <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/bioversions" />
68
- </a>
69
- <a href="https://github.com/biopragmatics/bioversions/blob/main/LICENSE">
70
- <img alt="PyPI - License" src="https://img.shields.io/pypi/l/bioversions" />
71
- </a>
72
- <a href="https://zenodo.org/badge/latestdoi/318852276">
73
- <img src="https://zenodo.org/badge/318852276.svg" alt="DOI" />
74
- </a>
75
- <a href="https://github.com/psf/black">
76
- <img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black">
77
- </a>
78
- <a href="https://github.com/biopragmatics/bioregistry"$>
79
- <img alt="Powered by the Bioregistry" src="https://img.shields.io/static/v1?label=Powered%20by&message=Bioregistry&color=BA274A&style=flat&logo=image/png;base64,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" />
80
- </a>
81
- </p>
82
-
83
- What's the current version for each biological database?
84
-
85
- A daily updated static listing of all current versions (that are incorporated) can be found at
86
- https://biopragmatics.github.io/bioversions.
87
-
88
- ## 🚀 Installation
89
-
90
- ```bash
91
- $ pip install bioversions
92
- ```
93
-
94
- ## 💪 Usage
95
-
96
- ```python
97
- import bioversions
98
-
99
- assert bioversions.get_version('biogrid') == '4.2.192', 'This was true on Dec 5th, 2020!'
100
-
101
- # If you want more information, use the resolve() function
102
- bioversion = bioversions.resolve('biogrid')
103
- assert bioversion.version == '4.2.192'
104
- ```
105
-
106
- By default, the results are cached and only refreshed once per day with the help
107
- of [`cachier`](https://github.com/shaypal5/cachier). The cache is stored in `~/.data/bioversions`. The cache location
108
- can be overridden by setting the
109
- `BIOVERSIONS_HOME` environment variable via [`pystow`](https://github.com/cthoyt/pystow).
110
-
111
- ## 🌐 Web Application
112
-
113
- While https://biopragmatics.github.io/bioversions provides a daily updated static listing of the database, you can run a
114
- dynamic version with an API from your shell with:
115
-
116
- ```bash
117
- $ bioversions web
118
- ```
119
-
120
- Options can be listed with `bioversions web --help`.
121
-
122
- You can navigate to http://localhost:5000 to see all versions as HTML or programmatically resolve given databases with
123
- the
124
- `http://localhost:5000/database/<name>` endpoint like in the following:
125
-
126
- ```python
127
- import requests
128
-
129
- res = requests.get('http://localhost:5000/database/biogrid').json()
130
- assert res['success']
131
- assert res['result']['name'] == 'BioGRID'
132
- assert res['result']['version'] == '4.2.192', 'This was true on Dec 5th, 2020!'
133
- ```
134
-
135
- ## CLI Usage
136
-
137
- You can use `bioversions get` to incorporate the latest versions in your shell scripts or REPL usage like in:
138
-
139
- ```bash
140
- $ wget "https://downloads.thebiogrid.org/Download/BioGRID/Release-Archive/BIOGRID-$(bioversions get biogrid)/BIOGRID-ALL-$(bioversions get biogrid).mitab.zip"
141
- ```
142
-
143
- ## 🙏 Contributing
144
-
145
- To add more databases to the list, you can create a new submodule of
146
- `bioversions.sources` and extend the `bioversions.utils.Getter` class to identify the most recent version for your
147
- target database. See
148
- `bioversions.sources.biogrid` as an example.
149
-
150
- ## 👋 Attribution
151
-
152
- ### ⚖️ License
153
-
154
- Code is licensed under the MIT License.
155
-
156
- ### 🎁 Support
157
-
158
- The Bioversions service was developed by the [INDRA Lab](https://indralab.github.io), a part of the
159
- [Laboratory of Systems Pharmacology](https://hits.harvard.edu/the-program/laboratory-of-systems-pharmacology/about/)
160
- and the [Harvard Program in Therapeutic Science (HiTS)](https://hits.harvard.edu)
161
- at [Harvard Medical School](https://hms.harvard.edu/).
162
-
163
- ### 💰 Funding
164
-
165
- The development of the Bioregistry is funded by the DARPA Young Faculty Award W911NF2010255 (PI:
166
- Benjamin M. Gyori).