diff options
Diffstat (limited to 'gnu/packages/python-science.scm')
| -rw-r--r-- | gnu/packages/python-science.scm | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index ea8856be11b..d9ade7a7dbe 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm | |||
| @@ -7084,27 +7084,39 @@ are source structure, project manager, interactive help, workspace...") | |||
| 7084 | (define-public snakemake | 7084 | (define-public snakemake |
| 7085 | (package | 7085 | (package |
| 7086 | (name "snakemake") | 7086 | (name "snakemake") |
| 7087 | (version "8.30.0") | 7087 | (version "9.25.1") |
| 7088 | (source | 7088 | (source |
| 7089 | (origin | 7089 | (origin |
| 7090 | (method url-fetch) | 7090 | (method git-fetch) |
| 7091 | (uri (pypi-uri "snakemake" version)) | 7091 | (uri (git-reference |
| 7092 | (url "https://github.com/snakemake/snakemake") | ||
| 7093 | (commit (string-append "v" version)))) | ||
| 7094 | (file-name (git-file-name name version)) | ||
| 7092 | (sha256 | 7095 | (sha256 |
| 7093 | (base32 "08k6qk886a6f79higkd0pjjrq9sn6w5gk0gdgx88rhr1aln1qk7x")))) | 7096 | (base32 "15xic0m0pyhakyzvi9r2hlm9rvfnws53ngxnwkp9l9x47xqfgh7v")))) |
| 7094 | (build-system pyproject-build-system) | 7097 | (build-system pyproject-build-system) |
| 7095 | (arguments | 7098 | (arguments |
| 7096 | (list | 7099 | (list |
| 7097 | #:test-flags | 7100 | #:test-flags |
| 7098 | #~(list | 7101 | #~(list |
| 7102 | ;; Conda is ignored, see | ||
| 7103 | ;; github.com/snakemake/snakemake/pull/3339#issuecomment-5241768006 | ||
| 7104 | "--ignore=tests/test_software_directive.py" | ||
| 7105 | ;; These tests require snakemake-executor-plugin-cluster-generic. | ||
| 7106 | "--ignore=tests/test_executor_test_suite.py" | ||
| 7107 | "--deselect=tests/test_logging.py::test_group_job_failure_events" | ||
| 7108 | ;; Those require additional snakemake plugins. | ||
| 7109 | "--ignore=tests/test_api.py" | ||
| 7099 | ;; XXX: Unclear why these tests fail. | 7110 | ;; XXX: Unclear why these tests fail. |
| 7111 | "--ignore=tests/test_jupyter_notebook_pathlike.py" | ||
| 7112 | "--ignore=tests/test_persistence.py" | ||
| 7113 | "--deselect=tests/test_script.py::TestBashEncoder" | ||
| 7114 | "--deselect=tests/test_sourcecache.py::test_github_file_fetch" | ||
| 7100 | "--ignore=tests/test_report_href/test_script.py" | 7115 | "--ignore=tests/test_report_href/test_script.py" |
| 7101 | "--ignore=tests/test_script_py/scripts/test_explicit_import.py" | 7116 | "--ignore=tests/test_script_py/scripts/test_explicit_import.py" |
| 7102 | "--ignore=tests/test_output_index.py" | 7117 | "--ignore=tests/test_output_index.py" |
| 7103 | ;; We don't care about testing old python@3.7 on Guix. | 7118 | ;; We don't care about testing old python@3.7 on Guix. |
| 7104 | "--ignore=tests/test_conda_python_3_7_script/test_script_python_3_7.py" | 7119 | "--ignore=tests/test_conda_python_3_7_script/test_script_python_3_7.py" |
| 7105 | ;; Those require additional snakemake plugins. | ||
| 7106 | "--ignore=tests/test_api.py" | ||
| 7107 | "--ignore=tests/test_executor_test_suite.py" | ||
| 7108 | ;; We don't care about lints. | 7120 | ;; We don't care about lints. |
| 7109 | "--ignore=tests/test_linting.py" | 7121 | "--ignore=tests/test_linting.py" |
| 7110 | ;; These tests attempt to change S3 buckets on AWS and fail | 7122 | ;; These tests attempt to change S3 buckets on AWS and fail |
| @@ -7115,37 +7127,18 @@ are source structure, project manager, interactive help, workspace...") | |||
| 7115 | "--ignore=tests/test_google_lifesciences") | 7127 | "--ignore=tests/test_google_lifesciences") |
| 7116 | #:phases | 7128 | #:phases |
| 7117 | #~(modify-phases %standard-phases | 7129 | #~(modify-phases %standard-phases |
| 7130 | (add-after 'unpack 'relax-requirements | ||
| 7131 | (lambda _ | ||
| 7132 | (substitute* "pyproject.toml" | ||
| 7133 | (("\"pip\",") | ||
| 7134 | "") | ||
| 7135 | (("\"packaging.*\",") | ||
| 7136 | "\"packaging\",")))) | ||
| 7118 | (add-after 'unpack 'avoid-assets-download | 7137 | (add-after 'unpack 'avoid-assets-download |
| 7119 | (lambda _ | 7138 | (lambda _ |
| 7120 | (substitute* "setup.py" | 7139 | (substitute* "setup.py" |
| 7121 | (("^from assets import Assets") "") | 7140 | (("^from assets import Assets") "") |
| 7122 | (("^Assets\\.deploy\\(\\)") "")))) | 7141 | (("^Assets\\.deploy\\(\\)") "")))) |
| 7123 | ;; For cluster execution Snakemake will call Python. Since there is | ||
| 7124 | ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We | ||
| 7125 | ;; fix this by calling the snakemake wrapper instead. | ||
| 7126 | (add-after 'unpack 'call-wrapper-not-wrapped-snakemake | ||
| 7127 | (lambda _ | ||
| 7128 | (substitute* "snakemake/executors/__init__.py" | ||
| 7129 | (("self\\.get_python_executable\\(\\),") | ||
| 7130 | "") | ||
| 7131 | (("\"-m snakemake\"") | ||
| 7132 | (string-append "\"" #$output | ||
| 7133 | "/bin/snakemake" "\"")) | ||
| 7134 | ;; The snakemake command produced by format_job_exec contains | ||
| 7135 | ;; references to /gnu/store. Prior to patching above that's | ||
| 7136 | ;; just a reference to Python; after patching it's a reference | ||
| 7137 | ;; to the snakemake executable. | ||
| 7138 | ;; | ||
| 7139 | ;; In Tibanna execution mode Snakemake arranges for a certain | ||
| 7140 | ;; Docker image to be deployed to AWS. It then passes its own | ||
| 7141 | ;; command line to Tibanna. This is misguided because it only | ||
| 7142 | ;; ever works if the local Snakemake command was run inside | ||
| 7143 | ;; the same Docker image. In the case of using Guix this is | ||
| 7144 | ;; never correct, so we need to replace the store reference. | ||
| 7145 | (("tibanna_args.command = command") | ||
| 7146 | (string-append | ||
| 7147 | "tibanna_args.command = command.replace('" | ||
| 7148 | #$output "/bin/snakemake', 'python3 -m snakemake')"))))) | ||
| 7149 | (add-before 'check 'pre-check | 7142 | (add-before 'check 'pre-check |
| 7150 | (lambda* (#:key tests? #:allow-other-keys) | 7143 | (lambda* (#:key tests? #:allow-other-keys) |
| 7151 | (when tests? | 7144 | (when tests? |
| @@ -7171,8 +7164,12 @@ are source structure, project manager, interactive help, workspace...") | |||
| 7171 | python-smart-open | 7164 | python-smart-open |
| 7172 | python-snakemake-interface-common | 7165 | python-snakemake-interface-common |
| 7173 | python-snakemake-interface-executor-plugins | 7166 | python-snakemake-interface-executor-plugins |
| 7167 | python-snakemake-interface-logger-plugins | ||
| 7174 | python-snakemake-interface-report-plugins | 7168 | python-snakemake-interface-report-plugins |
| 7169 | python-snakemake-interface-scheduler-plugins | ||
| 7170 | python-snakemake-interface-software-deployment-plugins | ||
| 7175 | python-snakemake-interface-storage-plugins | 7171 | python-snakemake-interface-storage-plugins |
| 7172 | python-sqlmodel | ||
| 7176 | python-tabulate | 7173 | python-tabulate |
| 7177 | python-throttler | 7174 | python-throttler |
| 7178 | python-wrapt | 7175 | python-wrapt |
| @@ -7181,7 +7178,11 @@ are source structure, project manager, interactive help, workspace...") | |||
| 7181 | (list python-docutils | 7178 | (list python-docutils |
| 7182 | python-numpy | 7179 | python-numpy |
| 7183 | python-pandas | 7180 | python-pandas |
| 7181 | python-pytest | ||
| 7184 | python-setuptools | 7182 | python-setuptools |
| 7183 | python-setuptools-scm | ||
| 7184 | python-snakemake-software-deployment-plugin-container | ||
| 7185 | python-snakemake-software-deployment-plugin-envmodules | ||
| 7185 | python-tomli)) | 7186 | python-tomli)) |
| 7186 | (home-page "https://snakemake.readthedocs.io") | 7187 | (home-page "https://snakemake.readthedocs.io") |
| 7187 | (synopsis "Python-based execution environment for make-like workflows") | 7188 | (synopsis "Python-based execution environment for make-like workflows") |
