[issue21016] trace: $prefix and $exec_prefix improperly replaced on Fedora

2020-02-12 Thread Ben Boeckel


Ben Boeckel  added the comment:

Thanks!

Should I file a new issue for the other (less urgent) problem mentioned at the 
bottom or is it not really worth fixing?

> It also erroneously replaces things like '$prefixpath'. It should probably do 
> split the path on the path separators and only replace components that are 
> equal to $prefix or $exec_prefix (so that the '$' can be escaped for 
> directories named as such literally, but that would require a pass to parse 
> the escapes).

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39184] Many command execution functions are not raising auditing events

2020-02-12 Thread Steve Dower


Steve Dower  added the comment:


New changeset 7514f4f6254f4a2d13ea8e5632a8e5f22b637e0b by Saiyang Gou in branch 
'master':
bpo-39184: Add audit events to functions in `fcntl`, `msvcrt`, `os`, 
`resource`,  `shutil`, `signal`, `syslog` (GH-18407)
https://github.com/python/cpython/commit/7514f4f6254f4a2d13ea8e5632a8e5f22b637e0b


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39622] KeyboardInterrupt is ignored when await asyncio.sleep(0)

2020-02-12 Thread Zhibin Dong


New submission from Zhibin Dong :

As shown in the code, when 0 is passed to asyncio.sleep function, sometimes the 
program does not exit when I press . I must press  again to 
close the program. However, when a number, such as 0.01, which is bigger than 
0, is passed to the sleep function, the program will exit as expected when I 
press  just once.

Is there any bug or just a wrong way to use? Thanks.

--
components: asyncio
files: SleepTest.py
messages: 361939
nosy: Zhibin Dong, asvetlov, yselivanov
priority: normal
severity: normal
status: open
title: KeyboardInterrupt is ignored when await asyncio.sleep(0)
type: behavior
versions: Python 3.7
Added file: https://bugs.python.org/file48893/SleepTest.py

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39567] Add audit for os.walk(), os.fwalk(), Path.glob() and Path.rglob()

2020-02-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

Oh, I did not know about the audit-event directive. Thanks Karthikeyan.

As for backporting this to 3.8 I left it on to the RM.

--
nosy: +lukasz.langa
resolution: fixed -> 
stage: resolved -> patch review
status: closed -> open

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39567] Add audit for os.walk(), os.fwalk(), Path.glob() and Path.rglob()

2020-02-12 Thread Serhiy Storchaka


Change by Serhiy Storchaka :


--
pull_requests: +17873
pull_request: https://github.com/python/cpython/pull/18499

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Load python from different plugin dlls

2020-02-12 Thread R.Wieser
Eko,

> which needs also access to python3.dll but cannot load it itself as it has
> been already loaded by plugin1
>
> Is such a scenario actually possible?

Yes.

Normally a DLL can be loaded in as many processes (and threads thereof) as 
you like.

However, it is possible that the DLLs initialisation contains code to check 
if something it needs is available*, and if not directly exit.

*like if it can access certain I/O - if the first DLL instance "takes 
posession" the second DLL instance wil fail.  Than again, this can also 
happen when using two totally different plugin DLLs.

tl;dr:
Yes, but not likely.


-- 
https://mail.python.org/mailman/listinfo/python-list


[issue39601] brace escapes are not working in formatted string literal format specifications

2020-02-12 Thread JitterMan


JitterMan  added the comment:

Ah, that make sense. Thanks!

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39620] PyObject_GetAttrString and tp_getattr do not agree

2020-02-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

It was reverted because it is backward incompatible change. It breaks a code 
which assigns to the tp_getattr field without explicit type cast to getattrfunc.

--
nosy: +serhiy.storchaka

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39621] md5_compress() in Modules/md5module.c can take a const buf

2020-02-12 Thread miss-islington


miss-islington  added the comment:


New changeset 669981b3b14dd16dec42089d6ac8d6449fde8abd by Miss Islington (bot) 
in branch '3.8':
closes bpo-39621: Make buf arg to md5_compress be const. (GH-18497)
https://github.com/python/cpython/commit/669981b3b14dd16dec42089d6ac8d6449fde8abd


--
nosy: +miss-islington

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39621] md5_compress() in Modules/md5module.c can take a const buf

2020-02-12 Thread miss-islington


Change by miss-islington :


--
pull_requests: +17872
pull_request: https://github.com/python/cpython/pull/18498

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39621] md5_compress() in Modules/md5module.c can take a const buf

2020-02-12 Thread Benjamin Peterson


Benjamin Peterson  added the comment:


New changeset 597ebed748d0b0c061f8c108bd98270d103286c1 by Andy Lester in branch 
'master':
closes bpo-39621: Make buf arg to md5_compress be const. (GH-18497)
https://github.com/python/cpython/commit/597ebed748d0b0c061f8c108bd98270d103286c1


--
nosy: +benjamin.peterson
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39601] brace escapes are not working in formatted string literal format specifications

2020-02-12 Thread Vedran Čačić

Vedran Čačić  added the comment:

I can't help with the issue itself (though I must say that I philosophically 
don't believe in "sailed off ships" -- in the limit, Python must be the best it 
can be, though it can take decades to get there), but I can help you with the 
error message. It simply tries to take {{x}} as your v (expression to be 
formatted). That is, a set containing a set containing x. But since sets 
themselves are not hashable (being mutable), they cannot be contained in sets 
(that's why frozensets were invented).

>>> {{4}}
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unhashable type: 'set'

--
nosy: +veky

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39621] md5_compress() in Modules/md5module.c can take a const buf

2020-02-12 Thread Andy Lester


Change by Andy Lester :


--
keywords: +patch
pull_requests: +17871
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/18497

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39621] md5_compress() in Modules/md5module.c can take a const buf

2020-02-12 Thread Andy Lester


New submission from Andy Lester :

The function md5_compress does not modify its buffer argument.

static void md5_compress(struct md5_state *md5, unsigned char *buf)

buf should be const.

--
components: Extension Modules
messages: 361932
nosy: petdance
priority: normal
severity: normal
status: open
title: md5_compress() in Modules/md5module.c can take a const buf
type: enhancement

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39620] PyObject_GetAttrString and tp_getattr do not agree

2020-02-12 Thread Andy Lester


Andy Lester  added the comment:

Do you know why it was reverted?  (Granted, it was 15 years ago...)

It looks like the original changeset is trying to address at least two 
different problems with non-const string literals.  My ticket here is focusing 
only on getattrfunc and setattrfunc.  The handling of all the kwlist is a 
separate issue, that I'm about to write up as a different ticket.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39620] PyObject_GetAttrString and tp_getattr do not agree

2020-02-12 Thread Ammar Askar


Ammar Askar  added the comment:

Note that there was an earlier attempt to make it const
https://github.com/python/cpython/commit/af68c874a6803b4e90b616077a602c0593719a1d

but this was reverted as part of 
https://github.com/python/cpython/commit/15e62742fad688b026ba80bf17d1345c4cbd423b

--
nosy: +ammar2, loewis

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39620] PyObject_GetAttrString and tp_getattr do not agree

