diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 04:07:22 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 04:07:22 +0000 |
commit | 36e41ce710c5d0d172577db8624ba4539881499d (patch) | |
tree | 5cfafe8234f44b7c50ccd78eb48b85f289fab54e | |
parent | a9b741390d3385bbb051347b2f50870e9990449c (diff) |
automatic import of python-drugbank-downloaderopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-drugbank-downloader.spec | 612 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 614 insertions, 0 deletions
@@ -0,0 +1 @@ +/drugbank_downloader-0.1.1.tar.gz diff --git a/python-drugbank-downloader.spec b/python-drugbank-downloader.spec new file mode 100644 index 0000000..a4240fe --- /dev/null +++ b/python-drugbank-downloader.spec @@ -0,0 +1,612 @@ +%global _empty_manifest_terminate_build 0 +Name: python-drugbank-downloader +Version: 0.1.1 +Release: 1 +Summary: Write scripts that can get drugbank data without redistributing it +License: MIT +URL: https://github.com/cthoyt/drugbank_downloader +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9d/cb/658ba821ff969c61ecb280643c45e8d061db06ae5cec367f084998259b95/drugbank_downloader-0.1.1.tar.gz +BuildArch: noarch + +Requires: python3-pystow +Requires: python3-click +Requires: python3-bioversions + +%description +<h1 align="center"> + drugbank_downloader +</h1> + +<p align="center"> + <a href="https://pypi.org/project/drugbank_downloader"> + <img alt="PyPI" src="https://img.shields.io/pypi/v/drugbank_downloader" /> + </a> + <a href="https://pypi.org/project/drugbank_downloader"> + <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/drugbank_downloader" /> + </a> + <a href="https://github.com/cthoyt/drugbank_downloader/blob/main/LICENSE"> + <img alt="PyPI - License" src="https://img.shields.io/pypi/l/drugbank_downloader" /> + </a> + <a href="https://zenodo.org/badge/latestdoi/321374043"> + <img src="https://zenodo.org/badge/321374043.svg" alt="DOI" /> + </a> +</p> + +Don't worry about DrugBank licensing and distribution rules - just use ``drugbank_downloader`` to write code that knows +how to download it and use it automatically. + +## Installation + +```bash +$ pip install drugbank-downloader +``` + +## Download A Specific Version + +```python +import os +from drugbank_downloader import download_drugbank + +username = ... # suggestion: load from environment with os.getenv('DRUGBANK_USERNAME') +password = ... + +path = download_drugbank(version='5.1.7', username=username, password=password) + +# This is where it gets downloaded: ~/.data/drugbank/5.1.7/full database.xml.zip +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'drugbank', '5.1.7', 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +After it's been downloaded once, it's smart and doesn't need to download again. It gets stored +using [`pystow`](https://github.com/cthoyt/pystow) automatically in the `~/.data/drugbank` +directory. + +## Automating Configuration of DrugBank Credentials + +There are two ways to automatically set the username and password so you don't have to worry about getting it and +passing it around in your python code: + +1. Set `DRUGBANK_USERNAME` and `DRUGBANK_PASSWORD` in the environment +2. Create `~/.config/drugbank.ini` and set in the `[drugbank]` section a `username` and `password` key. + +```python +from drugbank_downloader import download_drugbank + +# Same path as before +path = download_drugbank(version='5.1.7') +``` + +The `username` and `password` keyword arguments are available for all functions in this package, but will be omitted in +the tutorial for brevity. + +## Download the Latest Version + +First, you'll have to install [`bioversions`](https://github.com/cthoyt/bioversions) +with `pip install bioversions`, whose job it is to look up the latest version of many databases. Then, you can modify +the previous code slightly by omitting the `version` keyword argument: + +```python +import os +from drugbank_downloader import download_drugbank + +path = download_drugbank() + +# This is where it gets downloaded: ~/.data/drugbank/5.1.7/full database.xml.zip based on the latest +# version, as of December 14th, 2020. +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'drugbank', '5.1.7', 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +The `version` keyword argument is available for all functions in this package, but like the username and password will +be omitted for brevity. + +## Don't Bother Unpacking - read `full database.xml.zip` Directly + +DrugBank is a single XML (could be JSON in a better future) file inside a zip archive. Normally, people manually unzip +this folder then do something with the resulting file. Don't do this, it's not reproducible! +Instead, it can be opened as a file object in Python with the following code. + +```python +import zipfile +from drugbank_downloader import download_drugbank + +path = download_drugbank() + +with zipfile.ZipFile(path) as zip_file: + with zip_file.open('full database.xml') as file: + pass # do something with the file +``` + +You don't have time to remember this. Just use `drugbank_downloader.open_drugbank()` instead: + +```python +from drugbank_downloader import open_drugbank + +with open_drugbank() as file: + pass # do something with the file, same as above +``` + +## Reading DrugBank's XML + +After you've opened the file, you probably want to read it with an XML parser like: + +```python +from xml.etree import ElementTree +from drugbank_downloader import open_drugbank + +with open_drugbank() as file: + tree = ElementTree.parse(file) +``` + +You don't have time to remember this either. Just use `drugbank_downloader.parse_drugbank()` instead: + +```python +from xml.etree import ElementTree +from drugbank_downloader import parse_drugbank + +tree = parse_drugbank() +root = tree.getroot() +``` + +If your first thing to do to the tree is always to get its root, just use +`drugbank_downloader.get_drugbank_root()`: + +```python +from drugbank_downloader import get_drugbank_root + +root = get_drugbank_root() +``` + +You now know everything I can teach you. Please use these tools to do re-usable, reproducible +science! + +## Store in a Different Place + +If you want to store the data elsewhere using `pystow` (e.g., in [`pyobo`](https://github.com/pyobo/pyobo) +I also keep a copy of this file), you can use the `prefix` argument. + +```python +import os +from drugbank_downloader import download_drugbank + +path = download_drugbank(prefix=['pyobo', 'raw', 'drugbank']) + +# This is where it gets downloaded: ~/.data/pyobo/raw/drugbank/5.1.7/full database.xml.zip +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'pyobo', 'raw', 'drugbank', '5.1.7', + 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +See the `pystow` [documentation](https://github.com/cthoyt/pystow#%EF%B8%8F-configuration) on configuring the storage +location further. + +## Download via CLI + +After installing, run the following CLI command to ensure it and send the path to stdout + +```bash +$ drugbank_downloader +``` + +If you haven't pre-configured the username and password, you can specify them with the `--username` and `--password` +options. + + + + +%package -n python3-drugbank-downloader +Summary: Write scripts that can get drugbank data without redistributing it +Provides: python-drugbank-downloader +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-drugbank-downloader +<h1 align="center"> + drugbank_downloader +</h1> + +<p align="center"> + <a href="https://pypi.org/project/drugbank_downloader"> + <img alt="PyPI" src="https://img.shields.io/pypi/v/drugbank_downloader" /> + </a> + <a href="https://pypi.org/project/drugbank_downloader"> + <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/drugbank_downloader" /> + </a> + <a href="https://github.com/cthoyt/drugbank_downloader/blob/main/LICENSE"> + <img alt="PyPI - License" src="https://img.shields.io/pypi/l/drugbank_downloader" /> + </a> + <a href="https://zenodo.org/badge/latestdoi/321374043"> + <img src="https://zenodo.org/badge/321374043.svg" alt="DOI" /> + </a> +</p> + +Don't worry about DrugBank licensing and distribution rules - just use ``drugbank_downloader`` to write code that knows +how to download it and use it automatically. + +## Installation + +```bash +$ pip install drugbank-downloader +``` + +## Download A Specific Version + +```python +import os +from drugbank_downloader import download_drugbank + +username = ... # suggestion: load from environment with os.getenv('DRUGBANK_USERNAME') +password = ... + +path = download_drugbank(version='5.1.7', username=username, password=password) + +# This is where it gets downloaded: ~/.data/drugbank/5.1.7/full database.xml.zip +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'drugbank', '5.1.7', 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +After it's been downloaded once, it's smart and doesn't need to download again. It gets stored +using [`pystow`](https://github.com/cthoyt/pystow) automatically in the `~/.data/drugbank` +directory. + +## Automating Configuration of DrugBank Credentials + +There are two ways to automatically set the username and password so you don't have to worry about getting it and +passing it around in your python code: + +1. Set `DRUGBANK_USERNAME` and `DRUGBANK_PASSWORD` in the environment +2. Create `~/.config/drugbank.ini` and set in the `[drugbank]` section a `username` and `password` key. + +```python +from drugbank_downloader import download_drugbank + +# Same path as before +path = download_drugbank(version='5.1.7') +``` + +The `username` and `password` keyword arguments are available for all functions in this package, but will be omitted in +the tutorial for brevity. + +## Download the Latest Version + +First, you'll have to install [`bioversions`](https://github.com/cthoyt/bioversions) +with `pip install bioversions`, whose job it is to look up the latest version of many databases. Then, you can modify +the previous code slightly by omitting the `version` keyword argument: + +```python +import os +from drugbank_downloader import download_drugbank + +path = download_drugbank() + +# This is where it gets downloaded: ~/.data/drugbank/5.1.7/full database.xml.zip based on the latest +# version, as of December 14th, 2020. +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'drugbank', '5.1.7', 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +The `version` keyword argument is available for all functions in this package, but like the username and password will +be omitted for brevity. + +## Don't Bother Unpacking - read `full database.xml.zip` Directly + +DrugBank is a single XML (could be JSON in a better future) file inside a zip archive. Normally, people manually unzip +this folder then do something with the resulting file. Don't do this, it's not reproducible! +Instead, it can be opened as a file object in Python with the following code. + +```python +import zipfile +from drugbank_downloader import download_drugbank + +path = download_drugbank() + +with zipfile.ZipFile(path) as zip_file: + with zip_file.open('full database.xml') as file: + pass # do something with the file +``` + +You don't have time to remember this. Just use `drugbank_downloader.open_drugbank()` instead: + +```python +from drugbank_downloader import open_drugbank + +with open_drugbank() as file: + pass # do something with the file, same as above +``` + +## Reading DrugBank's XML + +After you've opened the file, you probably want to read it with an XML parser like: + +```python +from xml.etree import ElementTree +from drugbank_downloader import open_drugbank + +with open_drugbank() as file: + tree = ElementTree.parse(file) +``` + +You don't have time to remember this either. Just use `drugbank_downloader.parse_drugbank()` instead: + +```python +from xml.etree import ElementTree +from drugbank_downloader import parse_drugbank + +tree = parse_drugbank() +root = tree.getroot() +``` + +If your first thing to do to the tree is always to get its root, just use +`drugbank_downloader.get_drugbank_root()`: + +```python +from drugbank_downloader import get_drugbank_root + +root = get_drugbank_root() +``` + +You now know everything I can teach you. Please use these tools to do re-usable, reproducible +science! + +## Store in a Different Place + +If you want to store the data elsewhere using `pystow` (e.g., in [`pyobo`](https://github.com/pyobo/pyobo) +I also keep a copy of this file), you can use the `prefix` argument. + +```python +import os +from drugbank_downloader import download_drugbank + +path = download_drugbank(prefix=['pyobo', 'raw', 'drugbank']) + +# This is where it gets downloaded: ~/.data/pyobo/raw/drugbank/5.1.7/full database.xml.zip +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'pyobo', 'raw', 'drugbank', '5.1.7', + 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +See the `pystow` [documentation](https://github.com/cthoyt/pystow#%EF%B8%8F-configuration) on configuring the storage +location further. + +## Download via CLI + +After installing, run the following CLI command to ensure it and send the path to stdout + +```bash +$ drugbank_downloader +``` + +If you haven't pre-configured the username and password, you can specify them with the `--username` and `--password` +options. + + + + +%package help +Summary: Development documents and examples for drugbank-downloader +Provides: python3-drugbank-downloader-doc +%description help +<h1 align="center"> + drugbank_downloader +</h1> + +<p align="center"> + <a href="https://pypi.org/project/drugbank_downloader"> + <img alt="PyPI" src="https://img.shields.io/pypi/v/drugbank_downloader" /> + </a> + <a href="https://pypi.org/project/drugbank_downloader"> + <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/drugbank_downloader" /> + </a> + <a href="https://github.com/cthoyt/drugbank_downloader/blob/main/LICENSE"> + <img alt="PyPI - License" src="https://img.shields.io/pypi/l/drugbank_downloader" /> + </a> + <a href="https://zenodo.org/badge/latestdoi/321374043"> + <img src="https://zenodo.org/badge/321374043.svg" alt="DOI" /> + </a> +</p> + +Don't worry about DrugBank licensing and distribution rules - just use ``drugbank_downloader`` to write code that knows +how to download it and use it automatically. + +## Installation + +```bash +$ pip install drugbank-downloader +``` + +## Download A Specific Version + +```python +import os +from drugbank_downloader import download_drugbank + +username = ... # suggestion: load from environment with os.getenv('DRUGBANK_USERNAME') +password = ... + +path = download_drugbank(version='5.1.7', username=username, password=password) + +# This is where it gets downloaded: ~/.data/drugbank/5.1.7/full database.xml.zip +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'drugbank', '5.1.7', 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +After it's been downloaded once, it's smart and doesn't need to download again. It gets stored +using [`pystow`](https://github.com/cthoyt/pystow) automatically in the `~/.data/drugbank` +directory. + +## Automating Configuration of DrugBank Credentials + +There are two ways to automatically set the username and password so you don't have to worry about getting it and +passing it around in your python code: + +1. Set `DRUGBANK_USERNAME` and `DRUGBANK_PASSWORD` in the environment +2. Create `~/.config/drugbank.ini` and set in the `[drugbank]` section a `username` and `password` key. + +```python +from drugbank_downloader import download_drugbank + +# Same path as before +path = download_drugbank(version='5.1.7') +``` + +The `username` and `password` keyword arguments are available for all functions in this package, but will be omitted in +the tutorial for brevity. + +## Download the Latest Version + +First, you'll have to install [`bioversions`](https://github.com/cthoyt/bioversions) +with `pip install bioversions`, whose job it is to look up the latest version of many databases. Then, you can modify +the previous code slightly by omitting the `version` keyword argument: + +```python +import os +from drugbank_downloader import download_drugbank + +path = download_drugbank() + +# This is where it gets downloaded: ~/.data/drugbank/5.1.7/full database.xml.zip based on the latest +# version, as of December 14th, 2020. +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'drugbank', '5.1.7', 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +The `version` keyword argument is available for all functions in this package, but like the username and password will +be omitted for brevity. + +## Don't Bother Unpacking - read `full database.xml.zip` Directly + +DrugBank is a single XML (could be JSON in a better future) file inside a zip archive. Normally, people manually unzip +this folder then do something with the resulting file. Don't do this, it's not reproducible! +Instead, it can be opened as a file object in Python with the following code. + +```python +import zipfile +from drugbank_downloader import download_drugbank + +path = download_drugbank() + +with zipfile.ZipFile(path) as zip_file: + with zip_file.open('full database.xml') as file: + pass # do something with the file +``` + +You don't have time to remember this. Just use `drugbank_downloader.open_drugbank()` instead: + +```python +from drugbank_downloader import open_drugbank + +with open_drugbank() as file: + pass # do something with the file, same as above +``` + +## Reading DrugBank's XML + +After you've opened the file, you probably want to read it with an XML parser like: + +```python +from xml.etree import ElementTree +from drugbank_downloader import open_drugbank + +with open_drugbank() as file: + tree = ElementTree.parse(file) +``` + +You don't have time to remember this either. Just use `drugbank_downloader.parse_drugbank()` instead: + +```python +from xml.etree import ElementTree +from drugbank_downloader import parse_drugbank + +tree = parse_drugbank() +root = tree.getroot() +``` + +If your first thing to do to the tree is always to get its root, just use +`drugbank_downloader.get_drugbank_root()`: + +```python +from drugbank_downloader import get_drugbank_root + +root = get_drugbank_root() +``` + +You now know everything I can teach you. Please use these tools to do re-usable, reproducible +science! + +## Store in a Different Place + +If you want to store the data elsewhere using `pystow` (e.g., in [`pyobo`](https://github.com/pyobo/pyobo) +I also keep a copy of this file), you can use the `prefix` argument. + +```python +import os +from drugbank_downloader import download_drugbank + +path = download_drugbank(prefix=['pyobo', 'raw', 'drugbank']) + +# This is where it gets downloaded: ~/.data/pyobo/raw/drugbank/5.1.7/full database.xml.zip +expected_path = os.path.join(os.path.expanduser('~'), '.data', 'pyobo', 'raw', 'drugbank', '5.1.7', + 'full database.xml.zip') +assert expected_path == path.as_posix() +``` + +See the `pystow` [documentation](https://github.com/cthoyt/pystow#%EF%B8%8F-configuration) on configuring the storage +location further. + +## Download via CLI + +After installing, run the following CLI command to ensure it and send the path to stdout + +```bash +$ drugbank_downloader +``` + +If you haven't pre-configured the username and password, you can specify them with the `--username` and `--password` +options. + + + + +%prep +%autosetup -n drugbank-downloader-0.1.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-drugbank-downloader -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.1-1 +- Package Spec generated @@ -0,0 +1 @@ +5598c3bbb48edfe6981bccd82583a681 drugbank_downloader-0.1.1.tar.gz |