about summary refs log tree commit diff
path: root/gn/packages/python.scm
diff options
context:
space:
mode:
authorPjotr Prins2019-08-01 08:59:33 -0500
committerPjotr Prins2019-08-01 08:59:33 -0500
commita5a1e75c1379d9c26c0a0f9dbb9fb069c7bf7f18 (patch)
tree198824fa4435adb7bc850f129fff600d607eaa22 /gn/packages/python.scm
parentfd06a7a744cb2368d410e131b4f8c6bc7738cc94 (diff)
parent25db4463972bc8729436d84d8be003ea7eacad71 (diff)
downloadguix-bioinformatics-a5a1e75c1379d9c26c0a0f9dbb9fb069c7bf7f18.tar.gz
Merge branch 'master' of gitlab.com:genenetwork/guix-bioinformatics
Diffstat (limited to 'gn/packages/python.scm')
-rw-r--r--gn/packages/python.scm453
1 files changed, 334 insertions, 119 deletions
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index 651a635..ee32a61 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages statistics)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages time)
@@ -134,31 +135,75 @@ functions.")
   (license license:expat))
 )
 
+(define-public python-plotly-3.2.1
+  (package
+    (inherit python-plotly)
+    (name "python-plotly")
+    (version "3.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "plotly" version))
+        (sha256
+         (base32
+          "1ay1plgsckfi7fddl99kvbcx5nifh48ahvszkqvb4d7r008m8sxk"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-decorator" ,python-decorator)
+       ("python-nbformat" ,python-nbformat)
+       ("python-pytz" ,python-pytz)
+       ("python-requests" ,python-requests)
+       ("python-retrying" ,python-retrying)
+       ("python-six" ,python-six)))))
+
+(define-public python-retrying
+  (package
+    (name "python-retrying")
+    (version "1.3.3")
+    (source
+      (origin
+        ;; pypi release doesn't have test library
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/rholder/retrying")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "1kqipkbdaw5s1xg0gi29awm03vp1x8dz24pjidgxagvkvrjpzhi7"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-six" ,python-six)))
+    (home-page "https://github.com/rholder/retrying")
+    (synopsis "General-purpose retrying library")
+    (description "Retrying is a general-purpose retrying library, written in
+Python, to simplify the task of adding retry behavior to just about anything.
+The simplest use case is retrying a flaky function whenever an Exception occurs
+until a value is returned.")
+    (license license:asl2.0)))
+
 (define-public python-bagit; guix candidate
-(package
-  (name "python-bagit")
-  (version "1.7.0")
-  (source
-    (origin
-      (method url-fetch)
-      (uri "https://files.pythonhosted.org/packages/ee/11/7a7fa81c0d43fb4d449d418eba57fc6c77959754c5c2259a215152810555/bagit-1.7.0.tar.gz")
-      (sha256
-        (base32
+  (package
+    (name "python-bagit")
+    (version "1.7.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "bagit" version))
+        (sha256
+         (base32
           "1m6y04qmig0b5hzb35lnaw3d2yfydb7alyr1579yblvgs3da6j7j"))))
-  (build-system python-build-system)
-  (inputs
+    (build-system python-build-system)
+    (inputs
      `(("python-setuptools-scm" ,python-setuptools-scm)
-      ("python-coverage" ,python-coverage)
-      ("python-mock" ,python-mock)
-      ))
-  (arguments `(#:tests? #f)) ;; No tests.
-  (home-page "https://pypi.python.org/pypi/bagit")
-  (synopsis
-    "Python bagit.")
-  (description
-    "Python bagit.")
-  (license license:gpl2))
-)
+       ("python-coverage" ,python-coverage)
+       ("python-mock" ,python-mock)))
+    (arguments `(#:tests? #f)) ;; No tests.
+    (home-page "https://pypi.python.org/pypi/bagit")
+    (synopsis "Create and validate BagIt packages")
+    (description
+      "Create and validate BagIt packages")
+    (license license:gpl2)))
 
 (define-public python-prov ; guix candidate
 (package
@@ -188,44 +233,43 @@ functions.")
   (license license:expat)))
 
 (define-public python-typing-extensions; guix candidate
-(package
-  (name "python-typing-extensions")
-  (version "3.6.6")
-  (source
-    (origin
-      (method url-fetch)
-      (uri "https://files.pythonhosted.org/packages/fc/e6/3d2f306b12f01bde2861d67458d32c673e206d6fcc255537bf452db8f80c/typing_extensions-3.6.6.tar.gz")
-      (sha256
-        (base32
+  (package
+    (name "python-typing-extensions")
+    (version "3.6.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "typing_extensions" version))
+        (sha256
+         (base32
           "07vhddjnd3mhdijyc3s0mwi9jgfjp3rr056nxqiavydbvkrvgrsi"))))
-  (build-system python-build-system)
-  (home-page "https://pypi.python.org/pypi/typing_extensions")
-  (synopsis
-    "Python typing_extensions.")
-  (description
-    "Python typing_extensions.")
-  (license license:gpl2))
+    (build-system python-build-system)
+    (home-page "https://pypi.python.org/pypi/typing_extensions")
+    (synopsis "Python typing_extensions.")
+    (description
+     "Python typing_extensions.")
+    (license license:gpl2))
 )
 
 (define-public python-subprocess32 ; guix candidate
-(package
-  (name "python-subprocess32")
-  (version "0.2.9")
-  (source
-    (origin
-      (method url-fetch)
-      (uri "https://files.pythonhosted.org/packages/be/2b/beeba583e9877e64db10b52a96915afc0feabf7144dcbf2a0d0ea68bf73d/subprocess32-3.5.3.tar.gz")
-      (sha256
-        (base32
+  (package
+    (name "python-subprocess32")
+    (version "3.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "subprocess32" version))
+        (sha256
+         (base32
           "1hr5fan8i719hmlmz73hf8rhq74014w07d8ryg7krvvf6692kj3b"))))
-  (build-system python-build-system)
-  (arguments `(#:tests? #f)) ;; No tests.
-  (home-page "https://pypi.python.org/pypi/subprocess32")
-  (synopsis
-    "Python subprocess32.")
-  (description
-    "Python subprocess32.")
-  (license license:gpl2))
+    (build-system python-build-system)
+    (arguments `(#:tests? #f)) ;; No tests.
+    (home-page "https://pypi.python.org/pypi/subprocess32")
+    (synopsis
+      "Python subprocess32.")
+    (description
+      "Python subprocess32.")
+    (license license:gpl2))
 )
 
 (define-public python-inotify ; guix candidate
@@ -447,30 +491,25 @@ Python 3 support.")
   (package-with-python2 python-avro))
 
 (define-public python-shellescape ; guix ready
-(package
-  (name "python-shellescape")
-  (version "3.4.1")
-  (source
-    (origin
-      (method url-fetch)
-      (uri (string-append
-             "https://pypi.python.org/packages/source/s/shellescape/shellescape-"
-             version
-             ".tar.gz"))
-      (sha256
-        (base32
+  (package
+    (name "python-shellescape")
+    (version "3.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "shellescape" version))
+        (sha256
+         (base32
           "0n5ky1b2vw2y0d4xl3qybyp2rk0gq5frjs8nr8ak6mgj2fyb4676"))))
-  (build-system python-build-system)
-  (inputs
-    `(("python-setuptools" ,python-setuptools)))
-  (home-page
-    "https://github.com/chrissimpkins/shellescape")
-  (synopsis
-    "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)")
-  (description
-    "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)")
-  (license expat))
-)
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/chrissimpkins/shellescape")
+    (synopsis
+      "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)")
+    (description
+      "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)")
+    (license license:expat)))
 
 (define-public python2-shellescape
   (package-with-python2 python-shellescape))
@@ -533,59 +572,68 @@ project)")
 (define-public python2-pil1 ; guix obsolete
   (package
     (name "python2-pil1")
-    (version "1.1.6")
+    (version "1.1.7")
     (source (origin
              (method url-fetch)
-             (uri (string-append
-                   "http://files.genenetwork.org/software/contrib/Imaging-"
-                   version "-gn.tar.gz"))
+             (uri (string-append "http://effbot.org/downloads/Imaging-"
+                                 version ".tar.gz"))
              (sha256
               (base32
-               "0jhinbcq2k899c76m1jc5a3z39k6ajghiavpzi6991hbg6xhxdzg"))
+               "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"))
     (modules '((guix build utils)))
     (snippet
-     ;; Adapt to newer freetype. As the package is unmaintained upstream,
-     ;; there is no use in creating a patch and reporting it.
-     '(substitute* "_imagingft.c"
-                   (("freetype/")
-                    "freetype2/freetype/")))))
+     ;; Adapt to newer freetype and lcms.  As the package is unmaintained
+     ;; upstream, there is no use in creating a patch and reporting it.
+     '(begin (substitute* "_imagingft.c"
+               (("freetype/")
+                "freetype2/freetype/"))
+             (substitute* '("setup.py"
+                            "_imagingcms.c")
+               (("lcms.h") "lcms2.h"))))))
     (build-system python-build-system)
     (inputs
-      `(("freetype" ,freetype)
-        ("libjpeg" ,libjpeg)
-        ("libtiff" ,libtiff)
-        ("python2-setuptools" ,python2-setuptools)
-        ("zlib" ,zlib)))
+     `(("freetype" ,freetype)
+       ("lcms" ,lcms) ; not fully supported
+       ("libjpeg" ,libjpeg)
+       ("libtiff" ,libtiff)
+       ("tcl" ,tcl)
+       ("zlib" ,zlib)))
     (arguments
      ;; Only the fork python-pillow works with Python 3.
      `(#:python ,python-2
        #:tests? #f ; no check target
+       #:use-setuptools? #f
        #:phases
-         (alist-cons-before
-          'build 'configure
-          ;; According to README and setup.py, manual configuration is
-          ;; the preferred way of "searching" for inputs.
-          ;; lcms is not found, TCL_ROOT refers to the unavailable tkinter.
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((jpeg (assoc-ref inputs "libjpeg"))
-                  (zlib (assoc-ref inputs "zlib"))
-                  (tiff (assoc-ref inputs "libtiff"))
-                  (freetype (assoc-ref inputs "freetype")))
-              (substitute* "setup.py"
-                (("JPEG_ROOT = None")
-                 (string-append "JPEG_ROOT = libinclude(\"" jpeg "\")"))
-                (("ZLIB_ROOT = None")
-                 (string-append "ZLIB_ROOT = libinclude(\"" zlib "\")"))
-                (("TIFF_ROOT = None")
-                 (string-append "TIFF_ROOT = libinclude(\"" tiff "\")"))
-                (("FREETYPE_ROOT = None")
-                 (string-append "FREETYPE_ROOT = libinclude(\""
-                                freetype "\")")))))
-          %standard-phases)))
+       (modify-phases %standard-phases
+         (add-after 'unpack 'link-libraries
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((freetype (assoc-ref inputs "freetype"))
+                   (jpeg (assoc-ref inputs "libjpeg"))
+                   (lcms (assoc-ref inputs "lcms"))
+                   (tcl (assoc-ref inputs "tcl"))
+                   (tiff (assoc-ref inputs "libtiff"))
+                   (zlib (assoc-ref inputs "zlib")))
+               (substitute* "setup.py"
+                 (("FREETYPE_ROOT .*")
+                  (string-append "FREETYPE_ROOT = libinclude(\"" freetype "\")\n"))
+                 (("JPEG_ROOT .*")
+                  (string-append "JPEG_ROOT = libinclude(\"" jpeg "\")\n"))
+                 (("LCMS_ROOT .*")
+                  (string-append "LCMS_ROOT = libinclude(\"" lcms "\")\n"))
+                 (("^TCL_ROOT .*")
+                  (string-append "TCL_ROOT = libinclude(\"" tcl "\")\n"))
+                 (("TIFF_ROOT .*")
+                  (string-append "TIFF_ROOT = libinclude(\"" tiff "\")\n"))
+                 (("ZLIB_ROOT .*")
+                  (string-append "ZLIB_ROOT = libinclude(\"" zlib "\")\n"))))
+             #t)))))
     (home-page "http://www.pythonware.com/products/pil/")
     (synopsis "Python Imaging Library")
-    (description "The Python Imaging Library (PIL) adds image processing
-capabilities to the Python interpreter.")
+    (description "The @dfn{Python Imaging Library} (PIL) adds image processing
+capabilities to your Python interpreter.  This library supports many file
+formats, and provides powerful image processing and graphics capabilities.
+
+NOTE: This package is superseded by python-pillow")
     (license (license:x11-style
                "file://README"
                "See 'README' in the distribution."))))
@@ -618,6 +666,34 @@ version ".tgz"))
     (description #f)
     (license #f)))
 
+(define-public python2-piddle-1.0.15
+  (package
+    (name "python2-piddle")
+    (version "1.0.15")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://sourceforge/piddle/piddle/"
+                            version "/piddle-" version ".zip"))
+        (sha256
+         (base32
+          "0jaxfsrcgqb5cf2wznxnpdws5khlrdixmg85lrhq2zl9cy6dfdya"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:use-setuptools? #f
+       #:tests? #f)) ; tests are interactive
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (propagated-inputs
+     `(("python2-pil" ,python2-pil1)))
+    (home-page "http://www.strout.net/info/coding/python/piddle/")
+    (synopsis "Plug-In Drawing, Does Little Else")
+    (description "PIDDLE is designed for vector graphics -- i.e., drawing of
+primitives such as lines and ellipses, rather than manipulation of individual
+pixels.")
+    (license license:gpl2+)))
+
 (define-public python2-parallel ; guix fix number of things
   (package
     (name "python2-parallel")
@@ -695,7 +771,7 @@ the older versions.")
 (define-public python-htmlgen
   (package
     (name "python-htmlgen")
-    (version "1.0.0")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
@@ -704,8 +780,10 @@ the older versions.")
 	     version ".tar.gz"))
        (sha256
 	(base32
-	 "1rwgqxhmc93l60wf4ay7ph619710kvyp73s22i0snjpm5i0bhc46"))))
+	 "0w3pcvm68jfdhnsxwwwifwhqqj9kqg3195b52hqd23qza480xilx"))))
     (build-system python-build-system)