2020-02-12 Thread Andy Lester


New submission from Andy Lester :

PyObject_GetAttrString(PyObject *v, const char *name)

typedef PyObject *(*getattrfunc)(PyObject *, char *)

The outer PyObject_GetAttrString takes a const char *name, but then casts away 
the const when calling the underlying tp_getattr.  This means that an 
underlying function would be free to modify or free() the char* passed in to 
it, which might be, for example, a string literal, which would be a Bad Thing.

The setattr function pair has the same problem.

The API doc at https://docs.python.org/3/c-api/typeobj.html says that the 
tp_getattr and tp_setattr slots are deprecated.  If they're not going away 
soon, I would think this should be addressed.

Fixing this in the cPython code by making tp_getattr and tp_setattr take const 
char * pointers would be simple.  I don't have any idea how much outside code 
it would affect.

--
components: C API
messages: 361929
nosy: petdance
priority: normal
severity: normal
status: open
title: PyObject_GetAttrString and tp_getattr do not agree
type: enhancement

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39615] cpython/abstract.h not compatible with C90

2020-02-12 Thread Benjamin Peterson


Benjamin Peterson  added the comment:

C99 is not disallowed in headers.

--
nosy: +benjamin.peterson
resolution:  -> not a bug
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39573] Make PyObject an opaque structure in the limited C API

2020-02-12 Thread Brandt Bucher


Change by Brandt Bucher :


--
pull_requests: +17870
pull_request: https://github.com/python/cpython/pull/18496

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1812] doctest _load_testfile function -- newline handling seems incorrect

2020-02-12 Thread Éric Araujo

Éric Araujo  added the comment:

Ah, I got it wrong, get_data itself uses `rb`, not default `r`.
It makes sense given that package data could be any kind of file, not 
necessarily text.  Too bad there isn’t a `get_text(encoding)` method in the 
loader API!

With Python 3’s rich IO system, isn’t there a quick and correct way to get a 
text file from a bytes stream?  TextIOWrapper?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1812] doctest _load_testfile function -- newline handling seems incorrect

2020-02-12 Thread Éric Araujo

Éric Araujo  added the comment:

Allow me to ask a maybe very naive question:

Wouldn't it be possible to fix the problem at the source, that is, use 
`open(filename, "rU")` in the two spots you found rather than doing ad-hoc line 
ending translation?

(I get that the second one uses `rb` at the moment, so switching from bytes to 
str is not just a one-liner there)

--
nosy: +eric.araujo

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39298] add BLAKE3 to hashlib

2020-02-12 Thread Larry Hastings


Larry Hastings  added the comment:

Personally I'm enjoying these BLAKE3 status updates, and I wouldn't mind at all 
being kept up-to-date during BLAKE3's development via messages on this issue.  
But, given the tenor of the conversation so far, I'm guessing Python is gonna 
hold off until BLAKE3 reaches 1.0.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread DL Neil via Python-list

On 13/02/20 9:17 AM, Michael Torrie wrote:

On 2/12/20 7:44 AM, Ethan Furman wrote:

On 02/11/2020 04:38 PM, Michael Torrie wrote:

...


True.  Costs can be calculated and planned for. But Technical debt is
often impossible to quantify in a real, meaningful, business sense,
other than the that we "know" it's going to cost big time in the future.
  In some senses, it's theoretical future cost.  That's what I was having
a hard time with, and still do to a large degree.


I think an oft overlooked aspect of technical debt is the affect on
the programmers dealing with it:  frustration, burn-out, and
job-seeking.


Yeah for sure.  A programmer may not love dealing with technical debt,
and certainly he may want to chase greener fields.  But there are lots
of things about lots of jobs that are less pleasant than other things.
Personally I tend to get way caught up trying to get a perfect design
that avoids technical debt, but often get not much done (on my personal
projects). Whereas another guy just cranks out code that isn't always
the best but serves his needs at the time. Guess who is more productive
overall? Not me.


Applauding your professional attitude, but haven't you (only) defined 
"productive" as purely getting 'this job' out the door? cf any 
definition of "Total" cost?



I had an IT Manager moaning at me precisely because of one of those 
'other guys'. The job had been 'done'. The contract had mere 'words' to 
cover 'quality'. Accordingly, difficult to argue that 'the guy' hadn't 
done what was asked (my 'specialist' $advice on the matter). However, 
the code was 'ramshackle' and had obviously been 'dashed off' in the 
shortest amount of time possible. Maintenance costs were expected to be 
high; motivation of in-house staff to do so, expected to be v.low!


So, we're re-negotiating the contract-wording... More importantly, 
improving their acceptance testing, and adding more detail to their 
specs/requirements, etc. (the mistake there, was thinking that reqmts to 
external staff would be 'the same' as such to in-house employees)



However, the interesting question was to ask whether he (the manager) 
was 'taking advantage' of the "gig economy". (yes, that's what it's 
there for!) Thus, what relationship did he (or even, 'they' of the IT 
dept) have with the contractor? The home truth: 'using' the cheapest 
people creates a 'race to the bottom', and must, by definition, lead to 
'the cheapest job' being done. Why the surprise?
(He doesn't hire me as a programmer - and we're not even talking 
'Python', apologies!)


I asked him if he wanted a 'professional' to do the job, ie in a 
'professional manner'. Yes! So, why are you looking for the guy(?) 
who'll do it at the lowest-possible price/rate or imposing the delivery 
date on a short time-line? Ahh...


The above concerns contractors, but I managed to slide-in a few 
questions/comments that relationships with in-house staff require 
similar consideration and attention!




OK, so turning it around to people more like 'us': Professionalism? As a 
programmer/coder, would you rather work on decent code? So, is that what 
you turn-out? Alternatively, vice-versa.


That is a slightly unfair, or biased, question. I am in the fortunate 
position of being able to tell certain people that I won't undertake 
their work, that where they want me to work will push the price UP, that 
their tool-set is sub-standard, or that the existing platform is imbued 
with uncomfortably high 'risk'. I quite understand that someone who 
'needs the job' will see that as a 'luxury'. (apologies as necessary)


That said, would you build a team with a mixture of 'clock-watchers' and 
'professionals' or would/do you enjoy working within such a team?


Both 'sides' need to understand that there are two view-points to every 
relationship.



