Re: [Numpy-discussion] NumPy 1.20.x branch in two weeks

2020-11-01 Thread Jeff Reback
pandas has already dropped 3.6 support in our coming 1.2 release (nov 2020); 
1.1.x supports 3.6

> On Nov 1, 2020, at 9:04 PM, Charles R Harris  
> wrote:
> 
> 
> 
> 
> On Sun, Nov 1, 2020 at 6:48 PM Mark Harfouche  
> wrote:
>>> 
>>> Do you think the proposal is not in compliance? There is no requirement 
>>> that we drop anything more than 42 months old, it is just recommended. The 
>>> change in the Python release cycle has created some difficulty. With the 
>>> yearly cycle, 4 python yearly releases will cover 3-4 years, which seems 
>>> reasonable and we can probably drop to 3 releases towards the end, but with 
>>> 3.7 coming 18 months after 3.6, four releases is on the long side, and 
>>> three releases on the short side, so keeping 3.6 is the conservative 
>>> choice. Once the yearly cycle sets in I think we will be fine.
>>> 
>>> Chuck  
>> 
>> I believe that it really helps to "lead by example". 
>> 
>> I don't mean to reference threads that you have all participated in, but the 
>> discussion in:
>> https://mail.python.org/pipermail/scipy-dev/2020-August/024336.html
>> 
>> Makes it clear to me at least, that downstream will follow the example that 
>> numpy sets.
>> 
>> At the time of writing, it was anticipated that Python 3.7, 3.8, and maybe 
>> 3.9 would exist in Nov 1st.
>> The support table 
>> https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table
>> suggests that any release July 23 should only support 3.7.
>> 
>> Barring COVID delays, it seems natural that in Nov 2020, support for Python 
>> 3.6 be dropped or that the NEP be revised.
>> 
>> These decisions are hard, and take up alot of mental capacity, if the 
>> support window needs revisiting, that is fine, it just really helps to be 
>> able to point to a document (which is what NEP29 seemed to do).
>> 
> 
> The problem is that if we drop 3.6 the oldest version of Python will only be 
> 30 months old, not 36. Dropping 3.6 for 1.20.x will make it 36 months, which 
> is the recommended minimum coverage. I made sure that the language did not 
> preclude longer support periods in any case.
> 
> It would be helpful here if more people would comment, I would be happy to go 
> with the shorter period if a majority of downstream projects want to go that 
> way. It's not that I love 3.6, but there is no compelling reason to drop it, 
> as there was for 3.5, at least that I am aware of.
> 
> Chuck
> ___
> NumPy-Discussion mailing list
> NumPy-Discussion@python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
___
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Proposals for NumPy 1.22.0

2021-06-09 Thread Jeff Reback
>> Drop support for Python 3.7 (3.10 will be available).

FYI pandas is going to drop 3.7 in 1.4 (likely releases early next year)

> 
> On Jun 9, 2021, at 4:16 PM, Ralf Gommers  wrote:
> 
> 
> 
> 
>> On Wed, Jun 9, 2021 at 8:19 PM Charles R Harris  
>> wrote:
>> Hi All,
>> 
>> Here are some proposals for the NumPy 1.22.0 release currently in 
>> development.
>> 
>> Drop support for Python 3.7 (3.10 will be available).
> NEP 29 says December 2021, so that'd be kind of borderline. It would allow us 
> to use positional-only parameters, which would be quite useful.
>> Drop manylinux1 wheels.
>> Drop manylinux2010 wheels?
> yes, and yes 
>> Use ILP64 BLAS for 64 bit wheels.
> Seems fine I guess. Is there a lot of demand? 
> 
> Also something I'm not sure about is if we can mix two versions (one ILP64, 
> one regular) of OpenBLAS in a numpy and a scipy wheel, and load them both. It 
> seems to work, but perhaps that's accidental today?
> 
> Cheers,
> Ralf
>  
>> Thoughts?
>> 
>> Chuck
>> ___
>> NumPy-Discussion mailing list
>> NumPy-Discussion@python.org
>> https://mail.python.org/mailman/listinfo/numpy-discussion
> ___
> NumPy-Discussion mailing list
> NumPy-Discussion@python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
___
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] Re: Code formatters

