Bug#1057983: brian: runtime dependency on cython legitimate

2023-12-14 Thread Étienne Mollier
Hi Matthias,

Matthias Klose, on 2023-12-14:
> if I understand that correctly, then the extension itself doesn't need the
> dependency, but just an example code to build.  So yes, recommends would be
> better, or split out an -examples or -doc package, where you add that again
> as a dependency.
> 
> adding cython3 as an autopkg test dependency should also be ok if the tests
> need cython3.

Sounds good, thank you for your advice, I will demote cython3 to
a recommendation and close the bug.

Have a nice day,  :)
-- 
  .''`.  Étienne Mollier 
 : :' :  gpg: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
 `. `'   sent from /dev/pts/1, please excuse my verbosity
   `-on air: Galahad - All In The Name Of Progress


signature.asc
Description: PGP signature


Bug#1057983: brian: runtime dependency on cython legitimate

2023-12-14 Thread Matthias Klose

On 14.12.23 15:13, Étienne Mollier wrote:

Hi Matthias,

Would it be helpful, for the upcoming transition, to demote the
dependency to cython3 to a recommendation?

Matthias Klose, on 2023-12-11:

Please check that this dependency can be removed. Most likely this
dependency is generated by pybuild, because the setup.py requires
Cython in it's 'install_requires' attribute.  Please remove that,
after checking that it is not a runtime dependency, and also report
that issue upstream for upcoming releases.

If the runtime dependency is necessary, please just close this bug
report.


I suspected that python3-brian is one of the few cases where the
cython3 dependency could be legitimate, so I searched within
upstream examples and found at least one[1] which, when I
attempt to run is without cython3, will output warnings and
informational messages, then crash several steps later, issue
which is fixed when I install cython3 and rerun the script.


if I understand that correctly, then the extension itself doesn't need 
the dependency, but just an example code to build.  So yes, recommends 
would be better, or split out an -examples or -doc package, where you 
add that again as a dependency.


adding cython3 as an autopkg test dependency should also be ok if the 
tests need cython3.



[1]: 
https://brian2.readthedocs.io/en/stable/examples/advanced.compare_GSL_to_conventional.html

Meddling with GSL looks far fetched for this module's usage
though, and most functions have implemented mechanisms to
fallback to numpy when cython3 is not available.  cython3 is
thus not 100% necessary, but it is useful at runtime.  I checked
against the existing autopkgtest, and lacking cython3 has no
influence in that particular context so far.  That being said, a
number of functions benefit from a substancial (as in 170%, but
GSL will bump that to a whooping 3500% depending on the target
CPU) performance boost from running with cython3 available.
(Speaking of GSL, this one depends on make and libgsl-dev, but
they look missing from the runtime dependencies for now; g++ is
part of the suggestions though.)

Have a nice day,  :)




Bug#1057983: brian: runtime dependency on cython legitimate

2023-12-14 Thread Étienne Mollier
Hi Matthias,

Would it be helpful, for the upcoming transition, to demote the
dependency to cython3 to a recommendation?

Matthias Klose, on 2023-12-11:
> Please check that this dependency can be removed. Most likely this
> dependency is generated by pybuild, because the setup.py requires
> Cython in it's 'install_requires' attribute.  Please remove that,
> after checking that it is not a runtime dependency, and also report
> that issue upstream for upcoming releases.
> 
> If the runtime dependency is necessary, please just close this bug
> report.

I suspected that python3-brian is one of the few cases where the
cython3 dependency could be legitimate, so I searched within
upstream examples and found at least one[1] which, when I
attempt to run is without cython3, will output warnings and
informational messages, then crash several steps later, issue
which is fixed when I install cython3 and rerun the script.

[1]: 
https://brian2.readthedocs.io/en/stable/examples/advanced.compare_GSL_to_conventional.html

Meddling with GSL looks far fetched for this module's usage
though, and most functions have implemented mechanisms to
fallback to numpy when cython3 is not available.  cython3 is
thus not 100% necessary, but it is useful at runtime.  I checked
against the existing autopkgtest, and lacking cython3 has no
influence in that particular context so far.  That being said, a
number of functions benefit from a substancial (as in 170%, but
GSL will bump that to a whooping 3500% depending on the target
CPU) performance boost from running with cython3 available.
(Speaking of GSL, this one depends on make and libgsl-dev, but
they look missing from the runtime dependencies for now; g++ is
part of the suggestions though.)

Have a nice day,  :)
-- 
  .''`.  Étienne Mollier 
 : :' :  gpg: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
 `. `'   sent from /dev/pts/3, please excuse my verbosity
   `-on air: Matt Stevens - Big Sky


signature.asc
Description: PGP signature