One thought that occurred to me lurking/reading this thread, is the 
likelihood that many of the differing views arise between those working 
in an 'Agile' environment, and those not (or a pseudo-/'we call 
it'-Agile environment)?


One of the (social) contracts in Scrum (for example) is that the 
professionals estimate the time needed to do the job, cf some (likely 
ignorant) 'manager' imposing a deadline. In my experience (YMMV) an 
established, professional 'Agile' team tends to follow practices which 
attempt to avoid adding to Technical Debt, and factor-in any need to 
correct sub-standard or sans-tests old-code. There is no doubt in my 
mind, that the participation of 'users' helps to create an understanding 
that (like anything else) software takes time (read also $), and that 
over-loading (?abusing) development staff is itself a 'Technical Debt' 
("Marginal Cost") for the organisation! (absences, turn-over, ... you've 
been-there, seen-that...). There again, would user-members of the team 
notice if 'we'd' padded our estimates so as to have plenty of time for 
'other things'?


It's by no means a cut-and-dried situation. What 

[issue39584] multiprocessing.shared_memory: MacOS crashes by running attached Python code

2020-02-12 Thread Davin Potts


Davin Potts  added the comment:

My sense is that it would be nice if we can catch this before ftruncate does 
something nasty.

Where else is ftruncate used in CPython that this could similarly trigger a 
problem?  How is it handled there (or not)?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35134] Add a new Include/cpython/ subdirectory for the "CPython API" with implementation details

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 8c3aee65ed3aff3668da330ccd6f9ba7b2aa4567 by Victor Stinner in 
branch 'master':
bpo-35134: Add Include/cpython/fileutils.h header file (GH-18493)
https://github.com/python/cpython/commit/8c3aee65ed3aff3668da330ccd6f9ba7b2aa4567


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35134] Add a new Include/cpython/ subdirectory for the "CPython API" with implementation details

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 98921aeaf5879b51e2dd1870c9285cfa8d1a52c7 by Victor Stinner in 
branch 'master':
bpo-35134: Add Include/cpython/bytesobject.h file (GH-18494)
https://github.com/python/cpython/commit/98921aeaf5879b51e2dd1870c9285cfa8d1a52c7


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39619] os.chroot is not enabled on HP-UX builds

2020-02-12 Thread Roundup Robot


Change by Roundup Robot :


--
keywords: +patch
pull_requests: +17868
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/18495

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39619] os.chroot is not enabled on HP-UX builds

2020-02-12 Thread Ian Norton


New submission from Ian Norton :

When building on HP-UX using:

The configure stage fails to detect chroot().  This is due to setting  
_XOPEN_SOURCE to a value higher than 500.

The fix for this is to not set _XOPEN_SOURCE when configuring for HP-UX

--
components: Interpreter Core
messages: 361921
nosy: Ian Norton
priority: normal
severity: normal
status: open
title: os.chroot is not enabled on HP-UX builds
type: enhancement
versions: Python 3.7, Python 3.8, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35134] Add a new Include/cpython/ subdirectory for the "CPython API" with implementation details

2020-02-12 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +17867
pull_request: https://github.com/python/cpython/pull/18494

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35134] Add a new Include/cpython/ subdirectory for the "CPython API" with implementation details

2020-02-12 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +17866
pull_request: https://github.com/python/cpython/pull/18493

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35081] Move internal headers to Include/internal/

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset e9e7d284c434768333fdfb53a3663eae74cb995a by Victor Stinner in 
branch 'master':
bpo-35081: Move dtoa.h header to the internal C API (GH-18489)
https://github.com/python/cpython/commit/e9e7d284c434768333fdfb53a3663eae74cb995a


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39474] col_offset for parenthesized expressions looks weird

2020-02-12 Thread Guido van Rossum


Guido van Rossum  added the comment:

Thanks!

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39298] add BLAKE3 to hashlib

2020-02-12 Thread Jack O'Connor


Jack O'Connor  added the comment:

Version 0.2.0 of the BLAKE3 repo includes optimized assembly implementations. 
These are behind the "c" Cargo feature for the `blake3` Rust crate, but 
included by default for the internal bindings crate. So the easiest way to 
rerun our favorite benchmark is:

git clone https://github.com/BLAKE3-team/BLAKE3
cd BLAKE3
git fetch
# I rebased this branch on top of version 0.2.0 today.
git checkout origin/bench_406668786
cd c/blake3_c_rust_bindings
# Nightly is currently broken for unrelated reasons, so
# we use stable with this internal bootstrapping flag.
RUSTC_BOOTSTRAP=1 cargo bench 406668786

Running the above on my machine, I get 2888 MB/s, up another 12% from the 0.1.3 
numbers. As a bonus, we don't need to worry about the difference between GCC 
and Clang.

These new assembly files are essentially drop-in replacements for the 
instruction-set-specific C files we had before, which are also still supported. 
The updated C README has more details: 
https://github.com/BLAKE3-team/BLAKE3/blob/master/c/README.md

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35081] Move internal headers to Include/internal/

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 45876a90e2663f12b90c2090ec3e48bd97841aae by Victor Stinner in 
branch 'master':
bpo-35081: Move bytes_methods.h to the internal C API (GH-18492)
https://github.com/python/cpython/commit/45876a90e2663f12b90c2090ec3e48bd97841aae


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39615] cpython/abstract.h not compatible with C90

2020-02-12 Thread Eric V. Smith


Eric V. Smith  added the comment:

I'd suggest mentioning this on python-dev, if you want to change the policy.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39474] col_offset for parenthesized expressions looks weird

2020-02-12 Thread miss-islington


miss-islington  added the comment:


New changeset 2076d4f97ef514bb4dc4ca768fbaa3f538ce7f1f by Miss Islington (bot) 
in branch '3.8':
bpo-39474: Fix AST pos for expressions like (a)(b), (a)[b] and (a).b. (GH-18477)
https://github.com/python/cpython/commit/2076d4f97ef514bb4dc4ca768fbaa3f538ce7f1f


--
nosy: +miss-islington

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39615] cpython/abstract.h not compatible with C90

2020-02-12 Thread Peter Eisentraut


Peter Eisentraut  added the comment:

That's fair for code internal to CPython itself, but these are header files 
included by third-party code that is embedding Python, so a bit more 
flexibility and adaptability would be welcome there.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39613] IsolatedAsyncioTestCase closes default event loop

2020-02-12 Thread Zsolt Dollenstein


Change by Zsolt Dollenstein :


--
nosy: +zsol

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35081] Move internal headers to Include/internal/

2020-02-12 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +17865
pull_request: https://github.com/python/cpython/pull/18492

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39474] col_offset for parenthesized expressions looks weird

2020-02-12 Thread miss-islington


Change by miss-islington :


--
pull_requests: +17864
pull_request: https://github.com/python/cpython/pull/18491

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39474] col_offset for parenthesized expressions looks weird

2020-02-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:


New changeset 6e619c48b8e804ece9521453fc8da0640a04d5b1 by Serhiy Storchaka in 
branch 'master':
bpo-39474: Fix AST pos for expressions like (a)(b), (a)[b] and (a).b. (GH-18477)
https://github.com/python/cpython/commit/6e619c48b8e804ece9521453fc8da0640a04d5b1


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37685] Fix equality checks for some types

2020-02-12 Thread Serhiy Storchaka

Serhiy Storchaka  added the comment:

Thank you Łukasz. I considered this as a bug fix, but was not sure that we 
should fix these bugs. They were here from the beginning.

Josh, as for using total_ordering, I think it is a different issue. I did not 
want to change the behavior except fixing bugs (and raising an error or not 
supporting comparison with objects which support comparison when used at LHS 
looks like a bug). Feel free to open separate issues for using total_ordering 
or changing its semantic.

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed
versions:  -Python 3.7, Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35134] Add a new Include/cpython/ subdirectory for the "CPython API" with implementation details

