[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

Debbugs page

M
M
Mădălin Ionel Patrașcu wrote on 12 Nov 2022 21: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 03: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 06: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 12:51
control message for bug #59239
(address . control@debbugs.gnu.org)
87cz51nas5.fsf@gmail.com
tags 59239 + moreinfo
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 59239@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 59239
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch