I'm surprised no one has mentioned it already: int and uint are reversed in the 
first table.

I do agree with others that this is a great overview page that should be 
included in the numpy docs. Thanks Lev!

Juan.

On Sun, 26 Dec 2021, at 12:59 PM, Lev Maximov wrote:
> I've tried to take into account all the suggestions from this thread.
> 
> https://axil.github.io/numpy-data-types.html shows new version now and 
> 
> https://github.com/axil/numpy-data-types/commit/14d9da053fd67e5569436faa1f58599c0cc8b380#diff-ed7002b439e9ac845f22357d822bac1444730fbdb6016d3ec9432297b9ec9f73
>  displays most of the changes.
> 
> As for the inheritance diagram, I think it is perfectly fine to add it to the 
> documentation as is,
> except that I'd put back the 'void' type I've originally omitted to keep it 
> simple.
> 
> Btw is anyone aware why 'U' is missing from the np.typecode['Character']? 
> 
> On Sun, Dec 26, 2021 at 11:57 PM Lev Maximov <lev.maxi...@gmail.com> wrote:
>> Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit 
>> (AMD64)] on win32
>>                                                                              
>>                                        ^^ this is relevant    ^^^^ this is 
>> not
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import numpy as np
>> >>> np.int_
>> <class 'numpy.int32'>
>> 
>> On Sun, Dec 26, 2021 at 11:42 PM Michael Siebert 
>> <michael.sieber...@gmail.com> wrote:
>>> 
>>> Okay, little modification to my last mail: many Android smartphones are 
>>> still 32 bit, but according to
>>> 
>>> https://www.androidauthority.com/arm-32-vs-64-bit-explained-1232065/
>>> 
>>> from 2023 on, all (or at least many) new ARM processors will be 64 bit only.
>>> 
>>> Apple‘s iPhone 64 bit only since quite a while already (September 2017, iOS 
>>> 11 release).
>>> 
>>>> On 26. Dec 2021, at 17:31, Lev Maximov <lev.maxi...@gmail.com> wrote:
>>>> 
>>>> Hi Michael,
>>>> 
>>>> > Python on Windows is and is supposed to be, as far as I get it, a dying 
>>>> > platform.
>>>> I would join Matti in thinking that it is a misconception. 
>>>> 
>>>> Have you heard of the enormous daily updated unofficial repository 
>>>> <https://www.lfd.uci.edu/~gohlke/pythonlibs/> of the binary windows 
>>>> compilations of 
>>>> almost 600 python libraries by Christoph Gohlke? (numpy and libs depending 
>>>> on it are built with MKL there)
>>>> It is there for a reason.
>>>> 
>>>> If you look at the stats such as this one (Matti already mentioned them 
>>>> while I was writing this text),
>>>> 
>>>> https://www.jetbrains.com/research/python-developers-survey-2018/
>>>> https://www.jetbrains.com/lp/python-developers-survey-2020/
>>>> 
>>>> you'll see (in addition to the fact that numpy is the #1 library in data 
>>>> science ;) ) that in 
>>>> the recent years the percentage of windows user among the developers is 
>>>> quite high:
>>>> 69% linux - 47% windows - 32% macos (2018)
>>>> 68% linux - 48% windows - 29% macos (2020)
>>>> So it looks as if it is rather growing than dying.
>>>> 
>>>> This is due to the popularity of the above mentioned data science and AI, 
>>>> which have skyrocketed in the 
>>>> last 10 years. And the vast majority of data scientists work on windows.
>>>> 
>>>> Windows as a platform for developers as a whole is also quite flourishing 
>>>> today.
>>>> According to the stackoverflow 2021 developer survey 
>>>> <https://insights.stackoverflow.com/survey/2021#most-popular-technologies-op-sys>
>>>>  45% of the respondents use Windows (25% linux, 25% macos).
>>>> Among the professional developers the numbers are 41% for windows, 30% 
>>>> macos, 26% linux.
>>>> 
>>>> Also the primary audience of the tutorials like mine (as well as of 
>>>> stackoverflow?) are windows users. 
>>>> Linux users can easily figure things described there on their own, through 
>>>> the docstrings, source code 
>>>> or, as a last resort, through the docs )
>>>> 
>>>> >The more experienced the Python developers are, the more likely they are 
>>>> >to use Linux and macOS as development 
>>>> > environments, and the less likely they are to choose Windows.
>>>> (from the same jetbrains survey of 2018)
>>>> 
>>>> I wouldn't like to go into holy wars, though. I'm equally literate in both 
>>>> unix and windows (somewhat less in macos) 
>>>> and in my opinion the interests of all the users of the the three 
>>>> operating systems should be taken into account
>>>> in both the code of the library and the docs.
>>>> 
>>>> The documentation is sometimes pretty ignorant of mac/windows users, btw:
>>>> > Alias on this platform (Linux x86_64)
>>>> https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.int_**
>>>> And what about the other platforms? 
>>>> 
>>>> As for the particular issue of the difference in the default integer 
>>>> types, in my opinion the default choice of int32 on windows for 
>>>> array [1,2,3] fits the description
>>>> 
>>>> >" If not given, then the type will be determined as the minimum type 
>>>> >required to hold the objects in the sequence."
>>>> https://numpy.org/doc/stable/reference/generated/numpy.array.html
>>>> 
>>>> better than int64 on linux/macos.
>>>>  
>>>> Best regards,
>>>> Lev
>>>> 
>>>> 
>>>> On Sun, Dec 26, 2021 at 8:45 PM Michael Siebert 
>>>> <michael.sieber...@gmail.com> wrote:
>>>>> 
>>>>> Hey Lev,
>>>>> 
>>>>> I‘ve forgotten to mention my MacBook M1,
>>>>> it‘s also int64 there.
>>>>> 
>>>>> Python on Windows is and is supposed to be, as far as I get it, a dying 
>>>>> platform. A billion things are broken there (HDF comes to my mind) and it 
>>>>> seems even Microsoft wants developers to move away from native Windows 
>>>>> with their introduction of WSL (Windows Subsystem for Linux). Its latest 
>>>>> version, WSL2 even comes with an actual Linux kernel and since Windows 
>>>>> 11, it has support for graphical applications (Xorg) out of the box. With 
>>>>> Visual Studio Code (also Microsoft) and it’s remote capabilities, one 
>>>>> does not even feel a difference between developing in an Ubuntu in a WSL 
>>>>> in Windows and an actual Ubuntu.
>>>>> 
>>>>> Considering the „traditional“ C datatypes, fixed types and prioritizing 
>>>>> them in Numpy documentation, that‘s what my issue (see below) is about. I 
>>>>> think they have summarized it nicely in 
>>>>> 
>>>>> https://matt.sh/howto-c
>>>>> 
>>>>> Best regards, Michael
>>>>> 
>>>>>> On 26. Dec 2021, at 13:49, Lev Maximov <lev.maxi...@gmail.com> wrote:
>>>>>> 
>>>>>> Dear Michael,
>>>>>> 
>>>>>> Thank you for your feedback! 
>>>>>> 
>>>>>> I've fixed the x86_64 typo. 
>>>>>> 
>>>>>> I'll think how to reformulate the int32 part. I work on debian x86_64 
>>>>>> and windows 10 64bit. Constructing an array with np.array([1,2,3]) as 
>>>>>> well as np.array([1,2,3], dtype=np.int_) gives me int64 dtype on linux, 
>>>>>> and int32 on windows.
>>>>>> 
>>>>>> As suggested by Matti, I've put the rst source (and images) into a 
>>>>>> separate github repository
>>>>>> 
>>>>>> https://github.com/axil/numpy-data-types
>>>>>> 
>>>>>> PRs are welcome. My primary concern is to exclude serious typos/mistakes 
>>>>>> that might mislead/harm the readers if used.
>>>>>> 
>>>>>> My personal preference is towards explicit width types like np.int32, 
>>>>>> but from reading the docs I have a feeling there's a trend of migrating 
>>>>>> towards the c-style notation. 
>>>>>> 
>>>>>> Best regards,
>>>>>> Lev   
>>>>>> 
>>>>>> On Sun, Dec 26, 2021 at 7:05 PM Michael Siebert 
>>>>>> <michael.sieber...@gmail.com> wrote:
>>>>>>> Dear Lev,
>>>>>>> 
>>>>>>> thank you a lot! Something like this should be part of the Numpy 
>>>>>>> documentation. I like the diagram, looks very nice! Also, I’ve opened 
>>>>>>> an issue regarding data types
>>>>>>> 
>>>>>>> https://github.com/numpy/numpy/issues/20662
>>>>>>> 
>>>>>>> Some feedback from my side:
>>>>>>> 
>>>>>>> 1. When calling numpy.array([1,2,3,4]) it gives me an int64 data type 
>>>>>>> most of the time (two x86_64 systems, one arm64 system). The only time 
>>>>>>> I’ve got int32 was on a Raspberry Pi, which is a software limitation, 
>>>>>>> since the CPU is 64 bit and they have even replaced their so-far 32bit 
>>>>>>> only Raspberry Pi Zero with a 64bit version (yes, one day Raspberry OS 
>>>>>>> with 64 bit might actually become the default!). I don’t know what 
>>>>>>> machine you are working on, but int64 should be the default.
>>>>>>> 2. x64 refers to the obsolete Intel Itanium architecture (mentioned 
>>>>>>> once). Should be x86_64.
>>>>>>> 3. np.errstate looks nice, I could use that for my pull request as well.
>>>>>>> 
>>>>>>> Many thanks & best regards, Michael
>>>>>>> 
>>>>>>> 
>>>>>>>> On 25. Dec 2021, at 10:02, Lev Maximov <lev.maxi...@gmail.com> wrote:
>>>>>>>> 
>>>>>>>> Hi everyone,
>>>>>>>> 
>>>>>>>> I'm almost done with the article about numpy types – something I 
>>>>>>>> haven't covered in Numpy Illustrated. 
>>>>>>>> 
>>>>>>>> Would someone please have a look to confirm I haven't written anything 
>>>>>>>> anti-climatic there?
>>>>>>>> 
>>>>>>>> https://axil.github.io/numpy-data-types.html
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Best regards,
>>>>>>>> Lev
>>>>>>>> 
>>>>>>>> PS Earlier today I've mistakenly sent an email with the wrong link.
>>>>>>>> _______________________________________________
>>>>>>>> NumPy-Discussion mailing list -- numpy-discussion@python.org
>>>>>>>> To unsubscribe send an email to numpy-discussion-le...@python.org
>>>>>>>> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
>>>>>>>> Member address: michael.sieber...@gmail.com
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> NumPy-Discussion mailing list -- numpy-discussion@python.org
>>>>>>> To unsubscribe send an email to numpy-discussion-le...@python.org
>>>>>>> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
>>>>>>> Member address: lev.maxi...@gmail.com
>>>>>> _______________________________________________
>>>>>> NumPy-Discussion mailing list -- numpy-discussion@python.org
>>>>>> To unsubscribe send an email to numpy-discussion-le...@python.org
>>>>>> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
>>>>>> Member address: michael.sieber...@gmail.com
>>>>> _______________________________________________
>>>>> NumPy-Discussion mailing list -- numpy-discussion@python.org
>>>>> To unsubscribe send an email to numpy-discussion-le...@python.org
>>>>> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
>>>>> Member address: lev.maxi...@gmail.com
>>>> _______________________________________________
>>>> NumPy-Discussion mailing list -- numpy-discussion@python.org
>>>> To unsubscribe send an email to numpy-discussion-le...@python.org
>>>> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
>>>> Member address: michael.sieber...@gmail.com
>>> _______________________________________________
>>> NumPy-Discussion mailing list -- numpy-discussion@python.org
>>> To unsubscribe send an email to numpy-discussion-le...@python.org
>>> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
>>> Member address: lev.maxi...@gmail.com
> _______________________________________________
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: j...@fastmail.com
> 
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to