2020-02-12 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +17863
pull_request: https://github.com/python/cpython/pull/18490

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35081] Move internal headers to Include/internal/

2020-02-12 Thread STINNER Victor


Change by STINNER Victor :


--
pull_requests: +17862
pull_request: https://github.com/python/cpython/pull/18489

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread Michael Torrie
On 2/12/20 7:44 AM, Ethan Furman wrote:
> On 02/11/2020 04:38 PM, Michael Torrie wrote:
> 
>> It's all just different ways of accounting for the same things. In
>> the olden days before the term "technical debt" was invented, we
>> called this "total cost of ownership."
> 
> TCO is not a fixed number.  For example, if a loan is taken to help
> fund a project, then the "interest debt" will be a portion of the
> TCO, but its amount will vary depending on the interest rate: 15%
> will be more interest debt than 4%.  Likewise, the technical debt for
> a project will be higher or lower depending on the quality of the
> code written.

True.  Costs can be calculated and planned for. But Technical debt is
often impossible to quantify in a real, meaningful, business sense,
other than the that we "know" it's going to cost big time in the future.
 In some senses, it's theoretical future cost.  That's what I was having
a hard time with, and still do to a large degree.

> I think an oft overlooked aspect of technical debt is the affect on
> the programmers dealing with it:  frustration, burn-out, and
> job-seeking.

Yeah for sure.  A programmer may not love dealing with technical debt,
and certainly he may want to chase greener fields.  But there are lots
of things about lots of jobs that are less pleasant than other things.
Personally I tend to get way caught up trying to get a perfect design
that avoids technical debt, but often get not much done (on my personal
projects). Whereas another guy just cranks out code that isn't always
the best but serves his needs at the time. Guess who is more productive
overall? Not me.

More on topic, I feel like the technical debt issue might be over used
to push folks to upgrade from Python 2, or to do promote certain
technologies.

Without knowing the details of how and why they used it, it's impossible
for me to say that it will cost them a lot in the future.  It very well
could cost nothing.  Or it might be expensive enough to sink an enterprise.

In the case of the original poster, it could well be that the
maintenance he's doing to the code is minor and of no real cost, nor any
maintenance burden in the future.  He might not need security patches or
any other on-going development of the Python 2 interpreter.  His app
might have no attack surface.  The script does its internal job and
that's that.  As long as a Python2 interpreter runs he's golden. I
suspect a lot of Python 2 use falls into that sort of category.  Sort of
like the company I know that still uses an MS-DOS billing system.
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue18819] tarfile fills devmajor and devminor fields even for non-devices

2020-02-12 Thread Ethan Furman


Ethan Furman  added the comment:


New changeset 674935b8caf33e47c78f1b8e197b1b77a04992d2 by William Chargin in 
branch 'master':
bpo-18819: tarfile: only set device fields for device files (GH-18080)
https://github.com/python/cpython/commit/674935b8caf33e47c78f1b8e197b1b77a04992d2


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24916] In sysconfig, don't rely on sys.version format

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

The "py_version" variable of sysconfig is discussed since 2015 but... it's 
unused. It is supposed to build paths. Does it really make sense to build a 
path which contains "+"? It can confuse some application which may associate a 
special meaning to "+".

What about simply removing this variable? Does anyone know if it's used in the 
wild?

To me it sounds surprising to have a different path for alpha, beta and release 
candidate releases. Usually, Python paths only contain MAJOR.MINOR versions, no 
alpha, beta or rc marker. Nor "+" marker.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread Rhodri James

On 12/02/2020 17:46, Python wrote:

On Wed, Feb 12, 2020 at 01:16:03PM +, Rhodri James wrote:

On 12/02/2020 00:53, Python wrote:

In pretty much every job I've ever worked at, funding work (e.g. with
humans to do it) with exactly and precisely the resources required is
basically impossible, and management prefers to underfund the work
than to overfund it, for cost-savings reasons.  This basically means
that any non-trivial work you do inevitably will become technical debt



s/become/accrue/.  The work itself isn't the debt, but its sub-optimality
creates debt (or future headaches, if you prefer to think of it that way).



I think it's a purely semantic distinction without a practical
difference...which was the point I was trying to make.  The work is
the direct cause of the debt, and at the time it is performed the debt
is realized.  Without the work, that particular debt is not incurred.
You may have eliminated some old debt when the work is done, but your
new debt replaces your old debt.  Depending on the resources you can
devote, that debt may or MAY NOT be less than the other, and sometimes
the truth of this can not be discovered until you're already knee deep
in it.


Here's where the "purely semantic" distinction matters.  You are 
equating the work with the debt, but ignoring the benefit the work 
presumably brings (otherwise you wouldn't have done it at all).  Either 
you should be rolling it all together or separate both, surely.


--
Rhodri James *-* Kynesim Ltd
--
https://mail.python.org/mailman/listinfo/python-list


[issue39618] logger.exception with default message

2020-02-12 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
nosy: +vinay.sajip

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread Antoine Pitrou


Change by Antoine Pitrou :


--
nosy:  -pitrou

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

Links on Debian Multiarch:

* https://wiki.debian.org/Multiarch/HOWTO
* https://lwn.net/Articles/711199/

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39618] logger.exception with default message

2020-02-12 Thread Denis Vieira


New submission from Denis Vieira :

On my Python projects i like to use the logger.exception() method without any 
other message. 

I'm forced to send an empty string on every call.
logger.exception('')

It would be nice the exception method have the expected parameter "msg" with an 
default value ('').

--
messages: 361908
nosy: Denis Vieira
priority: normal
severity: normal
status: open
title: logger.exception with default message
type: enhancement
versions: Python 3.5

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

lib64_tests.py: test suite hardcoded for Fedora, SuSE and PR 18381 with 
--with-python-libdir=lib64. I wrote it to help me to understand differences 
between Fedora, SuSE and PR 18381.

On Fedora, the test fails because we have an additional patch on distutils to 
install packages in /usr/local instead of /usr when using pip:

==
FAIL: test_distutils_install (__main__.Lib64Tests)
--
Traceback (most recent call last):
  File "lib64_tests.py", line 81, in test_distutils_install
self.assertEqual(cmd.install_platlib, PLATLIB)
AssertionError: '/usr/local/lib64/python3.7/site-packages' != 
'/usr/lib64/python3.7/site-packages'
- /usr/local/lib64/python3.7/site-packages
? --
+ /usr/lib64/python3.7/site-packages

--
Added file: https://bugs.python.org/file48892/lib64_tests.py

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread Python
On Wed, Feb 12, 2020 at 01:16:03PM +, Rhodri James wrote:
> On 12/02/2020 00:53, Python wrote:
> > In pretty much every job I've ever worked at, funding work (e.g. with
> > humans to do it) with exactly and precisely the resources required is
> > basically impossible, and management prefers to underfund the work
> > than to overfund it, for cost-savings reasons.  This basically means
> > that any non-trivial work you do inevitably will become technical debt
> 
> s/become/accrue/.  The work itself isn't the debt, but its sub-optimality
> creates debt (or future headaches, if you prefer to think of it that way).

