%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 - 0.18.10-1 - Package Spec generated