2021-11-14 Thread Jeff Reback
in pandas we did a one time conversion to using black (a while ago) for python 
(and recently added a cython formatter); we do also have automatic c/cpp 
linters as well

we have precommit rules to enforce this (and runs on ci)

since then we don’t have discussions about formatting anymore :)

would encourage numpy to do the same

Jeff

> 
> On Nov 14, 2021, at 2:32 PM, Charles R Harris  
> wrote:
> 
> 
> 
> 
>> On Sun, Nov 14, 2021 at 11:40 AM Ralf Gommers  wrote:
>> 
>> 
>>> On Sun, Nov 14, 2021 at 6:14 PM Charles R Harris 
>>>  wrote:
>>> Hi All,
>>> 
>>> This post is for discussing the automatic code formatters for C/C++/*.py 
>>> that are now available. The current options, as I see them, are 
>>> clang-format (C/C++) and black (*.py, *.pyi, etc). Neither is perfect to my 
>>> eye, but I think they are good enough at this point and would reduce amount 
>>> of style nitpicking.
>>> 
>>> clang-format
>>> 
>>> There is already a '.clang-format' file in the numpy repository. The main 
>>> drawbacks that I see are:
>>> no automatic spacing between function definitions,
>>> all operators, including '*' and '/',  get spaces around them,
>>> no extra indenting of continued 'if' conditions,
>>> the order of includes is alphabetical within groups. The groups are 
>>> currently defined in the 'clang-format' file, but there may still be 
>>> problems with include order that we will need to fix.
>>> I think those can be lived with. The results are good enough that I think 
>>> it can replace the official C coding style for most things. The maximum 
>>> line length is currently 79 characters.
>>> 
>>> black
>>> 
>>> The black formatter is much improved in its latest version and I think good 
>>> enough to start using. The main drawbacks that I see are:
>>> all operators, including '*' and '/',  get spaces around them,
>>> very long strings are not broken into multiple lines,
>>> lists, tuples, and function signatures are either on one line, or broken 
>>> into multiple lines of one element/argument each,
>>> the formatting of extended logical expressions could be improved to 
>>> emphasize the priority of 'and' over 'or' operators
>>> There is no current configuration in pyproject.toml, the default maximum 
>>> line length is 88 characters. I note that setting the line length to 79 
>>> notably increases the number of line breaks needed. Note that double quotes 
>>> are now preferred to single quotes.
>>> 
>>> I think that including black configuration in pyproject.toml would be a 
>>> good idea, the main question is line length, 79 or 88 characters. The same 
>>> question of line length can also be raised for clang-format. Lines much 
>>> longer than 88 are characters are not only a problem for terminals, they 
>>> are also hard to focus on if you have bad eyes, but lines longer
>>> than 79 characters also reduce the number of line breaks needed.
>>> 
>>> Thoughts?
>> 
>> I'd suggest:
>> (1) let's discuss `clang-format` for C/C++ separately from `black` for 
>> Python.
>> (2) to read https://github.com/scipy/scipy/pull/14330 and 
>> https://github.com/scipy/scipy/issues/14354 and then not even continue the 
>> discussion on `black`. A detailed proposal with an incremental formatter may 
>> have a chance here (xref `darker` and our `tools/linter.py`), a "let's just 
>> run black" one seems dead in the water given the people and opinions in the 
>> linked SciPy PR and issue from a few months ago.
> 
> "black" is under active development and has relaxed their rigid ideas on 
> formatting. I am not advocating blindly reformatting all the files, but 
> having something in pyproject.toml so that folks can run it on new code as a 
> first pass and fix up places where the result is less than optimal. The main 
> place where that might be inconvenient is the expansion of 
> lists/tuples/signatures into vertical lists, but my impression is that one 
> could get used to that and maybe it is an improvement. I think formatters are 
> the future, it is just a question of when the future arrives.
> 
> Chuck
> ___
> 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: jeffreb...@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: arch...@mail-archive.com