I think it's a purely semantic distinction without a practical
difference...which was the point I was trying to make.  The work is
the direct cause of the debt, and at the time it is performed the debt
is realized.  Without the work, that particular debt is not incurred.
You may have eliminated some old debt when the work is done, but your
new debt replaces your old debt.  Depending on the resources you can
devote, that debt may or MAY NOT be less than the other, and sometimes
the truth of this can not be discovered until you're already knee deep
in it.

> > So conceptually "costs" may be different from "debt" but in
> > practice, you never have one without the other, and "debt" is
> > really just "costs" you haven't paid yet.
> 
> It's that last bit, "you haven't paid yet", that's the important part.
> Project managers and accountants alike are very much in favour of putting
> off paying for things if they can.  Sometimes they can be persuaded that the
> interest on the debt (the extra cost that the code structure imposes on
> fixing bugs) is too much, and then you get the opportunity to refactor and
> reduce the overall debt (at a cost, obviously) and the interest you will pay
> in the future.

Right.  Or... not.  More often than not, in my experience.  And
sometimes you can convince them you need to, but other priorities
continually surface that block it from ever happening anyway.
 
> Sometimes, and this is the bit that bean counters really like, you can get
> away without paying the debt by ditching the project entirely before the
> debt is paid off.  If you don't want to piss your customers off you need to
> pay the cost of a replacement project, which will accrue its own technical
> debt...

Or it may become obsolete due to changing circumstances.  Or (as in
many cases) it is sufficient to tell your customers, "don't do that,"
perhaps with admittedly annoying but not particularly costly
consequences if they don't listen. :) 

[It's not always feasible, but often if they complain, you can say
something like, "...but we're working on this other magic thingy that
will really help you, and spending time on fixing this thing you're
complaining about now will significantly delay the delivery of that."
It may or may not be true, but in the interim the customer learns to
stop doing that thing, and forgets they ever cared.]

Technical debt is just about inevitable, for most non-trivial software
(again, unless you've got a special case of a full solution for some
problem whose circumstances never change), and isn't necessarily a bad
thing.  It just depends entirely on the details of your situation.
And while I'm not particularly a fan of Agile in practice, the
philosophy behind it addresses this reasonably well...  But then
again, you don't *need* Agile to do that, either.  You just have to
pay attention to the problem.  Like everything else.

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue39617] max_workers argument to concurrent.futures.ProcessPoolExecutor is not flexible enough

2020-02-12 Thread sds


sds  added the comment:

cf https://github.com/joblib/joblib/issues/1006

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39617] max_workers argument to concurrent.futures.ProcessPoolExecutor is not flexible enough

2020-02-12 Thread sds


New submission from sds :

The number of workers (max_workers) I want to use often depends on the server 
load.
Imagine this scenario: I have 64 CPUs and I need to run 200 processes.
However, others are using the server too, so currently loadavg is 50, thus I 
will set `max_workers` to (say) 20. 
But 2 hours later when those 20 processes are done, loadavg is now 0 (because 
the 50 processes run by my colleagues are done too), so I want to increase the 
pool size max_workers to 70.
It would be nice if it were possible to adjust the pool size depending on the 
server loadavg when a worker is started.
Basically, the intent is maintaining a stable load average and full resource 
utilization.

--
components: Library (Lib)
messages: 361905
nosy: sam-s
priority: normal
severity: normal
status: open
title: max_workers argument to concurrent.futures.ProcessPoolExecutor is not 
flexible enough
type: enhancement
versions: Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



RE: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread Avi Gross via Python-list
I have to wonder if this is a bit like what happens when something like
Windows offers you an upgrade if you pay for it. Some people have noticed
how after such things come out, a series of rapid bug fixes come along. So,
they wait. Some wait long enough until another entire version has come along
or even several such cycles. They then try to jump from say version 2.1 to
version 5.0 and skip paying for all the in-betweens. Others may wait till
something forces them to change like receiving documents their version of
EXCEL cannot handle properly or at all. And, when that happens, they may
simply jump to a different product entirely, like leaving Lotus for EXCEL.

And, as noted, some simply move on. All kinds of calendar programs and
contact list managers can become obsolete when it is all bundled into
something like Microsoft office Outlook. At some point, you toss the old or
use some tool to migrate your data, or start over.

With your own software a migration can be hairy and especially when the
original staff are long gone or promoted and the manager has no clue and no
budget for this. There seems to be substantial risk versus just leaving it
alone and hoping it works long enough for you to get your bonus or move on.
It is worse if the people maintaining it sort of made their own kludge
variations like reinventing new features on their own in ways not compatible
with the new. Do you port the kludge or switch over to the new way even if
it means restructuring other parts of the code.

A serious question. What has happened in other aspects of the field where a
big enough change bifurcates the community? I am wondering what happened
when PERL made incompatible changes. Are people still using both versions?
What about largely discontinued languages that stopped being developed in
any way and do not even have a compiler for newer machines?

I know Microsoft periodically declares no further support for much earlier
versions of Windows. I bet people who have old machines keep running without
an upgrade, especially when their machine does not support the new version
because it does not have enough memory or whatever. Why keep the old? I am
sure they have their reasons that boil down to it runs programs they know
well and that do what they need and do not add many bells and whistles that
they  don't think they need or that force them to change their ways. For
some touch typists, the earlier word processors that do not know about a
mouse and run in one big window, may be just right. But try sending one to
others without using some conversion method first.

But anyone teaching Python today who still uses version 2 exclusively may
have some explaining to do unless the goal is to maintain and migrate those
using it to version 3. Are there any serious new projects being built NOW
using version 2?

-Original Message-
From: Python-list  On
Behalf Of Rhodri James
Sent: Wednesday, February 12, 2020 8:16 AM
To: python-list@python.org
Subject: Re: Technical debt - was Re: datetime seems to be broken WRT
timezones (even when you add them)

On 12/02/2020 00:53, Python wrote:
> In pretty much every job I've ever worked at, funding work (e.g. with 
> humans to do it) with exactly and precisely the resources required is 
> basically impossible, and management prefers to underfund the work 
> than to overfund it, for cost-savings reasons.  This basically means 
> that any non-trivial work you do inevitably will become technical debt

s/become/accrue/.  The work itself isn't the debt, but its sub-optimality
creates debt (or future headaches, if you prefer to think of it that way).

> IMMEDIATELY, because you will not be given the time to do the job 
> completely in the first place, there will inevitably be bugs which are 
> minor enough to ignore indefinitely, and most likely, in order to meet 
> arbitrary-but-nevertheless-real time constraints you will find 
> yourself obliged to take shortcuts.  So conceptually "costs" may be 
> different from "debt" but in practice, you never have one without the 
> other, and "debt" is really just "costs" you haven't paid yet.

It's that last bit, "you haven't paid yet", that's the important part. 
Project managers and accountants alike are very much in favour of putting
off paying for things if they can.  Sometimes they can be persuaded that the
interest on the debt (the extra cost that the code structure imposes on
fixing bugs) is too much, and then you get the opportunity to refactor and
reduce the overall debt (at a cost,
obviously) and the interest you will pay in the future.

