aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gn/packages/cwl.scm90
-rw-r--r--gn/packages/genenetwork.scm1
-rw-r--r--gn/packages/python.scm279
3 files changed, 285 insertions, 85 deletions
diff --git a/gn/packages/cwl.scm b/gn/packages/cwl.scm
index 4f04f41..5a01dbf 100644
--- a/gn/packages/cwl.scm
+++ b/gn/packages/cwl.scm
@@ -3,9 +3,14 @@
(define-module (gn packages cwl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
+ #:use-module (gnu packages check)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages node)
#:use-module (gnu packages rdf)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages time)
+ #:use-module (gnu packages version-control)
#:use-module (gn packages python)
#:use-module (guix download)
#:use-module (guix packages)
@@ -16,55 +21,84 @@
; #:use-module (guix build-system trivial)
#:use-module (srfi srfi-1))
-(define-public python-cwltool ; guix: needs work
+(define-public cwltool ; guix: needs work
+ (let ((commit "e12d36b6efbc5d4a6ff7b4fbfd7387bff8f72727"))
(package
- (name "python-cwltool")
- (version "1.0.20150916041152")
+ (name "cwltool")
+ (version "1.0.20181012180214")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/c/cwltool/cwltool-"
- version
- ".tar.gz"))
+ ; (method url-fetch)
+ ; (uri (string-append
+ ; "https://pypi.python.org/packages/source/c/cwltool/cwltool-"
+ ; version
+ ; ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/genenetwork/cwltool.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1kqxc6nvq4nr8qdv39ycdi6fhzaipgjpmbghsz94ij6jhf5r3dq2"))))
+ "1zhba1hfizrw3bxfmhpjds92pj79hyyv5k7sglw24z52kg1in67p"))))
(build-system python-build-system)
- (inputs
- `(("python-setuptools" ,python-setuptools)
+ (propagated-inputs ; a lot of these are used for testing
+ `(("git" ,git)
+ ("node" ,node)
+ ("python-bagit" ,python-bagit)
+ ("python-arcp" ,python-arcp)
+ ("python-setuptools" ,python-setuptools)
+ ("python-dateutil" ,python-dateutil)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-prov" ,python-prov)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-rdflib" ,python-rdflib)
("python-pyparsing" ,python-pyparsing)
- ))
- (propagated-inputs
- `(("python-schema-salad" ,python-schema-salad)
+ ("python-pytest-mock" ,python-pytest-mock)
+ ("python-mock" ,python-mock)
+ ("python-subprocess32" ,python-subprocess32)
+ ("python-ruamel.yaml" ,python-ruamel.yaml)
+ ("python-cachecontrol" ,python-cachecontrol)
+ ("python-lxml" ,python-lxml)
+ ("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-mistune" ,python-mistune)
+ ("python-networkx" ,python-networkx)
+ ("python-schema-salad" ,python-schema-salad)
("python-html5lib" ,python-html5lib)
+ ("python-rdflib-jsonld" ,python-rdflib-jsonld)
+ ("python-typing-extensions" ,python-typing-extensions)
+ ("python-scandir" ,python-scandir)
+ ("python-psutil" ,python-psutil)
))
- (arguments `(#:tests? #f)) ;; CWL includes no tests.
+ ; (arguments `(#:tests? #f)) ;; CWL includes no tests.
+ (arguments
+ `(;#:phases
+ ; (modify-phases %standard-phases
+ ; (replace 'check
+ ; (lambda* (#:key inputs outputs #:allow-other-keys)
+ ; (invoke "python" "-m" "pytest")
+ ; )))
+ #:tests? #f)) ; Disable for now
+
(home-page
"https://github.com/common-workflow-language/common-workflow-language")
(synopsis
"Common workflow language reference implementation")
(description
"Common workflow language reference implementation")
- (license license:asl2.0)))
-
-(define-public python2-cwltool
- (package-with-python2 python-cwltool))
+ (license license:asl2.0))))
(define-public python-schema-salad
(package
(name "python-schema-salad")
- (version "1.0.2")
+ (version "3.0.20181129082112")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/s/schema-salad/schema-salad-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "schema-salad" version))
(sha256
(base32
- "09axiiirq73s1cs21n8mkdslaca2gxc2mlayyl6yiaq98cfgfh37"))))
+ "1xg70v82q053vz1sg8sc99alnkrm2kk05w6698vgmngl1767sk97"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ;; CWL includes no tests.
(inputs
@@ -73,7 +107,7 @@
("python-rdflib-jsonld" ,python-rdflib-jsonld)
("python-mistune" ,python-mistune)))
(propagated-inputs
- `(("python-rdflib-4.2" ,python-rdflib-4.2)
+ `(("python-rdflib" ,python-rdflib)
("python-avro" ,python-avro)
("python-pyyaml" ,python-pyyaml)
("python-requests" ,python-requests)
@@ -87,5 +121,5 @@
"Schema Annotations for Linked Avro Data (SALAD)")
(license license:asl2.0)))
-(define-public python2-schema-salad
- (package-with-python2 python-schema-salad))
+; (define-public python2-schema-salad
+; (package-with-python2 python-schema-salad))
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index a54b557..f4e1372 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -477,6 +477,7 @@ written in C")
("python-numpy" ,python-numpy)
("python-redis" ,python-redis)
("python-scipy" ,python-scipy)
+ ("python-pillow" ,python-pillow)
("python-reaper" ,python-reaper)
("python-pyyaml" ,python-pyyaml)
("python-jinja2" ,python-jinja2)
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index 5ce44d6..75f7cab 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -11,6 +11,7 @@
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
@@ -26,6 +27,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tex)
@@ -131,6 +133,100 @@ functions.")
(license license:expat))
)
+(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
+ "1m6y04qmig0b5hzb35lnaw3d2yfydb7alyr1579yblvgs3da6j7j"))))
+ (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))
+)
+
+(define-public python-prov ; guix candidate
+(package
+ (name "python-prov")
+ (version "1.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "prov" version))
+ (sha256
+ (base32
+ "1a9h406laclxalmdny37m0yyw7y17n359akclbahimdggq853jd0"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-rdflib" ,python-rdflib)
+ ("python-lxml" ,python-lxml)
+ ("python-networkx" ,python-networkx)
+ ("python-dateutil" ,python-dateutil)
+ ("python-pydot" ,python-pydot)
+ ("graphviz" ,graphviz) ; for testing
+ ))
+ (home-page "https://github.com/trungdong/prov")
+ (synopsis
+ "A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)")
+ (description
+ "A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)")
+ (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
+ "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))
+)
+
+(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
+ "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))
+)
+
(define-public python-inotify ; guix candidate
(package
(name "python-inotify")
@@ -218,22 +314,20 @@ functions.")
(define-public python-rdflib-jsonld ; guix ready
(package
(name "python-rdflib-jsonld")
- (version "0.3")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/r/rdflib-jsonld/rdflib-jsonld-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "rdflib-jsonld" version))
(sha256
(base32
- "121a876k49xl85jvikyh4hzvm34456ikw66cra5dfyr15br1qjll"))))
+ "0bdw2pbjmpy1l4p6slsjn54bqy6crk5hk4san84xxirgd9w78iql"))))
(build-system python-build-system)
(inputs
`(("python-setuptools" ,python-setuptools)))
(propagated-inputs
- `(("python-rdflib-4.2" ,python-rdflib-4.2)
+ `(("python-rdflib" ,python-rdflib)
+ ("python-isodate" ,python-isodate)
("python-pyparsing" ,python-pyparsing)
("python-html5lib" ,python-html5lib)
("python-nose" ,python-nose)
@@ -250,50 +344,6 @@ functions.")
(package-with-python2 python-rdflib-jsonld))
-(define-public python-rdflib-4.2
- (package
- (name "python-rdflib-4.2")
- (version "4.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/r/rdflib/rdflib-"
- version
- ".tar.gz"))
- (patches
- ;; The patch has no effect under Python 3.
- (list (search-patch "python2-rdflib-drop-sparqlwrapper.patch")))
- (sha256
- (base32
- "1h3f8yl9frjz8rsykjdjk83qsrcvld3qa7pkzh69s91h97ydl83l"))))
- (build-system python-build-system)
- (inputs
- `(("python-html5lib" ,python-html5lib)
- ("python-isodate" ,python-isodate)
- ("python-pyparsing" ,python-pyparsing)
- ("python-setuptools" ,python-setuptools)))
- (arguments `(#:tests? #f)) ;; No tests.
- (home-page "https://github.com/RDFLib/rdflib")
- (synopsis
- "Python RDF library")
- (description
- "RDFLib is a Python library for working with RDF, a simple yet
-powerful language for representing information.")
- (license (license:non-copyleft "file://LICENSE"
- "See LICENSE in the distribution."))))
-
-(define-public python2-rdflib-4.2
- (let ((base (package-with-python2 python-rdflib-4.2)))
- (package
- (inherit base)
- (inputs
- (append (package-inputs base)
- `(("python-nose" ,python-nose))))
- (arguments
- `(#:python ,python-2
- #:tests? #f))))) ; 3 tests fail, also outside Guix
-
(define-public python-rserve
(package
(name "python-rserve")
@@ -326,20 +376,62 @@ powerful language for representing information.")
(define-public python2-rserve
(package-with-python2 python-rserve))
+(define-public python-setuptools
+ (package
+ (name "python-setuptools")
+ (version "40.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip"
+ )
+ (sha256
+ (base32
+ "1y085dnk574sxw9aymdng9gijvrsbw86hsv9hqnhv7y4d6nlsirv"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove included binaries which are used to build self-extracting
+ ;; installers for Windows.
+ ;; TODO: Find some way to build them ourself so we can include them.
+ (for-each delete-file (find-files "setuptools" "^(cli|gui).*\\.exe$"))
+ #t))))
+ (build-system python-build-system)
+ ;; FIXME: Tests require pytest, which itself relies on setuptools.
+ ;; One could bootstrap with an internal untested setuptools.
+ (arguments
+ `(#:tests? #f))
+ (home-page "https://pypi.python.org/pypi/setuptools")
+ (synopsis
+ "Library designed to facilitate packaging Python projects")
+ (description
+ "Setuptools is a fully-featured, stable library designed to facilitate
+packaging Python projects, where packaging includes:
+Python package and module definitions,
+distribution package metadata,
+test hooks,
+project installation,
+platform-specific details,
+Python 3 support.")
+ ;; TODO: setuptools now bundles the following libraries:
+ ;; packaging, pyparsing, six and appdirs. How to unbundle?
+ (license (list license:psfl ; setuptools itself
+ license:expat ; six, appdirs, pyparsing
+ license:asl2.0 ; packaging is dual ASL2/BSD-2
+ license:bsd-2))))
+
+
(define-public python-avro ; guix ready - used by CWL
(package
(name "python-avro")
- (version "1.7.7")
+ (version "1.8.2")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/a/avro/avro-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "avro" version))
(sha256
(base32
- "0n21lfclah7bmqnnqfqmpsrimz0s86qkxyn972jynq234n1lyynf"))))
+ "0nabn1hzj1880qsp7fkg7923c0xdqk4i35s15asmy2xp604f97lg"))))
(build-system python-build-system)
(inputs
`(("python-setuptools" ,python-setuptools)))
@@ -619,3 +711,76 @@ the older versions.")
(description "This is a python library for generating html from classes.")
(home-page "https://github.com/srittau/python-htmlgen")
(license license:expat)))
+
+(define-public python-version
+(let ((commit "e5aadc720bb74c535f29e5a2de5cd9697efe8d7c"))
+(package
+ (name "python-version")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ ; (url "https://github.com/genenetwork/pylmm.git")
+ (url "https://github.com/keleshev/version.git") ; version not in pypi
+ (commit commit)))
+ (file-name (string-append name "-" commit))
+ (sha256
+ (base32
+ "1rc8kf72v180qlygkh1y0jwv2fxqpx7n97bqfhbwgnn31iwai9g3"))))
+ (build-system python-build-system)
+ (build-system python-build-system)
+ (propagated-inputs
+ `(
+ ("python-more-itertools" ,python-more-itertools)
+ ("python-pytest" ,python-pytest)))
+ (home-page "http://github.com/halst/version")
+ (synopsis "Implementation of semantic version")
+ (description
+ "Implementation of semantic version")
+ (license license:expat)
+)))
+
+(define-public python-mypy-extensions
+(package
+ (name "python-mypy-extensions")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy_extensions" version))
+ (sha256
+ (base32
+ "04h8brrbbx151dfa2cvvlnxgmb5wa00mhd2z7nd20s8kyibfkq1p"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-version" ,python-version)
+ ("python-typing" ,python-typing)))
+ (home-page "http://www.mypy-lang.org/")
+ (synopsis
+ "Experimental type system extensions for programs checked with the mypy typechecker.")
+ (description
+ "Experimental type system extensions for programs checked with the mypy typechecker.")
+ (license #f))
+)
+
+
+(define-public python-arcp
+(package
+ (name "python-arcp")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "arcp" version))
+ (sha256
+ (base32
+ "0h8sn0mlb6vb8wqqnqc4pxdklrkyx3p72afdhm7b9kyalrqzd7dd"))))
+ (build-system python-build-system)
+ (home-page "http://arcp.readthedocs.io/")
+ (synopsis
+ "arcp (Archive and Package) URI parser and generator")
+ (description
+ "arcp (Archive and Package) URI parser and generator")
+ (license license:asl2.0))
+)