unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#67265] [PATCH v2 1/3] gnu: Add python-hopcroftkarp.
  2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
@ 2023-11-18 21:06 ` Troy Figiel
  2023-11-18 21:39 ` [bug#67265] [PATCH v2 2/3] gnu: Add python-persim Troy Figiel
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Troy Figiel @ 2023-11-18 21:06 UTC (permalink / raw)
  To: 67265

* gnu/packages/machine-learning.scm (python-hopcroftkarp): New variable.

Change-Id: I444f0371526d7a69d31363c228d5f7818bcf60dd
---
 gnu/packages/machine-learning.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index b4651c80e5..d852b0debe 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
 ;;; Copyright © 2023 Navid Afkhami <navid.afkhami@mdc-berlin.de>
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -812,6 +813,30 @@ (define-public sentencepiece
 depend on language-specific pre- or post-processing.")
     (license license:asl2.0)))
 
+(define-public python-hopcroftkarp
+  ;; This commit fixes a broken import, but has not been released to PyPI.
+  (let ((commit "2846e1dd3265d95d2bddb0cf4190b830cbb4efe6")
+        (revision "1"))
+    (package
+      (name "python-hopcroftkarp")
+      (version (git-version "1.2.5" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/sofiatolaosebikan/hopcroftkarp")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "018ilrp41fcclmb5lsml3aijwbmhbq3m7wy65hr1fryj0avic8fr"))))
+      (build-system pyproject-build-system)
+      (home-page "https://github.com/sofiatolaosebikan/hopcroftkarp")
+      (synopsis "Implementation of the Hopcroft-Karp algorithm")
+      (description
+       "This package implements the Hopcroft-Karp algorithm, producing a maximum
+cardinality matching from a bipartite graph.")
+      (license license:gpl3))))
+
 (define-public python-sacrebleu
   (package
     (name "python-sacrebleu")
-- 
2.42.0





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#67265] [PATCH v2 2/3] gnu: Add python-persim.
  2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
  2023-11-18 21:06 ` [bug#67265] [PATCH v2 1/3] gnu: Add python-hopcroftkarp Troy Figiel
@ 2023-11-18 21:39 ` Troy Figiel
  2023-11-18 21:41 ` [bug#67265] [PATCH v2 3/3] gnu: Add python-ripser Troy Figiel
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Troy Figiel @ 2023-11-18 21:39 UTC (permalink / raw)
  To: 67265

* gnu/packages/machine-learning.scm (python-persim): New variable.

Change-Id: I914071a90b4555d7d1218ce83337d49298effb01
---
 gnu/packages/machine-learning.scm | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index d852b0debe..67a8041f72 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -837,6 +837,42 @@ (define-public python-hopcroftkarp
 cardinality matching from a bipartite graph.")
       (license license:gpl3))))
 
+(define-public python-persim
+  (package
+    (name "python-persim")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "persim" version))
+       (sha256
+        (base32 "0q8wfakx8q4h3ryvw8cba0v6z7xn9139qkrzs3mi1ggyzacnx9d7"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-deprecated
+                             python-hopcroftkarp
+                             python-joblib
+                             python-matplotlib
+                             python-numpy
+                             python-scikit-learn
+                             python-scipy))
+    (native-inputs (list python-pytest python-pytest-cov))
+    (home-page "https://persim.scikit-tda.org")
+    (synopsis "Tools for analyzing persistence diagrams in Python")
+    (description
+     "This package includes a variety of tools used to analyze persistence diagrams.
+It currently houses implementations of
+@itemize
+@item Persistence images
+@item Persistence landscapes
+@item Bottleneck distance
+@item Modified Gromov–Hausdorff distance
+@item Sliced Wasserstein kernel
+@item Heat kernel
+@item Diagram plotting
+@end itemize
+")
+    (license license:expat))) ; MIT License
+
 (define-public python-sacrebleu
   (package
     (name "python-sacrebleu")
-- 
2.42.0





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#67265] [PATCH v2 3/3] gnu: Add python-ripser.
  2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
  2023-11-18 21:06 ` [bug#67265] [PATCH v2 1/3] gnu: Add python-hopcroftkarp Troy Figiel
  2023-11-18 21:39 ` [bug#67265] [PATCH v2 2/3] gnu: Add python-persim Troy Figiel
@ 2023-11-18 21:41 ` Troy Figiel
  2023-11-18 21:52 ` [bug#67265] [PATCH 1/3] gnu: Add python-hopcroftkarp Troy Figiel
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Troy Figiel @ 2023-11-18 21:41 UTC (permalink / raw)
  To: 67265

* gnu/packages/machine-learning.scm (python-ripser): New variable.

Change-Id: I21b42e555a5017e68cf43a6eaa19d991db36723d
---
 gnu/packages/machine-learning.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 67a8041f72..1616738399 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -873,6 +873,34 @@ (define-public python-persim
 ")
     (license license:expat))) ; MIT License
 
+(define-public python-ripser
+  (package
+    (name "python-ripser")
+    (version "0.6.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ripser" version))
+       (sha256
+        (base32 "1575nwsn6b29z7w1mjk23ri83bxq2b4ld979hpgm174642a3x6vs"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-numpy python-persim python-scikit-learn
+                             python-scipy))
+    (native-inputs (list python-cython python-pytest))
+    (home-page "https://ripser.scikit-tda.org")
+    (synopsis "Persistent homology library for Python")
+    (description
+     "This package implements a variety of persistent homology algorithms.  It
+provides an interface for
+@itemize
+@item computing persistence cohomology of sparse and dense data sets
+@item visualizing persistence diagrams
+@item computing lowerstar filtrations on images
+@item computing representative cochains
+@end itemize
+")
+    (license license:expat))) ; MIT License
+
 (define-public python-sacrebleu
   (package
     (name "python-sacrebleu")
-- 
2.42.0





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies
@ 2023-11-18 21:48 Troy Figiel
  2023-11-18 21:06 ` [bug#67265] [PATCH v2 1/3] gnu: Add python-hopcroftkarp Troy Figiel
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Troy Figiel @ 2023-11-18 21:48 UTC (permalink / raw)
  To: 67265

This patch series adds python-ripser, its direct dependency
python-persim and its transitive dependency python-hopcroftkarp.

Troy Figiel (3):
  gnu: Add python-hopcroftkarp.
  gnu: Add python-persim.
  gnu: Add python-ripser.

 gnu/packages/machine-learning.scm | 89 +++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

-- 
2.40.1





^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#67265] [PATCH 1/3] gnu: Add python-hopcroftkarp.
  2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
                   ` (2 preceding siblings ...)
  2023-11-18 21:41 ` [bug#67265] [PATCH v2 3/3] gnu: Add python-ripser Troy Figiel
@ 2023-11-18 21:52 ` Troy Figiel
  2023-11-18 21:53 ` [bug#67265] [PATCH 2/3] gnu: Add python-persim Troy Figiel
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Troy Figiel @ 2023-11-18 21:52 UTC (permalink / raw)
  To: 67265

* gnu/packages/machine-learning.scm (python-hopcroftkarp): New variable.

Change-Id: I444f0371526d7a69d31363c228d5f7818bcf60dd
---
 gnu/packages/machine-learning.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index a84377e1eb..6c29aefb58 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
 ;;; Copyright © 2023 Navid Afkhami <navid.afkhami@mdc-berlin.de>
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -812,6 +813,30 @@ (define-public sentencepiece
 depend on language-specific pre- or post-processing.")
     (license license:asl2.0)))
 
+(define-public python-hopcroftkarp
+  ;; This commit fixes a broken import, but has not been released to PyPI.
+  (let ((commit "2846e1dd3265d95d2bddb0cf4190b830cbb4efe6")
+        (revision "1"))
+    (package
+      (name "python-hopcroftkarp")
+      (version (git-version "1.2.5" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/sofiatolaosebikan/hopcroftkarp")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "018ilrp41fcclmb5lsml3aijwbmhbq3m7wy65hr1fryj0avic8fr"))))
+      (build-system pyproject-build-system)
+      (home-page "https://github.com/sofiatolaosebikan/hopcroftkarp")
+      (synopsis "Implementation of the Hopcroft-Karp algorithm")
+      (description
+       "This package implements the Hopcroft-Karp algorithm, producing a maximum
+cardinality matching from a bipartite graph.")
+      (license license:gpl3))))
+
 (define-public python-sacrebleu
   (package
     (name "python-sacrebleu")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#67265] [PATCH 2/3] gnu: Add python-persim.
  2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
                   ` (3 preceding siblings ...)
  2023-11-18 21:52 ` [bug#67265] [PATCH 1/3] gnu: Add python-hopcroftkarp Troy Figiel
@ 2023-11-18 21:53 ` Troy Figiel
  2023-11-18 21:54 ` [bug#67265] [PATCH 3/3] gnu: Add python-ripser Troy Figiel
  2024-01-07 20:15 ` [bug#67265] [PATCH v2 0/3] Add python-ripser and its dependencies Troy Figiel
  6 siblings, 0 replies; 9+ messages in thread
From: Troy Figiel @ 2023-11-18 21:53 UTC (permalink / raw)
  To: 67265

* gnu/packages/machine-learning.scm (python-persim): New variable.

Change-Id: I914071a90b4555d7d1218ce83337d49298effb01
---
 gnu/packages/machine-learning.scm | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 6c29aefb58..e315be7f9f 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -837,6 +837,42 @@ (define-public python-hopcroftkarp
 cardinality matching from a bipartite graph.")
       (license license:gpl3))))
 
+(define-public python-persim
+  (package
+    (name "python-persim")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "persim" version))
+       (sha256
+        (base32 "0q8wfakx8q4h3ryvw8cba0v6z7xn9139qkrzs3mi1ggyzacnx9d7"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-deprecated
+                             python-hopcroftkarp
+                             python-joblib
+                             python-matplotlib
+                             python-numpy
+                             python-scikit-learn
+                             python-scipy))
+    (native-inputs (list python-pytest python-pytest-cov))
+    (home-page "https://persim.scikit-tda.org")
+    (synopsis "Tools for analyzing persistence diagrams in Python")
+    (description
+     "This package includes a variety of tools used to analyze persistence diagrams.
+It currently houses implementations of
+@itemize
+@item Persistence images
+@item Persistence landscapes
+@item Bottleneck distance
+@item Modified Gromov–Hausdorff distance
+@item Sliced Wasserstein kernel
+@item Heat kernel
+@item Diagram plotting
+@end itemize
+")
+    (license license:expat))) ; MIT License
+
 (define-public python-sacrebleu
   (package
     (name "python-sacrebleu")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#67265] [PATCH 3/3] gnu: Add python-ripser.
  2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
                   ` (4 preceding siblings ...)
  2023-11-18 21:53 ` [bug#67265] [PATCH 2/3] gnu: Add python-persim Troy Figiel
@ 2023-11-18 21:54 ` Troy Figiel
  2024-01-07 20:15 ` [bug#67265] [PATCH v2 0/3] Add python-ripser and its dependencies Troy Figiel
  6 siblings, 0 replies; 9+ messages in thread
From: Troy Figiel @ 2023-11-18 21:54 UTC (permalink / raw)
  To: 67265

* gnu/packages/machine-learning.scm (python-ripser): New variable.

Change-Id: I21b42e555a5017e68cf43a6eaa19d991db36723d
---
 gnu/packages/machine-learning.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index e315be7f9f..8987688ae8 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -873,6 +873,34 @@ (define-public python-persim
 ")
     (license license:expat))) ; MIT License
 
+(define-public python-ripser
+  (package
+    (name "python-ripser")
+    (version "0.6.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ripser" version))
+       (sha256
+        (base32 "1575nwsn6b29z7w1mjk23ri83bxq2b4ld979hpgm174642a3x6vs"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-numpy python-persim python-scikit-learn
+                             python-scipy))
+    (native-inputs (list python-cython python-pytest))
+    (home-page "https://ripser.scikit-tda.org")
+    (synopsis "Persistent homology library for Python")
+    (description
+     "This package implements a variety of persistent homology algorithms.  It
+provides an interface for
+@itemize
+@item computing persistence cohomology of sparse and dense data sets
+@item visualizing persistence diagrams
+@item computing lowerstar filtrations on images
+@item computing representative cochains
+@end itemize
+")
+    (license license:expat))) ; MIT License
+
 (define-public python-sacrebleu
   (package
     (name "python-sacrebleu")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#67265] [PATCH v2 0/3] Add python-ripser and its dependencies
  2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
                   ` (5 preceding siblings ...)
  2023-11-18 21:54 ` [bug#67265] [PATCH 3/3] gnu: Add python-ripser Troy Figiel
@ 2024-01-07 20:15 ` Troy Figiel
  2024-01-09  9:18   ` bug#67265: " Mathieu Othacehe
  6 siblings, 1 reply; 9+ messages in thread
From: Troy Figiel @ 2024-01-07 20:15 UTC (permalink / raw)
  To: 67265

This patch series adds python-ripser, its direct dependency
python-persim and its transitive dependency python-hopcroftkarp.

I noticed that the first few patches I sent to Guix, were sent without a
base-commit. I have rebased the patch series that follows on master and given
it a base-commit.

Troy Figiel (3):
  gnu: Add python-hopcroftkarp.
  gnu: Add python-persim.
  gnu: Add python-ripser.

 gnu/packages/machine-learning.scm | 89 +++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)


base-commit: 5f8a993aa85554ca09bd27139230d7664107e1b6
-- 
2.42.0





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#67265: [PATCH v2 0/3] Add python-ripser and its dependencies
  2024-01-07 20:15 ` [bug#67265] [PATCH v2 0/3] Add python-ripser and its dependencies Troy Figiel
@ 2024-01-09  9:18   ` Mathieu Othacehe
  0 siblings, 0 replies; 9+ messages in thread
From: Mathieu Othacehe @ 2024-01-09  9:18 UTC (permalink / raw)
  To: Troy Figiel; +Cc: 67265-done


> This patch series adds python-ripser, its direct dependency
> python-persim and its transitive dependency python-hopcroftkarp.

Applied, thanks,

Mathieu




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-01-09  9:20 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-18 21:48 [bug#67265] [PATCH 0/3] Add python-ripser and missing dependencies Troy Figiel
2023-11-18 21:06 ` [bug#67265] [PATCH v2 1/3] gnu: Add python-hopcroftkarp Troy Figiel
2023-11-18 21:39 ` [bug#67265] [PATCH v2 2/3] gnu: Add python-persim Troy Figiel
2023-11-18 21:41 ` [bug#67265] [PATCH v2 3/3] gnu: Add python-ripser Troy Figiel
2023-11-18 21:52 ` [bug#67265] [PATCH 1/3] gnu: Add python-hopcroftkarp Troy Figiel
2023-11-18 21:53 ` [bug#67265] [PATCH 2/3] gnu: Add python-persim Troy Figiel
2023-11-18 21:54 ` [bug#67265] [PATCH 3/3] gnu: Add python-ripser Troy Figiel
2024-01-07 20:15 ` [bug#67265] [PATCH v2 0/3] Add python-ripser and its dependencies Troy Figiel
2024-01-09  9:18   ` bug#67265: " Mathieu Othacehe

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).