[PATCH] gnu: Add python-synapseclient.

  • Open
  • quality assurance status badge
Details
4 participants
  • Jonathan Brielmaier
  • M?d?lin Ionel Patra?cu
  • Maxim Cournoyer
  • Ricardo Wurmus
Owner
unassigned
Submitted by
M?d?lin Ionel Patra?cu
Severity
normal
M
M
M?d?lin Ionel Patra?cu wrote on 13 Nov 2022 06:43
(address . guix-patches@gnu.org)
20221113054308.5582-1-madalinionel.patrascu@mdc-berlin.de
* gnu/packages/python-xyz.scm (python-synapseclient): New variable.
---
gnu/packages/python-xyz.scm | 60 +++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)

Toggle diff (75 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e26656fa32..b599a2e4ed 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10383,6 +10383,66 @@ (define-public python-sympy
as possible in order to be comprehensible and easily extensible.")
(license license:bsd-3)))
+(define-public python-synapseclient
+ (package
+ (name "python-synapseclient")
+ (version "2.7.0")
+ (source (origin
+ ;; git version contains tests
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/Sage-Bionetworks/synapsePythonClient")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0v2yyjpmxlxmbn1xbxzx1l1bs45ir9p4i51dlf847irnrrmifxcd"))))
+ ;;(method url-fetch)
+ ;;(uri (pypi-uri "synapseclient" version))
+ ;;(sha256
+ ;; (base32
+ ;; "1g2n5bbq5vkvprk4ap3sbz2q39cjwl8igy3krlskg34c1q7if7r4"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-version-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("keyring>=15,<23\\.5") "keyring>=15")
+ (("keyrings\\.alt==3\\.1") "keyrings.alt>=3.1"))))
+ (add-before 'build 'set-homeless-shelter
+ (lambda _
+ ;; could not create '/homeless-shelter': Permission denied
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; these tests require server authentification SynapseNoCredentialsError
+ (delete-file-recursively "tests/integration/synapseclient")
+ (delete-file-recursively "tests/integration/synapseutils")
+ (invoke "pytest")))))))
+ (propagated-inputs
+ (list python-deprecated
+ python-keyring
+ python-keyrings.alt
+ python-requests))
+ (native-inputs
+ (list python-boto3
+ python-flake8-3.8
+ python-pandas
+ python-psutil
+ python-pytest
+ python-pytest-mock
+ python-pytest-xdist-next))
+ (home-page "https://www.synapse.org")
+ (synopsis "Client for Synapse, a collaborative compute space")
+ (description
+ "This package provides a client for @code{Synapse}, a collaborative compute
+space that allows scientists to share and analyze data together.")
+ (license license:asl2.0)))
+
(define-public python-q
(package
(name "python-q")

base-commit: c4025af8c11c3e9ea0c2747b6c475c916fb61d80
--
2.38.1
J
R
R
Ricardo Wurmus wrote on 17 Nov 2022 12:24
(name . M?d?lin Ionel Patra?cu)(address . madalinionel.patrascu@mdc-berlin.de)(address . 59239@debbugs.gnu.org)
87v8ndu8ew.fsf@elephly.net
Hi M?d?lin,

Toggle quote (1 lines)
> * gnu/packages/python-xyz.scm (python-synapseclient): New variable.
[…]

Toggle quote (6 lines)
> + ;;(method url-fetch)
> + ;;(uri (pypi-uri "synapseclient" version))
> + ;;(sha256
> + ;; (base32
> + ;; "1g2n5bbq5vkvprk4ap3sbz2q39cjwl8igy3krlskg34c1q7if7r4"))))

Please remove this commented code.

Toggle quote (9 lines)
> + (build-system python-build-system)
> + (arguments
> + '(#:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'relax-version-requirements
> + (lambda _
> + (substitute* "setup.py"
> + (("keyring>=15,<23\\.5") "keyring>=15")

Is this really a good idea? Upper bounds usually exist for a reason.
We currently have version 23.9. Can you please clear this with upstream
first?

Toggle quote (6 lines)
> + (("keyrings\\.alt==3\\.1") "keyrings.alt>=3.1"))))
> + (add-before 'build 'set-homeless-shelter
> + (lambda _
> + ;; could not create '/homeless-shelter': Permission denied
> + (setenv "HOME" "/tmp")))

We’re setting HOME, not homeless-shelter.

Toggle quote (8 lines)
> + (replace 'check
> + (lambda* (#:key tests? #:allow-other-keys)
> + (when tests?
> + ;; these tests require server authentification SynapseNoCredentialsError
> + (delete-file-recursively "tests/integration/synapseclient")
> + (delete-file-recursively "tests/integration/synapseutils")
> + (invoke "pytest")))))))

typo: “authentication”. What exactly does this error mean? Does it
talk to the internet? How are these tests supposed to be run?

Is it possible to disable these tests with an option to pytest? That
would seem better than conditionally deleting them.

Finally, I think the test files should be deleted unconditionally, so
that “tests?” only governs whether the tests are *run* instead of also
causing other side effects.

--
Ricardo
M
M
Maxim Cournoyer wrote on 21 Mar 2023 14:06
Re: bug#59239: [PATCH] gnu: Add python-synapseclient.
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87edpis18e.fsf_-_@gmail.com
Hello M?d?lin,

Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (52 lines)
> Hi M?d?lin,
>
>> * gnu/packages/python-xyz.scm (python-synapseclient): New variable.
> […]
>
>> + ;;(method url-fetch)
>> + ;;(uri (pypi-uri "synapseclient" version))
>> + ;;(sha256
>> + ;; (base32
>> + ;; "1g2n5bbq5vkvprk4ap3sbz2q39cjwl8igy3krlskg34c1q7if7r4"))))
>
> Please remove this commented code.
>
>> + (build-system python-build-system)
>> + (arguments
>> + '(#:phases
>> + (modify-phases %standard-phases
>> + (add-after 'unpack 'relax-version-requirements
>> + (lambda _
>> + (substitute* "setup.py"
>> + (("keyring>=15,<23\\.5") "keyring>=15")
>
> Is this really a good idea? Upper bounds usually exist for a reason.
> We currently have version 23.9. Can you please clear this with upstream
> first?
>
>> + (("keyrings\\.alt==3\\.1") "keyrings.alt>=3.1"))))
>> + (add-before 'build 'set-homeless-shelter
>> + (lambda _
>> + ;; could not create '/homeless-shelter': Permission denied
>> + (setenv "HOME" "/tmp")))
>
> We’re setting HOME, not homeless-shelter.
>
>> + (replace 'check
>> + (lambda* (#:key tests? #:allow-other-keys)
>> + (when tests?
>> + ;; these tests require server authentification SynapseNoCredentialsError
>> + (delete-file-recursively "tests/integration/synapseclient")
>> + (delete-file-recursively "tests/integration/synapseutils")
>> + (invoke "pytest")))))))
>
> typo: “authentication”. What exactly does this error mean? Does it
> talk to the internet? How are these tests supposed to be run?
>
> Is it possible to disable these tests with an option to pytest? That
> would seem better than conditionally deleting them.
>
> Finally, I think the test files should be deleted unconditionally, so
> that “tests?” only governs whether the tests are *run* instead of also
> causing other side effects.

Genle ping. Could you please send a v2 with the above suggested
changes?

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 21 Mar 2023 20:51
control message for bug #59239
(address . control@debbugs.gnu.org)
87cz51nas5.fsf@gmail.com
tags 59239 + moreinfo
quit
?