Sometimes, and this is the bit that bean counters really like, you can get
away without paying the debt by ditching the project entirely before the
debt is paid off.  If you don't want to piss your customers off you need to
pay the cost of a replacement project, which will accrue its own technical
debt...

-- 
Rhodri James *-* Kynesim Ltd
-- 
https://mail.python.org/mailman/listinfo/python-list

-- 

[issue39573] Make PyObject an opaque structure in the limited C API

2020-02-12 Thread Dong-hee Na


Change by Dong-hee Na :


--
pull_requests: +17861
pull_request: https://github.com/python/cpython/pull/18488

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24916] In sysconfig, don't rely on sys.version format

2020-02-12 Thread Daniel Bengtsson


Change by Daniel Bengtsson :


--
pull_requests: +17860
pull_request: https://github.com/python/cpython/pull/18487

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39573] Make PyObject an opaque structure in the limited C API

2020-02-12 Thread Dong-hee Na


Dong-hee Na  added the comment:

FYI, I am working on to add Py_IS_TYPE macro. :)

--
nosy: +corona10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

Ooops, SuSE has 2 patches.

SuSE currently uses these patches for lib64 in the Python 3 package:

(1) 
https://build.opensuse.org/package/view_file/devel:languages:python:Factory/python3/F00102-lib64.patch?expand=1

(2) 
https://build.opensuse.org/package/view_file/devel:languages:python:Factory/python3/SUSE-FEDORA-multilib.patch?expand=1

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

SuSE currently uses this patch for lib64 in the Python 3 package:
https://build.opensuse.org/package/view_file/devel:languages:python:Factory/python3/F00102-lib64.patch?expand=1

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread Miro Hrončok

Miro Hrončok  added the comment:

> > Also note that the extension modules have archful suffix, so they will not 
> > collide in $HOME, unless they are installed as name.so.
> 
> Yeah, it seems like pip install adopted Debian multiarch naming: 
> "x86_64-linux-gnu" triplet in "_ast3.cpython-37m-x86_64-linux-gnu.so" 
> filename.

For reference: issue22980

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

> posix_user:
> 
> * stdlib: '~/.local/lib64/python3.9'
> * platstdlib: '~/.local/lib64/python3.9'
> * platlib: '~/.local/lib64/python3.9/site-packages'

Honestly, I have no idea how posix_user is used.

~/.local/lib64/ directory doesn't exist on my work machine, whereas I'm 
installed various Python modules and applications.

In practice, ~/.local/lib/ is used on Fedora, even if posix_user scheme uses 
~/.local/lib64/. Examples:

* pure Python: ~/.local/lib/python3.7/site-packages/pip/__main__.py
* C extension: 
~/.local/lib/python3.7/site-packages/typed_ast/_ast3.cpython-37m-x86_64-linux-gnu.so

So changing posix_user should have no impact on end users.


I also tested a legacy "python3 setup.py install" to install a C extension, it 
also lands into ~/.local/lib:

~/.local/lib/python3.7/site-packages/test_cext-0.0.0-py3.7-linux-x86_64.egg/test_cext.cpython-37m-x86_64-linux-gnu.so

The setup.py uses setuptools.


Miro:
> Also note that the extension modules have archful suffix, so they will not 
> collide in $HOME, unless they are installed as name.so.

Yeah, it seems like pip install adopted Debian multiarch naming: 
"x86_64-linux-gnu" triplet in "_ast3.cpython-37m-x86_64-linux-gnu.so" filename.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread Miro Hrončok

Miro Hrončok  added the comment:

Also note that the extension modules have archful suffix, so they will not 
collide in $HOME, unless they are installed as name.so.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39474] col_offset for parenthesized expressions looks weird

2020-02-12 Thread Batuhan Taskaya


Batuhan Taskaya  added the comment:

> Are you going to work on a patch then, Batuhan?

Serhiy already submitted a PR, which looks great.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread Matej Cepl


Matej Cepl  added the comment:

> posix_user:
> 
> * stdlib: '~/.local/lib64/python3.9'
> * platstdlib: '~/.local/lib64/python3.9'
> * platlib: '~/.local/lib64/python3.9/site-packages'

I am still not sure about the this one. I know that I have mentioned a 
possibility of multiplatform $HOME on NFS, but it seems too far fetched idea to 
break the current not-completely-standard.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread Ethan Furman

On 02/11/2020 04:38 PM, Michael Torrie wrote:


It's all just different ways of accounting for the same things. In the
olden days before the term "technical debt" was invented, we called this
"total cost of ownership."


TCO is not a fixed number.  For example, if a loan is taken to help fund a project, then 
the "interest debt" will be a portion of the TCO, but its amount will vary 
depending on the interest rate: 15% will be more interest debt than 4%.  Likewise, the 
technical debt for a project will be higher or lower depending on the quality of the code 
written.

I think an oft overlooked aspect of technical debt is the affect on the 
programmers dealing with it:  frustration, burn-out, and job-seeking.

--
~Ethan~
--
https://mail.python.org/mailman/listinfo/python-list


ghostscripts in python with watchdog

2020-02-12 Thread legaulph
I'm trying to use ghostscripts with python watchdog.

I want to duplicate the last page of a pdf to another directory using the
same name as the source pdf + page number.

So watchdog will monitor the directory for the pdf and ghostscript will copy
the last page to another directory.

I have this, and not able to figure out how to change the output name and
location.

 

import sys

import os

import time

import logging

from watchdog.observers import Observer

from watchdog.events import LoggingEventHandler

from watchdog.events import PatternMatchingEventHandler

 

if __name__ == "__main__":

patterns = "*"

ignore_patterns = ""

ignore_directories = False

case_sensitive = True

my_event_handler = PatternMatchingEventHandler(patterns,
ignore_patterns, ignore_directories, case_sensitive)

def on_created(event):

number_of_pages = 4

input_pdf = event.src_path

for i in range(4, number_of_pages +1):

os.system("gswin64c -q -dBATCH -dNOPAUSE
-sOutputFile=page{page:04d}.pdf"

" -dFirstPage={page} -dLastPage={page}"

" -sDEVICE=pdfwrite {input_pdf}"

.format(page=i, input_pdf=input_pdf))

 

my_event_handler.on_created = on_created

 

path = "."

go_recursively = True

my_observer = Observer()

my_observer.schedule(my_event_handler, path, recursive=go_recursively)

 

my_observer.start()

try:

while True:

time.sleep(1)

except KeyboardInterrupt:

my_observer.stop()

my_observer.join()

 

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue39603] [security] http.client: HTTP Header Injection in the HTTP method

2020-02-12 Thread Senthil Kumaran


Senthil Kumaran  added the comment:

Welcome to work on the patch, Amir.

* We shouldn't be encoding anything.
* Create reject for Unicode control characters and reject the request if the 
request contains any control character. Write tests for this.

