Metadata-Version: 2.1
Name: bioversions
Version: 0.0.1
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: 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

bioversion = bioversions.resolve('biogrid')
assert bioversion.version == '4.2.192', 'This was true on Dec 5th, 2020!'
```

By default, the results are cached and only refreshed once per day with
the help of `cachier`. The cache is stored in `~/.data/bioversions`. The
cache location can be overridden by setting the `BIOVERSIONS_HOME` environment
variable via `pystow`.

## Web Application

Run the web application in your shell with

```bash
$ bioversions
```

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!'
```

## 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.


