diff options
-rw-r--r-- | gn/packages/cwl.scm | 90 | ||||
-rw-r--r-- | gn/packages/genenetwork.scm | 1 | ||||
-rw-r--r-- | gn/packages/python.scm | 279 |
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)) +) |