It will similar to one of the examples Victor has shared.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1635741] Py_Finalize() doesn't clear all Python objects at exit

2020-02-12 Thread hai shi


Change by hai shi :


--
pull_requests: +17859
pull_request: https://github.com/python/cpython/pull/18486

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25753] Reference leaks in test_smtplib

2020-02-12 Thread Dong-hee Na


Dong-hee Na  added the comment:

+1 for me to close this issue.
On the master branch, this issue is not reproducible.
I am closing this issue, if someone wants to open this issue, please re-open 
this :)

--
nosy: +corona10
resolution:  -> out of date
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39603] [security] http.client: HTTP Header Injection in the HTTP method

2020-02-12 Thread Amir Mohamadi


Change by Amir Mohamadi :


--
pull_requests: +17858
pull_request: https://github.com/python/cpython/pull/18485

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

Default with prefix=/usr:

* posix_prefix:

  * stdlib: '/usr/lib/python3.9'
  * platstdlib: '/usr/lib/python3.9'
  * platlib: '/usr/lib/python3.9/site-packages'
 
* posix_user:

  * stdlib: '~/.local/lib/python3.9'
  * platstdlib: '~/.local/lib/python3.9'
  * platlib: '~/.local/lib/python3.9/site-packages'

Customized with prefix=/usr and python_libdir=lib64, PR 18381:

* posix_prefix:

  * stdlib: '/usr/lib64/python3.9'
  * platstdlib: '/usr/lib64/python3.9'
  * platlib: '/usr/lib64/python3.9/site-packages'

* posix_user:

  * stdlib: '~/.local/lib64/python3.9'
  * platstdlib: '~/.local/lib64/python3.9'
  * platlib: '~/.local/lib64/python3.9/site-packages'

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor

STINNER Victor  added the comment:

Summary:

* This issue is mostly about pushing a 16-years old patch from Fedora and SuSE 
to Python upstream. Other Linux distributions use different solutions to 
support multiple architectures in the same filesystem. For example, Debian and 
Ubuntu uses "Multiarch" which continues to use /usr/lib/ for 32-bit and 64-bit 
x86 architecture (x86 and x86-64).

* I pushed the non controversial part of PR 3698: fix pydoc and trace modules 
to use sysconfig to get the stdlib path

* CI tests pass on PR 18381.

* Matthias Klose asked to not add another sys attribute, but Jan Matějek 
explained that the option value is needed to import the sysconfig module. 
Moreover, the option value is needed in the site module and we are trying to 
avoid "import sysconfig" in site since it would slowdown Python startup time.

* I chose "./configure --with-python-libdir" and "sys.python_libdir" names. PR 
3698 uses "./configure --with-custom-platsubdir" and 
sysconfig.get_config_var('platsubdir') names. Other proposed names: sys.lib, 
os.lib_dir. It was proposed to drop "custom" from "./configure 
--with-custom-platsubdir" option name.

Python use many paths. The sysconfig module is a good starting point to 
discover them all in the _INSTALL_SCHEMES directories. PR 18381 changes the 
following paths:

* posix_prefix: stdlib, platstdlib, platlib
* posix_user: stdlib, platstdlib, platlib


Examples on Fedora:

* pure Python: /usr/lib64/python3.7/os.py
* C extension: 
/usr/lib64/python3.7/lib-dynload/_multiprocessing.cpython-37m-x86_64-linux-gnu.so

Examples on SuSE:

* pure Python: /usr/lib64/python3.7/os.py

Ubuntu 16.04:

* pure Python: /usr/lib/python3.5/os.py
* C extension: 
/usr/lib/python3.5/lib-dynload/_multiprocessing.cpython-35m-x86_64-linux-gnu.so

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread Rhodri James

On 12/02/2020 00:53, Python wrote:

In pretty much every job I've ever worked at, funding work (e.g. with
humans to do it) with exactly and precisely the resources required is
basically impossible, and management prefers to underfund the work
than to overfund it, for cost-savings reasons.  This basically means
that any non-trivial work you do inevitably will become technical debt


s/become/accrue/.  The work itself isn't the debt, but its 
sub-optimality creates debt (or future headaches, if you prefer to think 
of it that way).



IMMEDIATELY, because you will not be given the time to do the job
completely in the first place, there will inevitably be bugs which are
minor enough to ignore indefinitely, and most likely, in order to meet
arbitrary-but-nevertheless-real time constraints you will find
yourself obliged to take shortcuts.  So conceptually "costs" may be
different from "debt" but in practice, you never have one without the
other, and "debt" is really just "costs" you haven't paid yet.


It's that last bit, "you haven't paid yet", that's the important part. 
Project managers and accountants alike are very much in favour of 
putting off paying for things if they can.  Sometimes they can be 
persuaded that the interest on the debt (the extra cost that the code 
structure imposes on fixing bugs) is too much, and then you get the 
opportunity to refactor and reduce the overall debt (at a cost, 
obviously) and the interest you will pay in the future.


Sometimes, and this is the bit that bean counters really like, you can 
get away without paying the debt by ditching the project entirely before 
the debt is paid off.  If you don't want to piss your customers off you 
need to pay the cost of a replacement project, which will accrue its own 
technical debt...


--
Rhodri James *-* Kynesim Ltd
--
https://mail.python.org/mailman/listinfo/python-list


Load python from different plugin dlls

2020-02-12 Thread Eko palypse
Assuming there is an CppApp which allows extending its functionality by adding 
plugins. Now let's assume there are plugin developer which use cython to create 
such a plugins.

How can one check if there has been already a plugin loaded which itself loaded 
a python interpreter?

And if this is possible, what needs to be done that a second plugin can be used 
with the python interpreter loaded from the first plugin?

To summarize:
CppApp loads pluign1 (which loads python3.dll) ok
CppApp loads pluign2 (which needs also access to python3.dll but cannot load it 
itself as it has been already loaded by plugin1)

Is such a scenario actually possible?

Thank you
Eren
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue39616] SSLContext.check_hostname description is inaccurate wrt match_hostname

2020-02-12 Thread Ville Skyttä

Change by Ville Skyttä :


--
keywords: +patch
pull_requests: +17857
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/18484

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39616] SSLContext.check_hostname description is inaccurate wrt match_hostname

2020-02-12 Thread Ville Skyttä

New submission from Ville Skyttä :

Doc says "Whether to match the peer cert’s hostname with match_hostname() in 
SSLSocket.do_handshake()." but match_hostname() is no longer used to do that in 
the first place, OpenSSL is used for that. check_hostname affects the OpenSSL 
usage, too.

--
assignee: docs@python
components: Documentation
messages: 361892
nosy: docs@python, scop
priority: normal
severity: normal
status: open
title: SSLContext.check_hostname description is inaccurate wrt match_hostname
type: enhancement

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21016] trace: $prefix and $exec_prefix improperly replaced on Fedora

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:

Thanks Ben Boeckel for the bugfix. Sorry for the delay (6 years)! But it's now 
fixed in 3.7, 3.8 and master branches.

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread miss-islington


miss-islington  added the comment:


