Metadata-Version: 2.1
Name: bioversions
Version: 0.0.2
Summary: What's the current version for each biological database?
Home-page: https://github.com/cthoyt/bioversions
Author: Charles Tapley Hoyt
Author-email: cthoyt@gmail.com
Maintainer: Charles Tapley Hoyt
Maintainer-email: cthoyt@gmail.com
License: MIT
Download-URL: https://github.com/cthoyt/bioversions/releases
Project-URL: Bug Tracker, https://github.com/cthoyt/bioversions/issues
Keywords: databases,biological databases,biomedical databases
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: flask
Requires-Dist: flask-bootstrap
Requires-Dist: requests
Requires-Dist: beautifulsoup4
Requires-Dist: cachier
Requires-Dist: pystow
Requires-Dist: click
Requires-Dist: click-default-group
Requires-Dist: dataclasses-json
Requires-Dist: dataclasses ; python_version < "3.7"

# Bioversions

What's the current version for each biological database?

## 🚀 Installation

`pip install -e .`

## 💪 Usage

```python
import bioversions

assert bioversions.get_version('biogrid') == '4.2.192', 'This was true on Dec 5th, 2020!'

# If you want more information, use the resolve() function
bioversion = bioversions.resolve('biogrid')
assert bioversion.version == '4.2.192'
```

By default, the results are cached and only refreshed once per day with
the help of [`cachier`](https://github.com/shaypal5/cachier). The cache is stored
in `~/.data/bioversions`. The  cache location can be overridden by setting the
`BIOVERSIONS_HOME` environment variable via [`pystow`](https://github.com/cthoyt/pystow).

## 🌐 Web Application

Run the web application in your shell with

```bash
$ bioversions web
```

Options can be listed with `bioversions --help`.

You can navigate to http://localhost:5000 to see all versions
as HTML or programmatically resolve given databases with the
`http://localhost:5000/database/<name>` endpoint like in the
following:

```python
import requests

res = requests.get('http://localhost:5000/database/biogrid').json()
assert res['success']
assert res['result']['name'] == 'BioGRID'
assert res['result']['version'] == '4.2.192', 'This was true on Dec 5th, 2020!'
```

## CLI Usage

You can use `bioversions get` to incorporate the latest versions in your shell scripts
or REPL usage like in:

```bash
$ wget "https://downloads.thebiogrid.org/Download/BioGRID/Release-Archive/BIOGRID-$(bioversions get biogrid)/BIOGRID-ALL-$(bioversions get biogrid).mitab.zip"
```

## 🙏 Contributing

To add more databases to the list, you can create a new submodule of
`bioversions.sources` and extend the `bioversions.utils.Getter` class
to identify the most recent version for your target database. See
`bioversions.sources.biogrid` as an example.