+    (propagated-inputs
+     `(("python-typing" ,python-typing)))
     (arguments
      `(#:tests? #f))
     (synopsis "Python HTML 5 Generator")
@@ -713,6 +791,9 @@ the older versions.")
     (home-page "https://github.com/srittau/python-htmlgen")
     (license license:expat)))
 
+(define-public python2-htmlgen
+  (package-with-python2 python-htmlgen))
+
 (define-public python-version
 (let ((commit "e5aadc720bb74c535f29e5a2de5cd9697efe8d7c"))
 (package
@@ -730,7 +811,6 @@ the older versions.")
         (base32
           "1rc8kf72v180qlygkh1y0jwv2fxqpx7n97bqfhbwgnn31iwai9g3"))))
   (build-system python-build-system)
-  (build-system python-build-system)
   (propagated-inputs
     `(
     ("python-more-itertools" ,python-more-itertools)
@@ -784,3 +864,138 @@ the older versions.")
     "arcp (Archive and Package) URI parser and generator")
   (license license:asl2.0))
 )
+
+(define-public python2-pp
+  (package
+    (name "python2-pp")
+    (version "1.6.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+             "http://www.parallelpython.com/downloads/pp/pp-" version ".zip"))
+        (sha256
+         (base32
+          "0qkxcyclz3vgwpl6xvsrg76q59dj0wwy8qx15567bafv659ypyb1"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:use-setuptools? #f
+       #:tests? #f)) ; no tests
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (home-page "http://www.parallelpython.com")
+    (synopsis "Parallel and distributed programming for Python")
+    (description "PP is a python module which provides mechanism for parallel
+execution of python code on SMP (systems with multiple processors or cores) and
+clusters (computers connected via network).")
+    (license license:bsd-3)))
+
+(define GN1-thirdparty-sources
+  (origin
+    (method url-fetch/tarbomb)
+    ;; ipfs get QmTPwYT2pehdxdG1TiHEzVzLgbeuhJ4utXShuz3twA84AB
+    (uri "file:///gnu/store/p33a2sh3x2nhiiphdw9nly80njg6p8fi-thirdparty.tgz")
+    (file-name "GN1-thirdparty")
+    (sha256
+     (base32
+      "0nnp6g412hjfrcn3k2yrfb14sxv06k0149whc7qmv678nyj5zhfa"))))
+
+(define-public python2-json-GN1
+  (package
+    (name "python2-json-GN1")
+    (version "GN1")
+    (source GN1-thirdparty-sources)
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build)
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out     (assoc-ref outputs "out"))
+                    (sitedir (string-append out "/lib/python2.7/site-packages/json/")))
+               (mkdir-p sitedir)
+               (copy-recursively "thirdparty/json" sitedir)
+               #t))))))
+    (home-page "")
+    (synopsis "")
+    (description "")
+    (license license:lgpl2.1+)))
+
+(define-public python2-pyx-GN1
+  (package
+    (name "python2-pyx-GN1")
+    (version "0.8")
+    (source GN1-thirdparty-sources)
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build)
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out     (assoc-ref outputs "out"))
+                    (sitedir (string-append out "/lib/python2.7/site-packages/pyx/")))
+               (mkdir-p sitedir)
+               (copy-recursively "thirdparty/pyx" sitedir)
+               #t))))))
+    (home-page "")
+    (synopsis "")
+    (description "")
+    (license license:gpl2+)))
+
+(define-public python2-pyxlwriter
+  (package
+    (name "python2-pyxlwriter")
+    (version "0.4a3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://sourceforge/pyxlwriter/pyxlwriter/"
+                            version "/pyXLWriter-" version ".zip"))
+        (sha256
+         (base32
+          "1kfsi6la9y53rwayszgayfmkjfknpp650v69a0hwd1fcfk1df735"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:use-setuptools? #f
+       #:tests? #f)) ; no tests
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (home-page "https://sourceforge.net/projects/pyxlwriter/")
+    (synopsis "Python library for generating Excel compatible spreadsheets")
+    (description "PyXLWriter is a Python library for generating Excel compatible
+spreadsheets.  It's a port of John McNamara's Perl @code{Spreadsheet::WriteExcel}
+module version 1.01 to Python.  It allows writing of Excel compatible
+spreadsheets without the need for COM objects.")
+    (license license:lgpl2.1+)))
+
+(define-public python2-svg-GN1
+  (package
+    (name "python2-svg-GN1")
+    (version "1.0")
+    (source GN1-thirdparty-sources)
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build)
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out     (assoc-ref outputs "out"))
+                    (sitedir (string-append out "/lib/python2.7/site-packages/svg/")))
+               (mkdir-p sitedir)
+               (copy-recursively "thirdparty/svg" sitedir)
+               #t))))))
+    (home-page "")
+    (synopsis "")
+    (description "")
+    (license license:bsd-4)))