New changeset ac6f4d2db703c0ff88e496bcb7b7fe55cf2ac458 by Miss Islington (bot) 
in branch '3.8':
bpo-21016: pydoc and trace use sysconfig (GH-18476)
https://github.com/python/cpython/commit/ac6f4d2db703c0ff88e496bcb7b7fe55cf2ac458


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread miss-islington


miss-islington  added the comment:


New changeset ca133e53fafdec1aa77613fcb7558deed959383f by Miss Islington (bot) 
in branch '3.7':
bpo-21016: pydoc and trace use sysconfig (GH-18476)
https://github.com/python/cpython/commit/ca133e53fafdec1aa77613fcb7558deed959383f


--
nosy: +miss-islington

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21016] trace: $prefix and $exec_prefix improperly replaced on Fedora

2020-02-12 Thread miss-islington


miss-islington  added the comment:


New changeset ac6f4d2db703c0ff88e496bcb7b7fe55cf2ac458 by Miss Islington (bot) 
in branch '3.8':
bpo-21016: pydoc and trace use sysconfig (GH-18476)
https://github.com/python/cpython/commit/ac6f4d2db703c0ff88e496bcb7b7fe55cf2ac458


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21016] trace: $prefix and $exec_prefix improperly replaced on Fedora

2020-02-12 Thread miss-islington


miss-islington  added the comment:


New changeset ca133e53fafdec1aa77613fcb7558deed959383f by Miss Islington (bot) 
in branch '3.7':
bpo-21016: pydoc and trace use sysconfig (GH-18476)
https://github.com/python/cpython/commit/ca133e53fafdec1aa77613fcb7558deed959383f


--
nosy: +miss-islington

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29620] unittest.TestCase.assertWarns raises RuntimeEror if sys.modules changes size

2020-02-12 Thread Maximilian Peters


Maximilian Peters  added the comment:

Ran into the same issue using Python 3.6.8 [GCC 5.4.0 20160609] on Linux.

The same code worked on Windows 10 with Python 3.7 32-bit and 64-bit.

--
nosy: +Maximilian Peters

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



Re: Technical debt - was Re: datetime seems to be broken WRT timezones (even when you add them)

2020-02-12 Thread Jon Ribbens via Python-list
On 2020-02-12, Chris Angelico  wrote:
> But you CAN rewrite code such that it reduces technical debt. You can
> refactor code to make it more logical.

... but if doing so costs more than the debt, you shouldn't do it.
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue39090] Document various options for getting the absolute path from pathlib.Path objects

2020-02-12 Thread Floris Lambrechts


Floris Lambrechts  added the comment:

This is the new chapter:

https://github.com/florisla/cpython/commit/c146ad3d086fe9e401284c12fc670ea4f9398f3b

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39615] cpython/abstract.h not compatible with C90

2020-02-12 Thread Eric V. Smith


Eric V. Smith  added the comment:

PEP 7 says that this is allowed:

Python versions greater than or equal to 3.6 use C89 with several select C99 
features:
...
- intermingled declarations

So I don't think these changes should be accepted.

--
nosy: +eric.smith

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39567] Add audit for os.walk(), os.fwalk(), Path.glob() and Path.rglob()

2020-02-12 Thread Steve Dower


Steve Dower  added the comment:

Yes, they should be.

They can also be backported to 3.8 - it was deliberate in the original PEP that 
adding new events is not a breaking change or a new feature.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread miss-islington


Change by miss-islington :


--
pull_requests: +17856
pull_request: https://github.com/python/cpython/pull/18483

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread miss-islington


Change by miss-islington :


--
pull_requests: +17854
pull_request: https://github.com/python/cpython/pull/18482

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1294959] Problems with /usr/lib64 builds.

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 4fac7ed43ebf1771a8fe86fdfe7b9991f3be78cd by Victor Stinner in 
branch 'master':
bpo-21016: pydoc and trace use sysconfig (GH-18476)
https://github.com/python/cpython/commit/4fac7ed43ebf1771a8fe86fdfe7b9991f3be78cd


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21016] trace: $prefix and $exec_prefix improperly replaced on Fedora

2020-02-12 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 4fac7ed43ebf1771a8fe86fdfe7b9991f3be78cd by Victor Stinner in 
branch 'master':
bpo-21016: pydoc and trace use sysconfig (GH-18476)
https://github.com/python/cpython/commit/4fac7ed43ebf1771a8fe86fdfe7b9991f3be78cd


--
nosy: +vstinner

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue21016] trace: $prefix and $exec_prefix improperly replaced on Fedora

2020-02-12 Thread miss-islington


Change by miss-islington :


--
pull_requests: +17855
pull_request: https://github.com/python/cpython/pull/18483

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39615] cpython/abstract.h not compatible with C90

2020-02-12 Thread Peter Eisentraut


Change by Peter Eisentraut :


--
keywords: +patch
pull_requests: +17851
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/18481

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39615] cpython/abstract.h not compatible with C90

2020-02-12 Thread Peter Eisentraut


New submission from Peter Eisentraut :

Some inline functions use mixed declarations and code.  These end up visible in 
third-party code that includes Python.h, which might not be using a C99 
compiler.

Example:

In file included from 
/Users/peter/python-builds/3.9/include/python3.9/abstract.h:843,
 from 
/Users/peter/python-builds/3.9/include/python3.9/Python.h:147,
 from plpython.h:59,
 from plpy_typeio.h:10,
 from plpy_cursorobject.h:8,
 from plpy_cursorobject.c:14:
/Users/peter/python-builds/3.9/include/python3.9/cpython/abstract.h:74:5: 
warning: ISO C90 forbids mixed declarations and code 
[-Wdeclaration-after-statement]
   74 | Py_ssize_t offset = tp->tp_vectorcall_offset;
  | ^~

--
components: Interpreter Core
messages: 361880
nosy: petere
priority: normal
severity: normal
status: open
title: cpython/abstract.h not compatible with C90
versions: Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39567] Add audit for os.walk(), os.fwalk(), Path.glob() and Path.rglob()

2020-02-12 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

Do these new audit events have to be documented?

--
nosy: +xtreak

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39090] Document various options for getting the absolute path from pathlib.Path objects

2020-02-12 Thread Paul Moore


Paul Moore  added the comment:

You've provided links to your branches, but not to the specific text you're 
proposing to add. Can you link to a diff or something that shows what you've 
added more precisely?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39090] Document various options for getting the absolute path from pathlib.Path objects

2020-02-12 Thread Floris Lambrechts


Floris Lambrechts  added the comment:

I've written an "Absolute paths" section based on the knowledge I found in the 
various threads.

Any review is appreciated.

https://github.com/florisla/cpython/tree/pathlib-chapter-absolute-paths

With some related documentation changes:

https://github.com/florisla/cpython/tree/absolute-path-related-improvements

--
nosy: +florisla

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39603] [security] http.client: HTTP Header Injection in the HTTP method

2020-02-12 Thread Amir Mohamadi


Change by Amir Mohamadi :


--
keywords: +patch
pull_requests: +17850
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/18480

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



  1   2   >