[bug#78536] gnu: Add python-torchdiffeq.

Message ID f4525e5e50d5e8b28bbf514e829f219a7f496f82.1747836061.git.navid.afkhami@mdc-berlin.de
State New
Headers
Series [bug#78536] gnu: Add python-torchdiffeq. |

Commit Message

Navid Afkhami May 21, 2025, 2:01 p.m. UTC
  * gnu/packages/bioinformatics.scm (python-torchdiffeq): New variable.

Change-Id: Ic2ab73250b60f1733d2721ebd6d3abae719c5a1f
---
 gnu/packages/bioinformatics.scm | 35 +++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)


base-commit: 450a361532573a02389530a6a80b7821683ed41b
  

Comments

Ricardo Wurmus May 21, 2025, 3:19 p.m. UTC | #1
Applied and pushed with commit 
d3d157bc61c4a6a3fac11e33d26f6f2a72a24151.

I've moved the package to machine-learning and used #:test-flags 
to
avoid having to replace the 'check phase.
  

Patch

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 72fa9d946f..18f929dff7 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4056,6 +4056,41 @@  (define-public python-telomerecat
 telomerecat can produce an estimate in ~1 hour.")
     (license license:gpl3)))
 
+(define-public python-torchdiffeq
+  ;; There are neither releases, nor tags.
+  (let ((commit "a88aac53cae738addee44251288ce5be9a018af3")
+        (revision "0"))
+    (package
+      (name "python-torchdiffeq")
+      (version (git-version "0.2.5" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/rtqichen/torchdiffeq")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0c2zqbdxqvd5abfpk0im6rcy1ij39xvrmixc6l9znb6bhcxk2jra"))))
+      (build-system pyproject-build-system)
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (replace 'check
+                      (lambda* (#:key tests? #:allow-other-keys)
+                        (when tests?
+                          ;; Run all test files in 'tests/' but skip test_seminorm
+                          (apply invoke "pytest" "-k" "not test_seminorm"
+                                 (find-files "tests" "\\.py$"))))))))
+      (propagated-inputs (list python-numpy python-scipy python-pytorch))
+      (native-inputs (list python-pytest python-setuptools))
+      (home-page "https://github.com/rtqichen/torchdiffeq")
+      (synopsis "ODE solvers and adjoint sensitivity analysis in PyTorch")
+      (description
+       "This tool provides ordinary differential equation solvers implemented in PyTorch.
+Backpropagation through ODE solutions is supported using the adjoint method for constant
+memory cost.")
+      (license license:expat))))
+
 (define-public python-bioframe
   (package
     (name "python-bioframe")