<div dir="ltr">+1 on Ralf's suggestion. I'm not sure there's any case where the C code should be using a hex version number - either it's using the C api, in which case it should just be looking at the C api version - or it's calling back into the python API, in which case it's probably not unreasonable to ask it to inspect `np.__version__` / a hypothetical `sys.version_info`, since it's already going through awkwardness to invoke pure-python APIs..<br><div><br></div><div>Eric</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 10 Oct 2018 at 04:23 Ralf Gommers <<a href="mailto:ralf.gommers@gmail.com">ralf.gommers@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Sat, Oct 6, 2018 at 11:24 PM Matti Picus <<a href="mailto:matti.picus@gmail.com" target="_blank">matti.picus@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 05/10/18 11:46, Jerome Kieffer wrote:<br>
> On Fri, 5 Oct 2018 11:31:20 +0300<br>
> Matti Picus <<a href="mailto:matti.picus@gmail.com" target="_blank">matti.picus@gmail.com</a>> wrote:<br>
><br>
>> In PR 12074 <a href="https://github.com/numpy/numpy/pull/12074" rel="noreferrer" target="_blank">https://github.com/numpy/numpy/pull/12074</a> I propose adding a<br>
>> function `version.get_numpy_version_as_hex()` which returns a hex value<br>
>> to represent the current NumPy version MAJOR.MINOR.MICRO where<br>
>><br>
>> v = hex(MAJOR << 24 | MINOR << 16 | MICRO)<br>
> +1<br>
><br>
> We use it in our code and it is a good practice, much better then 0.9.0>0.10.0 !<br>
><br>
> We added some support for dev, alpha, beta, RC and final versions in<br>
> <a href="https://github.com/silx-kit/silx/blob/master/version.py" rel="noreferrer" target="_blank">https://github.com/silx-kit/silx/blob/master/version.py</a><br>
><br>
> Cheers,<br>
Thanks. I think at this point I will change the proposal to<br>
<br>
v = hex(MAJOR << 24 | MINOR << 16 | MICRO << 8)<br>
<br>
which leaves room for future enhancement with "release level" and "serial" as the lower bits.<br></blockquote><div><br></div></div></div><div dir="ltr"><div class="gmail_quote"><div>Makes sense, but to me adding a tuple (like sys.version_info) would be more logical. Do that as well or instead of?</div><div><br></div><div>Cheers,<br></div><div>Ralf</div><div><br></div></div></div>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@python.org" target="_blank">NumPy-Discussion@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div>