summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-03-28 17:56:53 +0200
committerRicardo Wurmus <rekado@elephly.net>2023-03-28 17:59:59 +0200
commitd7673b49c086c898a8e749fd042081dc9d4631b8 (patch)
tree8c0e3337ec638b3414f7131aabcd15edf779fee7 /gnu/packages/python-xyz.scm
parentb52fe15dc78a6e118488d70444c22a8480734c83 (diff)
gnu: Add python-omero-py.
* gnu/packages/python-xyz.scm (python-omero-py): New variable.
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm78
1 files changed, 78 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 58c28b68a7..615ee37537 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2891,6 +2891,84 @@ from @code{lxml}. It aims to provide a low memory, compatible implementation
of @code{xmlfile}.")
(license license:expat)))
+(define-public python-omero-py
+ (package
+ (name "python-omero-py")
+ (version "5.13.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ome/omero-py")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0n94v5dpmh873hjqd9k9ky85iab4xh37ibmi13rqpclv01ibvvxa"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ '(list "-m" "not broken" "-rf" "test" "-s"
+ ;; TestImport tries to download Java things; TestSessions
+ ;; and TestBuildQuery require networking.
+ "-k" "not TestImport and not TestSessions and not TestBuildQuery")
+ #:modules '((guix build pyproject-build-system)
+ (guix build utils)
+ (ice-9 match)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'find-artifacts
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((zip-file
+ (match inputs
+ (((labels . files) ...)
+ (find (cut string-suffix? "omero-blitz-5.5.5-python.zip" <>)
+ files)))))
+ (setenv "ZIP_FILE"
+ (or zip-file (error "failed to find artifact file"))))))
+ ;; Some tests need this, such as TestTempFileManager
+ (add-after 'build 'set-HOME
+ (lambda _ (setenv "HOME" "/tmp")))
+ ;; The sanity check mistakes omero_model_TypeAnnotationI.py for a
+ ;; module to load.
+ (delete 'sanity-check)
+ ;; The argument parser is picky and interprets the "-real" part as
+ ;; the first argument.
+ (add-after 'wrap 'rename-executable
+ (lambda _
+ (with-directory-excursion (string-append #$output "/bin")
+ (rename-file ".omero-real" ".omero")
+ (substitute* "omero"
+ (("bin/.omero-real") "bin/.omero"))))))))
+ (propagated-inputs
+ (list python-appdirs
+ python-future
+ python-numpy
+ python-pillow
+ python-pyyaml
+ python-requests
+ python-tables
+ python-zeroc-ice-3.6))
+ (native-inputs
+ (list python-mox3
+ python-pytest
+ python-pytest-rerunfailures
+ python-pytest-xdist
+ unzip
+ (origin
+ (method url-fetch)
+ (uri "https://artifacts.openmicroscopy.org/artifactory/\
+ome.releases/org/openmicroscopy/omero-blitz/5.5.5/omero-blitz-5.5.5-python.zip")
+ (sha256
+ (base32 "0wyja1zv19c1r3m31gsp555jzj3cg2v2pl00zlybpw3qd36yffwc")))))
+ (home-page "https://github.com/ome/omero-py")
+ (synopsis "Python bindings to the OMERO.blitz server")
+ (description "This package provides Python bindings to the OMERO.blitz
+server.")
+ (license license:gpl2)))
+
(define-public python-openpyxl
(package
(name "python-openpyxl")