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,  :)

Reply via email to