diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-10 09:00:32 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 09:00:32 +0000 |
commit | 85b31175fa769255a8a7ab70bf0270e0fa634604 (patch) | |
tree | 7cb442a8e6138d4f86cd66f10f1e643ab95a1a19 | |
parent | e404a990addc49afc86122bf8cbeb622ccd1174a (diff) |
automatic import of python-lapdog
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-lapdog.spec | 223 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 225 insertions, 0 deletions
@@ -0,0 +1 @@ +/lapdog-0.18.10.tar.gz diff --git a/python-lapdog.spec b/python-lapdog.spec new file mode 100644 index 0000000..e3f2e77 --- /dev/null +++ b/python-lapdog.spec @@ -0,0 +1,223 @@ +%global _empty_manifest_terminate_build 0 +Name: python-lapdog +Version: 0.18.10 +Release: 1 +Summary: A relaxed wrapper for FISS and dalmatian +License: MIT +URL: https://github.com/broadinstitute/lapdog +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e2/4d/6104552f879ea6f2d2f4cdff8c9c9db001b05a2bc0bb6480e2bda08cca15/lapdog-0.18.10.tar.gz +BuildArch: noarch + +Requires: python3-firecloud +Requires: python3-firecloud-dalmatian +Requires: python3-hound +Requires: python3-google-cloud-storage +Requires: python3-google-cloud-logging +Requires: python3-googleapis-common-protos +Requires: python3-google-cloud-core +Requires: python3-google-auth +Requires: python3-google-cloud-kms +Requires: python3-google-api-core[grpc] +Requires: python3-PyYAML +Requires: python3-agutil +Requires: python3-Flask-Cors +Requires: python3-crayons +Requires: python3-connexion +Requires: python3-oauth2client +Requires: python3-requests +Requires: python3-cryptography +Requires: python3-pyOpenSSL +Requires: python3-protobuf +Requires: python3-iso8601 +Requires: python3-pandas + +%description +### Roadmap +See the [milestones page](https://github.com/broadinstitute/lapdog/milestones) to +read the development roadmap. +### Pro/Con with Firecloud +##### Pros +* Each submission has a dedicated Cromwell instance. Your jobs will never queue, unless you hit a Google usage quota +* Lapdog supports Requester Pays buckets and GPUs +* Workspace cache: Lapdog caches most data received from Firecloud. + * In the event of a Firecloud error, Lapdog will attempt to keep running by using it's cached data. Any data updates will by pushed back to Firecloud when the workspace is synced +* Data caches: The Lapdog API caches data sent to the UI and read from Google + * These caches greatly improve UI performance by storing results whenever possible +* Streamlined UI: The Lapdog UI was built with efficiency in mind +* Quality of life features: + * Save time updating methods. Set `methodRepoMethod.methodVersion` to "latest" and let Lapdog figure out what the snapshot ID is + * Easy data uploads. Call `prepare_entity_df` on a DataFrame before uploading to Firecloud. Any local filepaths will be uploaded to the workspace's bucket in the background and a new DataFrame will be returned containing the new `gs://` paths + * Automatic reference uploads. When you call `update_attributes`, any values which refer to local filepaths will be uploaded in the background (just like `prepare_entity_df`). `update_attributes` now returns a dictionary containing the attributes exactly as uploaded +##### Cons +* You pay an additional 5c/hour fee for each submission to run the Cromwell server +* Submission results must be manually uploaded to Firecloud by clicking the `Upload Results` button in the UI. +* There are small overhead costs billed to the Lapdog Engine for operation. These costs +are for calls to the API and for storage of metadata, both of which should be very cheap +## PyYAML Note +Often, when installing Lapdog, the installation fails when upgrading PyYAML because +it is unable to uninstall the current PyYAML version. +This is because some older versions of PyYAML were distributed through `distutils` +which prevents packages from being uninstalled. New versions of PyYAML are distributed +through `setuptools` which can be successfully uninstalled. +To resolve this issue, navigate to your Python site-packages directory. The site-packages +directory usually ends with `.../lib/python{version}/site-packages/`. The exact location +depends on your platform, environment manager, and python configuration. +* For anaconda, this path is within anaconda's installation folder: `/{path to anaconda}/envs/{environment}/lib/python{version}/site-packages` +* For virtualenvs, this path is within the environment's installation folder: `/{path to environment}/lib/python{version}/site-packages` +* For system python on Unix systems: `/usr/local/lib/python{version}/site-packages` +An easy way to locate this folder is to open python and then: +```python +import yaml +yaml +``` +This expression will evaluate and print the path to the `yaml` module, which will be +within your site-packages directory. +After locating the site-packages directory, you must remove the following two directories: +* `.../site-packages/yaml/` +* `.../site-packages/PyYAML*.egg-info` +Once removed, you can try the installation command for lapdog again. + +%package -n python3-lapdog +Summary: A relaxed wrapper for FISS and dalmatian +Provides: python-lapdog +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-lapdog +### Roadmap +See the [milestones page](https://github.com/broadinstitute/lapdog/milestones) to +read the development roadmap. +### Pro/Con with Firecloud +##### Pros +* Each submission has a dedicated Cromwell instance. Your jobs will never queue, unless you hit a Google usage quota +* Lapdog supports Requester Pays buckets and GPUs +* Workspace cache: Lapdog caches most data received from Firecloud. + * In the event of a Firecloud error, Lapdog will attempt to keep running by using it's cached data. Any data updates will by pushed back to Firecloud when the workspace is synced +* Data caches: The Lapdog API caches data sent to the UI and read from Google + * These caches greatly improve UI performance by storing results whenever possible +* Streamlined UI: The Lapdog UI was built with efficiency in mind +* Quality of life features: + * Save time updating methods. Set `methodRepoMethod.methodVersion` to "latest" and let Lapdog figure out what the snapshot ID is + * Easy data uploads. Call `prepare_entity_df` on a DataFrame before uploading to Firecloud. Any local filepaths will be uploaded to the workspace's bucket in the background and a new DataFrame will be returned containing the new `gs://` paths + * Automatic reference uploads. When you call `update_attributes`, any values which refer to local filepaths will be uploaded in the background (just like `prepare_entity_df`). `update_attributes` now returns a dictionary containing the attributes exactly as uploaded +##### Cons +* You pay an additional 5c/hour fee for each submission to run the Cromwell server +* Submission results must be manually uploaded to Firecloud by clicking the `Upload Results` button in the UI. +* There are small overhead costs billed to the Lapdog Engine for operation. These costs +are for calls to the API and for storage of metadata, both of which should be very cheap +## PyYAML Note +Often, when installing Lapdog, the installation fails when upgrading PyYAML because +it is unable to uninstall the current PyYAML version. +This is because some older versions of PyYAML were distributed through `distutils` +which prevents packages from being uninstalled. New versions of PyYAML are distributed +through `setuptools` which can be successfully uninstalled. +To resolve this issue, navigate to your Python site-packages directory. The site-packages +directory usually ends with `.../lib/python{version}/site-packages/`. The exact location +depends on your platform, environment manager, and python configuration. +* For anaconda, this path is within anaconda's installation folder: `/{path to anaconda}/envs/{environment}/lib/python{version}/site-packages` +* For virtualenvs, this path is within the environment's installation folder: `/{path to environment}/lib/python{version}/site-packages` +* For system python on Unix systems: `/usr/local/lib/python{version}/site-packages` +An easy way to locate this folder is to open python and then: +```python +import yaml +yaml +``` +This expression will evaluate and print the path to the `yaml` module, which will be +within your site-packages directory. +After locating the site-packages directory, you must remove the following two directories: +* `.../site-packages/yaml/` +* `.../site-packages/PyYAML*.egg-info` +Once removed, you can try the installation command for lapdog again. + +%package help +Summary: Development documents and examples for lapdog +Provides: python3-lapdog-doc +%description help +### Roadmap +See the [milestones page](https://github.com/broadinstitute/lapdog/milestones) to +read the development roadmap. +### Pro/Con with Firecloud +##### Pros +* Each submission has a dedicated Cromwell instance. Your jobs will never queue, unless you hit a Google usage quota +* Lapdog supports Requester Pays buckets and GPUs +* Workspace cache: Lapdog caches most data received from Firecloud. + * In the event of a Firecloud error, Lapdog will attempt to keep running by using it's cached data. Any data updates will by pushed back to Firecloud when the workspace is synced +* Data caches: The Lapdog API caches data sent to the UI and read from Google + * These caches greatly improve UI performance by storing results whenever possible +* Streamlined UI: The Lapdog UI was built with efficiency in mind +* Quality of life features: + * Save time updating methods. Set `methodRepoMethod.methodVersion` to "latest" and let Lapdog figure out what the snapshot ID is + * Easy data uploads. Call `prepare_entity_df` on a DataFrame before uploading to Firecloud. Any local filepaths will be uploaded to the workspace's bucket in the background and a new DataFrame will be returned containing the new `gs://` paths + * Automatic reference uploads. When you call `update_attributes`, any values which refer to local filepaths will be uploaded in the background (just like `prepare_entity_df`). `update_attributes` now returns a dictionary containing the attributes exactly as uploaded +##### Cons +* You pay an additional 5c/hour fee for each submission to run the Cromwell server +* Submission results must be manually uploaded to Firecloud by clicking the `Upload Results` button in the UI. +* There are small overhead costs billed to the Lapdog Engine for operation. These costs +are for calls to the API and for storage of metadata, both of which should be very cheap +## PyYAML Note +Often, when installing Lapdog, the installation fails when upgrading PyYAML because +it is unable to uninstall the current PyYAML version. +This is because some older versions of PyYAML were distributed through `distutils` +which prevents packages from being uninstalled. New versions of PyYAML are distributed +through `setuptools` which can be successfully uninstalled. +To resolve this issue, navigate to your Python site-packages directory. The site-packages +directory usually ends with `.../lib/python{version}/site-packages/`. The exact location +depends on your platform, environment manager, and python configuration. +* For anaconda, this path is within anaconda's installation folder: `/{path to anaconda}/envs/{environment}/lib/python{version}/site-packages` +* For virtualenvs, this path is within the environment's installation folder: `/{path to environment}/lib/python{version}/site-packages` +* For system python on Unix systems: `/usr/local/lib/python{version}/site-packages` +An easy way to locate this folder is to open python and then: +```python +import yaml +yaml +``` +This expression will evaluate and print the path to the `yaml` module, which will be +within your site-packages directory. +After locating the site-packages directory, you must remove the following two directories: +* `.../site-packages/yaml/` +* `.../site-packages/PyYAML*.egg-info` +Once removed, you can try the installation command for lapdog again. + +%prep +%autosetup -n lapdog-0.18.10 + +%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-lapdog -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.18.10-1 +- Package Spec generated @@ -0,0 +1 @@ +beccbfef697c35154ac76b5b225f340d lapdog-0.18.10.tar.gz |