[issue35990] ipaddress.IPv4Interface won't accept 2-tuple (address, mask)

2019-05-23 Thread Jack


Jack  added the comment:

confirmed in 3.7.3

--
nosy: +Jacktose

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



[issue27860] Improvements to ipaddress module

2019-05-24 Thread Jack


Change by Jack :


--
nosy: +Jacktose

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



[issue27860] Improvements to ipaddress module

2019-05-27 Thread Jack


Jack  added the comment:

I for one have encountered #35990 in my work and would appreciate a backport.

--

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



[issue26226] Test failures with non-ascii character in hostname on Windows

2019-01-15 Thread Jack


Jack  added the comment:

Python not working..

--
nosy: +Jack01

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



[issue29771] An email and MIME handling package - Add support to send CC of email

2017-03-09 Thread Jack

New submission from Jack:

Currently using the package we can only define emails in the 'TO'
as shown here:
https://docs.python.org/2/library/email-examples.html#email-examples

There is no support for email to be sent as CC or BCC which is useful quality 
in many emails. Please see if this can be added.

--
messages: 289291
nosy: Nonickname
priority: normal
severity: normal
status: open
title: An email and MIME handling package - Add support to send CC of email
type: enhancement
versions: Python 2.7

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



[issue29771] An email and MIME handling package - Add support to send CC of email

2017-03-09 Thread Jack

Jack added the comment:

But this is what I mean.. It shouldn't be arbitrary.
When you define CC you want him as CC not as another one in the TO.
This is why I said this is enhancement request.

--

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



[issue29771] An email and MIME handling package - Add support to send CC of email

2017-03-09 Thread Jack

Changes by Jack :


--
status: closed -> open

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



[issue29771] An email and MIME handling package - Add support to send CC of email

2017-03-09 Thread Jack

Jack added the comment:

I think you missundersttod. I showed the example page just so you would 
understand what I am talking about.
Let me explain it better:
msg['Subject'] = 'The contents of %s' % textfile
msg['From'] = me
msg['To'] = you

Works.

msg['Subject'] = 'The contents of %s' % textfile
msg['From'] = me
msg['To'] = you
msg['CC'] = x
msg['BCC'] = y

won't work. It doesn't know what is CC and BCC.
This is why I opened this request to modify the package to support it.

--

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



[issue29771] An email and MIME handling package - Add support to send CC of email

2017-03-09 Thread Jack

Jack added the comment:

Please see the stack overflow question:
http://stackoverflow.com/questions/42696100/python-smtp-send-email-with-cc

--

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



[issue29771] An email and MIME handling package - Add support to send CC of email

2017-03-09 Thread Jack

Jack added the comment:

"I'm on the fence about including this in the examples."

Think of it this way.. Including it in the docs would have prevented this 
question.
It can be just a side note it doesn't have to be a whole example.

Thx.

--
status: open -> closed

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



[issue9694] argparse required arguments displayed under "optional arguments"

2018-10-08 Thread Jack

Jack  added the comment:

I'd like to note that this also happens with a required mutually exclusive 
group:

group = parser.add_mutually_exclusive_group(required=True)

The arguments in the group are listed under “optional arguments:”.

I'm guessing the mechanism is the same.

--
nosy: +Jacktose

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



[issue24868] Python start

2015-08-14 Thread jack

New submission from jack:

I just installed Python 3.4.3 on a 32-bit machine, 2 GB memory, Win XP SP3. 
When I try to start IDLE, pythonw.exe appears briefly in the Windows Task 
Manager, then disappears, and nothing else happens. If I run just python.exe in 
a command window, that runs OK. The same behavior happens after installing 
version 2.7.10. This happens for both of these versions, regardless of whether 
the other one is installed or not. The same also happened for version 3.1.2.

On the other hand, version 2.5 runs just fine. I tried all this also in Windows 
Safe Mode, where there were only about half a dozen core Windows processes in 
the task manager, with the same result.

--
components: IDLE
messages: 248593
nosy: jack
priority: normal
severity: normal
status: open
title: Python start
type: crash
versions: Python 2.7, Python 3.4

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



[issue24868] Python start

2015-08-15 Thread jack

jack added the comment:

Thanks a lot for the tip. This revealed that Python 3.4.3 was looking 
for tcl from Python 2.2 on my machine. That version had been on my 
machine more than 10 years ago, but was no longer there. It had left 
behind a whole bunch of registry crumbs, which I removed. I then 
uninstalled all the versions on my machine and reinstalled 3.4.3. That 
did the trick. The question is, why would installing 3.4.3 or other 
versions be contaminated by stuff from another version, especially an 
ancient one?

Jack

On 8/14/2015 8:49 PM, Terry J. Reedy wrote:
> Terry J. Reedy added the comment:
>
> For 3.4.3, run 'python -m idlelib' in the command window and you should see 
> some error message.  But first run 'python' and at the>>>  prompt, 'import 
> tkinter' to see if tkinter is working properly.
>
> --
> nosy: +terry.reedy
>
> ___
> Python tracker
> <http://bugs.python.org/issue24868>
> ___
>

--

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



[issue24868] Python start

2015-08-15 Thread jack

jack added the comment:

If you zap all existing traces of Python and tcl it would affect users 
who need to run multiple versions. I would suggest completely 
encapsulating each version and all its dependencies, in order to avoid 
mutual interference.

On 8/15/2015 2:55 PM, Steve Dower wrote:
> Steve Dower added the comment:
>
> Actually, that's a pretty good idea (I'd certainly use it), though it would 
> come with a big fat warning sign. I'll add an issue for it.
>
> Whether it would fix this particular issue is unclear. I suspect this one is 
> due to environment variables (TCL_LIBRARY overrides tkinter's regular search) 
> which could not be aggressively cleaned up on uninstall. I have no idea 
> whether older installers used to set that environment variable, but recent 
> 2.7 and 3.5 don't.
>
> --
>
> ___
> Python tracker
> <http://bugs.python.org/issue24868>
> ___
>

--

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



[issue36906] Compile time textwrap.dedent() equivalent for str or bytes literals

2021-12-20 Thread Jack Wong


Change by Jack Wong :


--
nosy: +iforapsy

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



[issue39298] add BLAKE3 to hashlib

2022-01-10 Thread Jack O'Connor


Jack O'Connor  added the comment:

Update: There is now a C version of the `blake3` Python module available at 
https://github.com/oconnor663/blake3-py/tree/master/c_impl. It's completely 
API-compatible with the Rust version, and it passes the same test suite. 
Multithreading (which is implemented in upstream Rust but not in upstream C) is 
exposed through a "max_threads" argument, as Larry Hastings suggested. The C 
implementation allows this argument but ignores it.

Unlike my previous attempt, this setup.py build handles the full range of 
target platforms and optimized flavors: x86-64 assembly on Windows-MSVC and 
Unix, 32-bit x86 intrinsics on Windows-MSVC and Unix, NEON intrinsics on 
AArch64, and portable C for everyone else. I'm new to distutils/setuptools and 
not particular familiar with the MSVC toolchain either, so there's a good 
chance that others can suggest better/cleaner/more robust approaches than what 
I've got, but it's at least working on my machines and on GitHub CI. (I haven't 
tried to get any cross-compilation working though; is that a thing?)

I haven't published this module to PyPI, partly to avoid confusion with the 
Rust-based implementation, which I think most applications should prefer. But 
if it would make a big difference to anyone who wants to review this code, we 
could certainly put it up as `experimental_blake3_c` or something? Let me know 
what's best.

--

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



[issue39298] add BLAKE3 to hashlib

2022-01-11 Thread Jack O'Connor


Jack O'Connor  added the comment:

Ah, good idea. I've published the new C implementation as: 
https://test.pypi.org/project/blake3-experimental-c/

You can install it with: pip install -i https://test.pypi.org/simple/ 
blake3-experimental-c

Despite the package name change, the extension module is still "blake3", so we 
still "import blake3" to get at it. For example:

$ pip install -i https://test.pypi.org/simple/ blake3-experimental-c
$ python
>>> from blake3 import blake3
>>> blake3(b"foo").hexdigest()
'04e0bb39f30b1a3feb89f536c93be15055482df748674b00d26e5a7502e9'
>>> blake3(b"foo", max_threads=blake3.AUTO).hexdigest()
'04e0bb39f30b1a3feb89f536c93be15055482df748674b00d26e5a7502e9'

To run the Rust implementation's test suite against this implementation, you 
could then:

$ pip install pytest numpy
$ git clone https://github.com/oconnor663/blake3-py
$ python -m pytest blake3-py/tests/test_blake3.py
= test session starts =
platform linux -- Python 3.10.1, pytest-6.2.5, py-1.11.0, pluggy-0.13.1
rootdir: /tmp
collected 24 items

blake3-py/tests/test_blake3.py  [100%]

= 24 passed in 0.30s ==

--

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



[issue39298] add BLAKE3 to hashlib

2022-01-12 Thread Jack O'Connor


Jack O'Connor  added the comment:

I was about to say the only missing feature was docstrings, but then I realized 
I hadn't included releasing the GIL. I've added that and pushed an update just 
now. Fingers crossed there's nothing else I've missed. I think it's in 
reasonably good shape, and I'd like to propose it for inclusion in 3.11.

However, I'm not very experienced with setup.py or the Python C API, so I might 
not be the best judge of shape. Here are some highlights for reviewers, where I 
think the implementation (mostly the build) could be shaky:

- Platform detection. In setup.py I assume that the target platform of the 
build is the same as the current interpreter's platform. So for example, if the 
current interpreter has sys.maxsize==2**31-1, I assume we're compiling for 
32-bit. This clearly doesn't allow for any sort of cross-compilation, and in 
general I need feedback about whether there's a more correct way to obtain the 
target platform.

- Compiling assembly files. On Unix this is easy, because we can supply *.S 
files as `extra_objects` and GCC/Clang will do the right thing. But on Windows 
this isn't easy. Currently I shell out to vswhere.exe, ask it for the path to 
the latest version of the ml64.exe assembler, and then shell out to that to 
build .obj files. Then I pass those assembled .obj files as `extra_objects`. 
This feels awfully manual, and there's a good chance I've missed some 
better-supported way to do it. I assume we don't want to check in the .obj 
files?

- Does Python support the GNU ABI on Windows? We have assembly files for this 
in vendor/, but I'm not currently building them.

- Compiling intrinsics files for 32-bit x86. In this case, I create a 
`ccompiler.new_compiler()` for each intrinsics file, so that I can set the 
appropriate flags for each. This is relatively clean, but it leads to things 
getting rebuilt every single time, rather than participating in `setup.py 
build` caching. Maybe nobody cares about this, but again it makes me think 
there might be a better-supported way to do it.

- blake3module.c contains an awful lot of gotos to handle allocation failure 
cases. Is this still considered a best practice? These are bug-prone, and I'm 
not sure how to test them.

- Existing hashlib implementations include an optimization where they avoid 
allocating an internal mutex until they see a long input and want to release 
the GIL. As a quirky side effect of this, they handle allocation failures for 
that mutex by falling back to the do-not-release-the-GIL codepath. That feels 
kind of complicated to me, and in my code I'm always allocating the mutex 
during initialization. This doesn't seem to make much of a performance 
difference when I measure it, but there might be use cases I haven't considered.

Here are some other API details that might be worth bikeshedding:

- The `max_threads` parameter is currently defined to take a special value, 
`blake3.AUTO`, to indicate that the implementation may use as many threads as 
it likes. (The C implementation doesn't include multithreading support, but 
it's API-compatible with the Rust implementation.) `blake3.AUTO` is currently a 
class attribute equal to -1. We may want to bikeshed this name or propose some 
other representation.

- BLAKE3 has three modes: regular hashing, keyed hashing, and key derivation. 
The keyed hashing mode takes a 32-byte key, and the key derivation mode takes a 
context string. Calling the 32-byte key `key` seems good. Calling the context 
string `context` seems less good. Larry has pointed out before that lots of 
random things are called `context`, and readers might not understand what 
they're seeing. I currently call it `derive_key_context` instead, but we could 
bikeshed this.

- I check `itemsize` on input Py_buffers and throw an exception if it's 
anything other than 1. My test suite exercises this, see 
`test_int_array_fails`. However, some (all?) standard hashes don't do this 
check. For example:

>>> from hashlib import sha256
>>> import array
>>> a = array.array("i", [255])
>>> sha256(a).hexdigest()
'81ff65efc4487853bdb4625559e69ab44f19e0f5efbd6d5b2af5e3ab267c8e06'
>>> sha256(bytes([0xff, 0, 0, 0])).hexdigest()
'81ff65efc4487853bdb4625559e69ab44f19e0f5efbd6d5b2af5e3ab267c8e06'

Here we can see sha256() hashing an array of int. On my machine, an int is 4 
little-endian bytes, but of course this sort of thing isn't portable. The same 
array will result in a different SHA-256 output on a big-endian machine, or on 
a machine with ints of a different size. This seems undesirable, and I'm 
surprised that hashlib allows it. However, if there's some 

[issue39298] add BLAKE3 to hashlib

2022-01-12 Thread Jack O'Connor


Jack O'Connor  added the comment:

> As a first pass I say we merge the reference C implementation.

Do you mean portable-only C code, or portable + intrinsics? If the assembly 
files are out, I'd advocate for the latter. The intrinsics implementations are 
nearly as fast as the assembly code, and both of those are several times faster 
than the portable code. You can test this configuration with my current 
setup.py by setting the env var FORCE_INTRINSICS=1.

--

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



[issue39298] add BLAKE3 to hashlib

2022-01-12 Thread Jack O'Connor

Jack O'Connor  added the comment:

Yeah by intrinsics I mean stuff like _mm256_add_epi32(). All of that stuff is 
in these vendored files:

blake3_avx2.c
blake3_avx512.c
blake3_neon.c
blake3_sse2.c
blake3_sse41.c

Also to Michał's question above, I'm not necessarily opposed to publishing 
something like "blake3-c" on PyPI once things stabilize. Even if we get BLAKE3 
into hashlib in 3.11, PyPI modules will be useful to folks running older 
versions, and not everyone wants to install the Rust toolchain.

--

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



[issue46705] Memory optimization for set.issubset

2022-02-09 Thread Jack Nguyen


New submission from Jack Nguyen :

I noticed that the set.issubset cpython implementation casts its iterable 
argument to a set. In some cases, casting the whole iterable to a set is 
unnecessary (see https://bugs.python.org/issue18032). Although the latter 
suggestion is to perform early termination, my suggestion is to use the 
intersection instead.

# PyAnySet_Check coming from the cpython source code.
def issubset(self, other):
# Intersection suggestion:
if not PyAnySet_Check(other):
return len(self.intersection(other)) == len(self)
# Usual implementation for sets.
else:
return ...

The main advantage that this implementation has is its memory performance, 
using only O(min(len(self), len(other))) memory, since it never stores elements 
it does not need.

I'm assuming that set construction costs O(n) set.__contains__ calls. This 
implementation uses len(other) calls to self.__contains__ and tmp.__contains__, 
where tmp = set(other). The current implementation uses len(self) + len(other) 
calls to tmp.__contains__.

Thus, I suspect the current implementation only has a chance at running 
noticeably faster when len(self) << len(other), where it performs fewer calls 
to set.__contains__. This is, however, also where the proposed implementation 
has significantly superior memory performance.

--
components: Interpreter Core
messages: 412966
nosy: panda1200
priority: normal
severity: normal
status: open
title: Memory optimization for set.issubset
type: performance
versions: Python 3.10, Python 3.11, Python 3.7, Python 3.8, Python 3.9

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



[issue46705] Memory optimization for set.issubset

2022-02-10 Thread Jack Nguyen


Jack Nguyen  added the comment:

As you say, which implementation performs better likely depends on the nature 
of the sets. I would suspect that using set.difference won't be substantially 
faster than using set.intersection in the best case, but it would be much 
slower if len(self) is much larger than len(self.intersection(other)) e.g. 
set(range(1_000_000)).issubset(range(10)). Overall I think that using 
set.intersection will have more well-rounded performance.

--

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



[issue46705] Memory optimization for set.issubset

2022-02-10 Thread Jack Nguyen


Change by Jack Nguyen :


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

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



[issue39298] add BLAKE3 to hashlib

2022-02-17 Thread Jack O'Connor


Jack O'Connor  added the comment:

What's the best way for me to help with the next steps of this?

--

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



[issue39298] add BLAKE3 to hashlib

2022-02-19 Thread Jack O'Connor


Jack O'Connor  added the comment:

Yes, everything in https://github.com/BLAKE3-team/BLAKE3 and 
https://github.com/oconnor663/blake3-py is public domain via CC0, and dual 
licensed under Apache for good measure. Hopefully that makes it easy to use it 
anywhere.

--

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



[issue39298] add BLAKE3 to hashlib

2022-03-04 Thread Jack O'Connor


Jack O'Connor  added the comment:

Thanks Larry! Was any of the experimental C extension code under 
https://github.com/oconnor663/blake3-py/tree/master/c_impl useful to you? I was 
wondering if it could be possible to copy blake3module.c from there verbatim. 
The setup.py build there also has working Windows and NEON support.

I've patched the blake3-py test suite (which both the production Rust-based 
extension and that experimental C-based extension currently pass) to invoke the 
new hashlib implementation from your branch. You can find the full test output, 
and the procedure I used to run the tests, in this Gist 
https://gist.github.com/oconnor663/533048580b1c0f4a01d1d55f57f92792. Here are 
some differences:

- My derive_key_context parameter requires a string and refuses to accept 
bytes. This is consistent with our Rust and C APIs (though the C API does 
include a _raw version specifically for bindings, which we're using here). For 
a long discussion of why we prefer to do things this way, see 
https://github.com/BLAKE3-team/BLAKE3/issues/13. The short version is that any 
use case that requires arbitrary bytes for the context string is almost 
certainly violating the documented security requirement that the context string 
must be hardcoded.

- I've included an `AUTO` constant that provides a special value (-1) for the 
`max_threads` argument, and I explicitly don't support `max_threads=0`.

- I enforce that the `data` arguments are positional-only and that the other 
keyword arguments are keyword-only. I think this is consistent with the rest of 
hashlib.

- I include a `.reset()` method. This isn't particularly useful in the default 
case, where you might as well create a new hasher. But when `max_threads` is 
greater than 1 in the Rust implementation, the hasher owns a thread pool, and 
`.reset()` is currently the only way to reuse that pool. (A BLAKE3 hasher is 
also ~2 KB, somewhat larger than other hashers, so callers who are pinching 
pennies with their allocator traffic might prefer to reuse the object.)

- Unrelated to tests: I haven't made any attempt to zero memory in my `dealloc` 
function. But if that's what other hashlib functions do, then I'm certainly in 
favor of doing it here too.

--

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



[issue1523] xdrlib fails to detect overflow (struct bug?)

2007-11-29 Thread Jack Lloyd

New submission from Jack Lloyd:

The XDR format requires integers to fit into 4 byte values. However (at
least on x86-64) xdrlib will silently accept (and truncate) values
larger than this (up to 2**64-1). Taking a (very brief) look at the
xdrlib code, it appears this is actually a problem in the struct module,
but I don't have the time (or interest) to trace through the _struct
module code.

An example on an x86-64 machine (Python 2.4.3) of encoding 2**32 (which
will not fit in an XDR field) being silently truncated:

$ ./xdr.py 
4294967296 ->  -> 0

An example of struct itself not detecting overflow:

>>> struct.pack("!I", 2**32)
'\x00\x00\x00\x00'

struct.pack will only throw an overflow error if a value >= 2**64 is
used, even if it is encoding into a field that is much smaller.

--
components: Extension Modules
files: xdr.py
messages: 57939
nosy: lloyd
severity: normal
status: open
title: xdrlib fails to detect overflow (struct bug?)
type: behavior
versions: Python 2.4
Added file: http://bugs.python.org/file8825/xdr.py

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1523>
__

xdr.py
Description: Binary data
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12272] Python 2.7.1 version conflict for package "Tcl" on Windows 7

2011-06-06 Thread Jack Eisenbach

New submission from Jack Eisenbach :

I wrote a Tkinter application that runs fine with Python 2.6.5 and 2.6.6 on a 
Windows 7 (32-bit version) machine. The same app fails with 2.7.1. Below is the 
debug output:

c:\ISS\ledmatrix>led-display.py
Traceback (most recent call last):
  File "ledmatrix.py", line 2263, in 
LEDMatrix()
  File "ledmatrix.py", line 1427, in LEDMatrix
root = Tk()
  File "C:\Python26\lib\lib-tk\Tkinter.py", line 1643, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, 
wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
{C:\Python27\tcl\tcl8.5} C:/Python26/lib/tcl8.5 C:/lib/tcl8.5 C:/lib/tcl8.5 
C:/library C:/library C:/tcl8.5.8/library C:/tcl8.5.8/library

C:/Python27/tcl/tcl8.5/init.tcl: version conflict for package "Tcl": have 
8.5.8, need exactly 8.5.2
version conflict for package "Tcl": have 8.5.8, need exactly 8.5.2
while executing
"package require -exact Tcl 8.5.2"
(file "C:/Python27/tcl/tcl8.5/init.tcl" line 20)
invoked from within
"source C:/Python27/tcl/tcl8.5/init.tcl"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list source $tclfile]"


This probably means that Tcl wasn't installed properly.

--
components: Tkinter
messages: 137778
nosy: jackie3
priority: normal
severity: normal
status: open
title: Python 2.7.1 version conflict for package "Tcl" on Windows 7
type: crash
versions: Python 2.7

___
Python tracker 
<http://bugs.python.org/issue12272>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7761] telnetlib Telnet.interact fails on Windows but not Linux

2010-10-24 Thread Jack Diederich

Jack Diederich  added the comment:

Thanks David, do you want to apply?  Looks good to me.

--

___
Python tracker 
<http://bugs.python.org/issue7761>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10176] telnetlib.Telnet.read_very_eager() performance

2010-10-25 Thread Jack Diederich

Jack Diederich  added the comment:

There was no test suite for telnetlib prior to 2.7/3.1 so it is easily possible 
that this is a regression.  If you can post a test case that fails or - even 
better - a patch that passes where the current code fails I'd be very 
appreciative.

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue10176>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10245] Fix resource warnings in test_telnetlib

2010-10-30 Thread Jack Diederich

Changes by Jack Diederich :


--
assignee:  -> jackdied
nosy: +jackdied
versions: +Python 3.2 -Python 3.3

___
Python tracker 
<http://bugs.python.org/issue10245>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11656] Debug builds for Windows would be very helpful

2011-03-23 Thread Jack Jansen

New submission from Jack Jansen :

Because VC++ cannot cross-link modules that have been built with debugging to 
those built without debugging (because of runtime system differences) it would 
be a boon for people embedding Python if there was a binary distribution of the 
DLL (and .lib) available that was built with debugging turned on.

Right now, to build a debugging version of an application that has Python 
embedded you must also build Python from source...

--
components: Build, Windows
messages: 131934
nosy: jackjansen
priority: normal
severity: normal
status: open
title: Debug builds for Windows would be very helpful
type: feature request
versions: Python 2.7

___
Python tracker 
<http://bugs.python.org/issue11656>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11656] Debug builds for Windows would be very helpful

2011-03-23 Thread Jack Jansen

Jack Jansen  added the comment:

Sorry, I think I wasn't clear in my original message. I don't want to debug 
Python, I want to debug only my own code. But because it embeds Python I cannot 
debug my own code, because it needs to link to Python.

Indeed, if it was only Python itself I would have build from source it would 
not be so much of an issue, but there's all the external stuff...

Brian: if you have a reference I can check the reasoning.

--

___
Python tracker 
<http://bugs.python.org/issue11656>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11656] Debug builds for Windows would be very helpful

2011-03-24 Thread Jack Jansen

Jack Jansen  added the comment:

Martin, I agree about the Py_DEBUG issue. My reason for asking is really only a 
workaround for the VC++ problam that you can't link non-debug and debug builds 
together.

You know what: if you think it isn't worth it just assign it to me and I'll try 
to go the extra step of doing the work and providing a patch.

--

___
Python tracker 
<http://bugs.python.org/issue11656>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11656] Debug builds for Windows would be very helpful

2011-03-24 Thread Jack Jansen

Jack Jansen  added the comment:

Martin, what I meant by "linking debug and non-debug builds together is 
impossible" is "you cannot link modules together if they code generation has 
been set to different runtime systems, for example one module using the debug 
runtime system and another using the non-debug runtime system".

But: let's cut this short, if this isn't worth the extra load on the release 
manager then it isn't worth pursuing. I did the work for myself (and 
co-developers, more importantly) but then I won't try and shape things up for 
more general consumption.

--

___
Python tracker 
<http://bugs.python.org/issue11656>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11812] transient test_telnetlib failure

2011-04-09 Thread Jack Diederich

Changes by Jack Diederich :


--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue11812>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2571] can cmd.py's API/docs for the use of an alternate stdin be improved?

2011-04-14 Thread Jack Andrews

Jack Andrews  added the comment:

hi guys,

this makes Cmd a bit more useful.

my use case is talking to pdb via pipe
(ie. subprocess module).  pdb doesn't 
behave very well if stdin is not a tty.


===
--- cmdpy.orig/cmd.py   2011-04-14 23:55:01.102867999 +1000
+++ cmdpy/cmd.py2011-04-14 23:55:16.272868002 +1000
@@ -92,6 +92,8 @@
 self.stdin = stdin
 else:
 self.stdin = sys.stdin
+if not stdin.isatty():
+self.use_rawinput = 0
 if stdout is not None:
 self.stdout = stdout

--
nosy: +Jack.Andrews

___
Python tracker 
<http://bugs.python.org/issue2571>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2571] can cmd.py's API/docs for the use of an alternate stdin be improved?

2011-04-14 Thread Jack Andrews

Jack Andrews  added the comment:

> Terry J. Reedy  added the comment:
>
> Jack, several questions.
> Are you saying that when stdin is a pipe and not a tty, pdb works better with 
> use_rawinput set False?

yes.  well, at least i thought so.  today, pdb works fine
with no patch.  i must have stumbled across my bug
in the middle of patching cmd.py.

if i notice anything strange, i'll let you know.

--

___
Python tracker 
<http://bugs.python.org/issue2571>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2366] Fixer for new metaclass syntax is needed

2008-07-31 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

Thanks for the ping.  I just rewrote the patch from scratch and it
handles corner cases (of which there are many in the parse tree) better.
 I'll upload/checkin sometime today.

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2366>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2366] Fixer for new metaclass syntax is needed

2008-07-31 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

The new patch works and handles all the corner cases I could think of. 
I tried to comment the heck out of it because it does a lot of manual
walking and manipulation of the syntax tree.

This only handles __metaclass__ inside classes.  I wasn't sure what to
do with __metaclass__ at the module level (which is now a NOP, I think).

Added file: http://bugs.python.org/file11020/fix_metaclass.patch

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2366>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2260] conditional jump to a POP_TOP optimization

2008-07-31 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

+0

* The peepholer comment promises "Optimizations are restricted to simple
transformations occuring within a single basic block." and this goes
beyond that.  You could patch that comment.
* This needs a matching patch to Lib/test/test_peepholer.py
* Deeply nested "if"s suffer a flat penalty because the unconditional
jump peepholer figures this out after the first extra POP_TOP (notice
the JUMP_ABSOLUTE in your second disassembly).
* I noticed the NOP assignment is commented out in your patch, was that
unsafe?

I searched for old threads on the peephole optimizer and came up with these:
Skip Montanaro's paper
  http://www.webfast.com/~skip/python/spam7/optimizer.html
Two old python-dev threads
  http://www.gossamer-threads.com/lists/python/dev/645669
  http://www.gossamer-threads.com/lists/python/dev/645669

I was hoping to find out if writing a bytecode optimizer in python had
been discussed because a generic version of your optimization would be
really easy to write in pure python (using a dict for the jump table,
for instance).  I found nothing;  my search terms might have been
insufficient.

--
nosy: +jackdied

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2260>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2676] email/message.py [Message.get_content_type]: Trivial regex hangs on pathological input

2008-07-31 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

Augmented version of Daniel's patch.

This makes an internal function that does the same work.  It uses
txt.find() instead of split() or partition() because for pathologically
long strings find() is noticeably faster.  It also does the strip()
before the lower() which helps with evilly long strings.

I didn't remove the module global "paramre" because an external module
might be using it.  I did update its comment.

Do bugfixes get applied to 2.6 or 3.0?  I'm a bit out of practice.

--
nosy: +jackdied
Added file: http://bugs.python.org/file11022/email.message.diff

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2688] Error when nesting many while loops

2008-08-01 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

This was fixed in more recent versions of 2.5, it now raises a
"SystemError: too many statically nested blocks"

Thanks for the tip Guilherme.

Marking closed.

--
nosy: +jackdied
resolution:  -> out of date
status: open -> closed

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2688>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2935] rfc822.py line 395 strings connection

2008-08-01 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

This is a bug in the external ClientCookie module (and their website
hasn't been updated since 2006).

Marking closed.

--
nosy: +jackdied
resolution:  -> invalid
status: open -> closed

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2935>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue3228] mailbox.mbox creates files with execute bit set

2008-08-01 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

mailbox.py uses os.open instead of the builtin open() because it wants
to pass the exclusive flag (O_EXCL).  As a result your 0077 umask gets
combined with the default of 0777 like this:

0777 & ~0077 == 0700 == '-rwx--'

So you probably want to change your default umask when creating
mailboxes.  Or submit a patch to mailbox.py to allow a different default
mode ;)

--
nosy: +jackdied

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue3228>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2951] ElementTree parsing bus error (but only from mod_python)

2008-08-01 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

It is a common apache problem.  Elementree imports an expat parser
(presumably cElementree doesn't) and different versions of expat play
together very poorly.  Lots of apache modules load one xml lib version
or another and they tend to step on each others toes .. and then segfault.

IIRC the only way to resolve this is to figure out which loaded apache
modules are using expat and recompile them all against the same version.
 Not fun.

--
nosy: +jackdied
resolution:  -> invalid
status: open -> closed

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2951>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2676] email/message.py [Message.get_content_type]: Trivial regex hangs on pathological input

2008-08-15 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

Antoine, I looked at your patch and I'm not sure why you applied it
instead of applying mine (or saying +1 on me applying my patch).

Yours uses str.partition which I pointed out is sub-optimal (same big-Oh
but with a larger constant factor) and also adds a function that returns
two things, one of which is thrown away after having a str.strip
performed on it.

If my patch was deficient please let me know.

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2676>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2366] Fixer for new metaclass syntax is needed

2008-08-21 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

Benjamin, the 2to3 parse tree straddles the 2.x Grammar and 3.x Grammar
(it's its own thing) which is why fixup_parse_tree is there.  From the
docstring:
  one-line classes don't get a suite in the parse tree so we add one to
normalize the tree
The 2to3 parser is very line oriented - only the try/except logic uses
blocks (I think).

There haven't been any objection so I've assigned this to myself and
I'll check it in and close it soonish.

--
assignee: collinwinter -> jackdied

___
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2366>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4331] Can't use _functools.partial() created function as method

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

I'm having some trouble wrapping my head around this one.  It isn't obvious to 
me that
my_method(*args):
  print(args)
class A():
  meth = partial(my_method, 'argA')
ob = A()
ob.meth('argB')

should print (, 'argA', 'argB') and not
('argA', , 'argB')

The patch seems to prefer the first form but if you are using a partial 
shouldn't you expect 'argA' to always be the first argument to the partial-ized 
function?

--

___
Python tracker 
<http://bugs.python.org/issue4331>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7850] platform.system() should be "macosx" instead of "Darwin" on OSX

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

-1, my Ubuntu laptop says "linux2" and not "ubuntu." This would also be an 
incompatible change that would cause headaches with little benefit to balance 
it out.

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue7850>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7646] test_telnetlib fails in Windows XP

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

I was mistaken, the tests were backported to 3.1.x maint (In fact I was the one 
who did it).  So this is fixed in the next point release of 3.1.x.

--
resolution:  -> out of date
status: open -> closed

___
Python tracker 
<http://bugs.python.org/issue7646>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7463] PyDateTime_IMPORT() causes compiler warnings

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

changing the definition to (const char *) seems like the right thing to do - a 
quick grep of the Python source and a search on google codesearch only shows 
uses with either string literals or string literals cast to (char *) in order 
to silence a warning.  I tried changing it on the 2.x trunk and it compiles 
with no warnings.

+1, any other opinions?

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue7463>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7366] weakref module example relies on behaviour not guaranteed by id()

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

This is true but /any/ key in the WeakValueDictionary could be reused and 
result in similar behavior, not just the id() of the inserted value.  I'm 
closing at "won't fix"

--
nosy: +jackdied
resolution:  -> wont fix
status: open -> closed

___
Python tracker 
<http://bugs.python.org/issue7366>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7196] Clarify str.split() behavior

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

I suggest this be closed WONTFIX.  The str.split() documentation accurately 
describes str.split() but doesn't happen to do what the OP wanted which was

list(filter(None, '00010001'.split('0')))

Instead split(sep) is the reciprocal of sep.join(), that is
txt == sep.join(txt.split(sep))

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue7196>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6886] cgi.py runs python, not python3

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

+0 I'm ambivalent.  The script uses a reasonable default and pyhton3 is a 
reasonable default for the 3k branch.  That said most people will have to edit 
the file anyway to use it: I had to chmod a+x the file and change the bang path 
to /usr/bin/python to get it to work on my machine.

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue6886>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6931] dreadful performance in difflib: ndiff and HtmlDiff

2010-02-22 Thread Jack Diederich

Jack Diederich  added the comment:

Here is a profile run of the 200 line case, run on the 3.x trunk, and  with all 
the trivial functions removed.  quick_ratio and __contains__ dominate the time. 
 The process was CPU bound, memory usage stayed low.


17083154 function calls (17066360 primitive calls) in 248.779 CPU seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
 10660375   70.5160.000   70.5160.000 :0(__contains__)
   1144821.0480.0001.0480.000 :0(append)
  4434776   29.2540.000   29.2540.000 :0(get)
685047/6850424.4000.0004.4000.000 :0(len)
   1973491.5120.0001.5120.000 :0(min)
   1971331.4520.0001.4520.000 difflib.py:228(set_seq1)
 25001.6320.0013.0920.001 difflib.py:299(__chain_b)
 10822.5200.0024.7680.004 difflib.py:350(find_longest_match)
   3391432.5800.0002.5800.000 difflib.py:40(_calculate_ratio)
   141727  120.5990.001  220.9700.002 difflib.py:661(quick_ratio)
   1967366.9560.000   12.5490.000 difflib.py:690(real_quick_ratio)
 8974/7945.0520.001  248.4310.313 difflib.py:945(_fancy_replace)

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue6931>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6825] Minor documentation bug with os.path.split

2010-02-23 Thread Jack Diederich

Jack Diederich  added the comment:

how about "an equivalent path" instead of "equal path"?  The result of 
ntpath.join(ntpath.split(path)) should point to the same location even if it 
isn't literally the same string.

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue6825>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6518] Enable 'with' statement in ossaudiodev module

2010-02-23 Thread Jack Diederich

Jack Diederich  added the comment:

+1, the C patch looks good to me.  The test file needs a new test that checks 
the 'with' behavior.  Also, what changed so that the test now needs to ignore 
AttributeErrors in play_sound_file()?

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue6518>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4331] Can't use _functools.partial() created function as method

2010-02-23 Thread Jack Diederich

Jack Diederich  added the comment:

We talked about it at sprints and the semantics are ambiguous and there are 
alternatives.

Ambiguous:
  def show_funcs(*args): print(args)
  class A():
run = partial(1)
  ob = A()
  ob.run(2,3)
Should this print (self, 1, 2, 3) or (1, self, 2, 3)?  And what about
  partial(ob.run, 2)(3)

Alternatives: partial is a convenience function not an optimization (it doesn't 
offer a speedup.  So you can write a lambda or named function that has the 
exact semantics you want without suffering a speed penalty.

So unless there are a lot of good use cases with obvious behavior, we should 
refuse the temptation to guess and leave partial as-is.

--

___
Python tracker 
<http://bugs.python.org/issue4331>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4331] Can't use _functools.partial() created function as method

2010-02-23 Thread Jack Diederich

Jack Diederich  added the comment:

correction:
  run = partial(1)
should have been
  run = partial(show_funcs, 1)

--

___
Python tracker 
<http://bugs.python.org/issue4331>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6560] socket sendmsg(), recvmsg() methods

2010-02-23 Thread Jack Diederich

Jack Diederich  added the comment:

I've been digging into the patch.  Is there a reason sendmsg() wants an 
iterable of buffers instead of just accepting a str? The list-of-buffers more 
closely matches the underlying syscall but I'm not sure what the python benefit 
is, especially when recvmsg() only returns a single value (it only creates 1 
iovec under the covers).  Python doesn't have "readv" like methods so making 
sendmsg/recvmsg work like recv/send (straight strings) seems like the way to go.

Also, the "y*" format character for packing/unpacking tuples is no longer 
supported - I'm assuming it used to mean buffers.

Does anyone have a good reference for using recvmsg/sendmsg?  I read the man 
pages and googled around but couldn't find anything.  I have no experience with 
using the calls in-the-wild.

--

___
Python tracker 
<http://bugs.python.org/issue6560>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6560] socket sendmsg(), recvmsg() methods

2010-02-23 Thread Jack Diederich

Jack Diederich  added the comment:

Additional data point: the perl version takes a single scalar (instead of a 
list of scalars) for use with sendmsg()

http://search.cpan.org/~MJP/Socket-MsgHdr-0.01/MsgHdr.pm

--

___
Python tracker 
<http://bugs.python.org/issue6560>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6560] socket sendmsg(), recvmsg() methods

2010-02-23 Thread Jack Diederich

Jack Diederich  added the comment:

one of the other sprinters just pointed out that Modules/_multiprocessing.c 
(py3k branch) uses sendmsg/recvmsg internally to pass file descriptors back and 
forth.  The code is very short and readable.

--

___
Python tracker 
<http://bugs.python.org/issue6560>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue6091] Curses segfaulting in FreeBSD/amd64

2010-04-27 Thread Jack Miller

Jack Miller  added the comment:

The rest of my codebase is currently only 2.x compatible, but I saw identical 
symptoms about a month ago on Fedora/Mandriva when their 2.x packages were 
linked against non-widechar libraries so I imagine that is indeed the solution.

I'll close the bug when I can either wrap the code for 3.x or get a 2.x FreeBSD 
build with those changes.

Thanks!

--

___
Python tracker 
<http://bugs.python.org/issue6091>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue8708] OpenID blunder

2010-05-13 Thread Jack Diederich

New submission from Jack Diederich :

I tried logging into the tracker using my gmail login and accidentally
created a new user.  Could someone either wipe out the OpenID for
jackd...@gmail.com (but NOT the "jackdied" login with email addy of
jackd...@gmail.com) or combine the two?

In the end I just reset my password and logged in as the original "jackdied"

TIA,

-Jack

--
messages: 105672
nosy: Jack.Diederich
priority: normal
severity: normal
status: open
title: OpenID blunder

___
Python tracker 
<http://bugs.python.org/issue8708>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue8707] Duplicated document in telnetlib.

2010-05-13 Thread Jack Diederich

Changes by Jack Diederich :


--
assignee: d...@python -> jackdied
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue8707>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue8708] OpenID blunder

2010-05-13 Thread Jack Diederich

Jack Diederich  added the comment:

Woops, didn't know that email would create a new bug.

--
nosy: +jackdied

___
Python tracker 
<http://bugs.python.org/issue8708>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1636] Execfile unable to take arguments beyond 255!

2007-12-15 Thread Jack Atkinson

New submission from Jack Atkinson:

I found this problem while using PySNMP and trying to load a custom MIB
converted to python code.  Inside the PySNMP, it uses execfile() to load
the python MIBs, and I assume so it won't be put into a separate
namespace.  On one particular MIB, which I cannot modify because it's a
company product MIB, this error of unable to take in more than 255
arguments occurs.  The problem line is quite long, but surely in this
day and age of 32 bit to 64 bit machines this 255 constraint could be
done away with in the execfile function.  I'm assuming the 255
constraint has something to do with unsigned 8 bit number.

--
components: Interpreter Core
messages: 58668
nosy: jgatkinsn
severity: normal
status: open
title: Execfile unable to take arguments beyond 255!
type: rfe
versions: Python 2.5

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1636>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1636] Execfile unable to take arguments beyond 255!

2007-12-16 Thread Jack Atkinson

Jack Atkinson added the comment:

Error message from ipython console:
In [28]: mibBuilder2 = builder.MibBuilder().loadModules('ADTRAN-TC')
---
   Traceback (most recent call last)

C:\Documents and Settings\Jack Atkinson\ in ()

c:\python25\lib\site-packages\pysnmp\v4\smi\builder.py in
loadModules(self, *mod
Names)
 80 del self.__modPathsSeen[modPath]
 81 raise error.SmiError(
---> 82 'MIB module \"%s\" load error: %s' %
(modPath, why)
 83 )
 84

: MIB module
"c:\python25\lib\site-packages\p
ysnmp\v4\smi\mibs\ADTRAN-TC.py" load error: more than 255 arguments
(ADTRAN-TC.p
y, line 33)


Here's the code that loads it:
try:
execfile(modPath, g)
except StandardError,
why: del self.__modPathsSeen[modPath]
raise error.SmiError( 'MIB module \"%s\" load error: %s' % (modPath, why) )

Added file: http://bugs.python.org/file8968/builder.py

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1636>
__# MIB modules loader
import os
from pysnmp.smi import error
try:
import pysnmp_mibs
except ImportError:
pysnmp_mibs = None
from pysnmp import debug

class MibBuilder:
def __init__(self):
self.lastBuildId = self._autoName = 0L
paths = (
os.path.join(os.path.split(error.__file__)[0], 'mibs','instances'),
os.path.join(os.path.split(error.__file__)[0], 'mibs')
)
if os.environ.has_key('PYSNMP_MIB_DIR'):
paths = paths + (
os.path.join(os.path.split(os.environ['PYSNMP_MIB_DIR'])[0]),
)
if pysnmp_mibs:
paths = paths + (
os.path.join(os.path.split(pysnmp_mibs.__file__)[0]),
)
self.mibSymbols = {}
self.__modSeen = {}
self.__modPathsSeen = {}
apply(self.setMibPath, paths)

# MIB modules management

def setMibPath(self, *mibPaths):
self.__mibPaths = map(os.path.normpath, mibPaths)
debug.logger & debug.flagBld and debug.logger('setMibPath: new MIB path 
%s' % (self.__mibPaths,))

def getMibPath(self): return tuple(self.__mibPaths)

def loadModules(self, *modNames):
# Build a list of available modules
if not modNames:
modNames = {}
for mibPath in self.__mibPaths:
try:
for modName in os.listdir(mibPath):
if modName == '__init__.py' or modName[-3:] != '.py':
continue
modNames[modName[:-3]] = None
except OSError:
continue
modNames = modNames.keys()
if not modNames:
raise error.SmiError(
'No MIB module to load at %s' % (self,)
)
for modName in modNames:
for mibPath in self.__mibPaths:
modPath = os.path.join(
mibPath, modName + '.py'
)

debug.logger & debug.flagBld and debug.logger('loadModules: 
trying %s' % modPath)

try:
open(modPath).close()
except IOError, why:
debug.logger & debug.flagBld and debug.logger('loadModules: 
open() %s' % why)
continue

if self.__modPathsSeen.has_key(modPath):
debug.logger & debug.flagBld and debug.logger('loadModules: 
seen %s' % modPath)
continue
else:
self.__modPathsSeen[modPath] = 1

g = { 'mibBuilder': self }

try:
execfile(modPath, g)
except StandardError, why:
del self.__modPathsSeen[modPath]
raise error.SmiError(
'MIB module \"%s\" load error: %s' % (modPath, why)
)

self.__modSeen[modName] = modPath

debug.logger & debug.flagBld and debug.logger('loadModules: 
loaded %s' % modPath)

break

if not self.__modSeen.has_key(modName):
raise error.SmiError(
'MIB file \"%s.py\" not found in search path' % modName
)

return self

def unloadModules(self, *modNames):
if not modNames:
modNames = self.mibSymbols.keys()
for modName in modNames:
if not self

[issue2328] Class **kwds broken (PEP 3115)

2008-03-17 Thread Jack Diederich

New submission from Jack Diederich <[EMAIL PROTECTED]>:

typeobject.c:type_new only allows 0 or 1 keyword arg in class creation
instead of an arbitrary number as per PEP3115.

I'm working on a patch.

--
assignee: jackdied
components: Interpreter Core
messages: 63681
nosy: jackdied
priority: normal
severity: normal
status: open
title: Class **kwds broken (PEP 3115)
type: behavior
versions: Python 3.0

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2328>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2328] Class **kwds broken (PEP 3115)

2008-03-17 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

Not a bug.

If you pass arbitrary keywords in class construction you have to define
__new__ and __init__ on the metaclass to handle them.

--
resolution:  -> invalid
status: open -> closed

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2328>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2366] Fixer for new metaclass syntax is needed

2008-03-17 Thread Jack Diederich

Changes by Jack Diederich <[EMAIL PROTECTED]>:


--
nosy: +jackdied

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2366>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2346] Py3K warn against using __members__

2008-03-19 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

This patch raises a py3k warning from inside the dir() machinery so it
will only warn when dir() is called on an object with an old style
__members__ or __methods__ attribute.  It does not warn if there is an
old style __members__ attribute that is not used.

--
assignee:  -> jackdied
keywords: +patch
nosy: +jackdied
Added file: http://bugs.python.org/file9768/methods_members.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2346>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2357] sys.exc_{type, values, traceback} should raise a Py3K warning

2008-03-19 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

Fixer patch works for me (both must be applied).

A 3k warning for accessing is harder - it would have to copy the module
type or dict type and supply a custom to_getattro that watches for
accesses to exc_(type|values|traceback).  I'll look into it.

--
nosy: +jackdied

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2357>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2366] Fixer for new metaclass syntax is needed

2008-03-19 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

Here is a partial implementation.  It doesn't warn about __metaclass__
at the module level and doesn't handle multiple __metaclass__
assignements in one class.  tests pending.

--
keywords: +patch
Added file: http://bugs.python.org/file9778/fix_metaclass.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2366>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2366] Fixer for new metaclass syntax is needed

2008-03-20 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

New patch that does more.  Collin, could you take a look at the fixer? 
I listed some stumbling blocks at the top (and at least one bug in
2to3).  The fixer seems to work fine on actual files but the unit tests
that use strings do nothing.  Thanks.

Added file: http://bugs.python.org/file9797/fix_metaclass.patch

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2366>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2357] sys.exc_{type, values, traceback} should raise a Py3K warning

2008-03-25 Thread Jack Diederich

Jack Diederich <[EMAIL PROTECTED]> added the comment:

+1, I'll burn my _apply_evil(ModuleObject *) function patch to
moduleobject.c which did a memcpy on a type object and several other
heresies.

On Tue, Mar 25, 2008 at 4:27 AM, Brett Cannon <[EMAIL PROTECTED]> wrote:
>
>  Brett Cannon <[EMAIL PROTECTED]> added the comment:
>
>  I agree with Georg; a 2to3 fixer is enough.
>
>
>
>  __
>  Tracker <[EMAIL PROTECTED]>
>  <http://bugs.python.org/issue2357>
>  __
>

__
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2357>
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39298] add BLAKE3 to hashlib

2022-03-22 Thread Jack O'Connor


Jack O'Connor  added the comment:

> maintaining a complicated build process in-tree

For what it's worth, if you have any sort of "in a perfect world" vision for 
what the upstream BLAKE3 project could do to make it trivially easy for you to 
integrate, I'd be very interested in getting that done. Making integration easy 
would benefit all callers. We have some issues on the backburner about 
committing CMake build files, but I assume those would be useless for us here. 
Is there anything that would be more useful? If we provided autotools build 
files, could you call into them?

Fundamentally, BLAKE3 wants to build some code on x86 and some other code on 
ARM, and also some code on Unix and some other code on Windows. Currently we 
just ask the caller to do that for us, for lack of a common standard. (And if 
we're building intrinsics rather than assembly, we also need the compiler flags 
that enable our intrinsics.) But maybe we could handle more of that upstream, 
using the preprocessor? If the build instructions said "compile this one giant 
file on all platforms and don't worry about what it does", would that be 
better? Or would that be gross? Is a header-only library the gold standard? Or 
too C++-ish? Has anyone ever done a really good job of this?

--

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



[issue39298] add BLAKE3 to hashlib

2022-03-24 Thread Jack O'Connor


Jack O'Connor  added the comment:

> Hardware accelerated SHAs are likely faster than blake3 single core.

Surprisingly, they're not. Here's a quick measurement on my recent ThinkPad 
laptop (64 KiB of input, single-threaded, TurboBoost left on), which supports 
both AVX-512 and the SHA extensions:

OpenSSL SHA-256: 1816 MB/s
OpenSSL SHA-1:   2103 MB/s
BLAKE3 SSE2: 2109 MB/s
BLAKE3 SSE4.1:   2474 MB/s
BLAKE3 AVX2: 4898 MB/s
BLAKE3 AVX-512:  8754 MB/s

The main reason SHA-1 and SHA-256 don't do better is that they're fundamentally 
serial algorithms. Hardware acceleration can speed up a single instance of 
their compression functions, but there's just no way for it to run more than 
one instance per message at a time. In contrast, AES-CTR can easily parallelize 
its blocks, and hardware accelerated AES does beat BLAKE3.

> And certainly more efficient in terms of watt-secs/byte.

I don't have any experience measuring power myself, so take this with a grain 
of salt: I think the difference in throughput shown above is large enough that, 
even accounting for the famously high power draw of AVX-512, BLAKE3 comes out 
ahead in terms of energy/byte. Probably not on ARM though.

--

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



[issue39298] add BLAKE3 to hashlib

2022-03-24 Thread Jack O'Connor


Jack O'Connor  added the comment:

> Truncated sha512 (sha512-256) typically performs 40% faster than sha256 on 
> X86_64.

Without hardware acceleration, yes. But because SHA-NI includes only SHA-1 and 
SHA-256, and not SHA-512, it's no longer a level playing field. OpenSSL's 
SHA-512 and SHA-512/256 both get about 797 MB/s on my machine.

--

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



[issue39298] add BLAKE3 to hashlib

2022-03-24 Thread Jack O'Connor


Jack O'Connor  added the comment:

I did reply to that point above with some baseless speculation, but now I can 
back up my baseless speculation with unscientific data :)

https://gist.github.com/oconnor663/aed7016c9dbe5507510fc50faceaaa07

According to whatever `powerstat -R` measures on my laptop, running 
hardware-accelerated SHA-256 in a loop for a minute or so takes 26.86 Watts on 
average. Doing the same with AVX-512 BLAKE3 takes 29.53 Watts, 10% more. 
Factoring in the 4.69x difference in throughput reported by those loops, the 
overall energy/byte for BLAKE3 is 4.27x lower than SHA-256. This is my first 
time running a power benchmark, so if this sounds implausible hopefully someone 
can catch my mistakes.

--

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



[issue32658] Metacharacter (\) documentation suggestion

2022-04-01 Thread Jack DeVries


Jack DeVries  added the comment:

Did you run ``make venv`` to setup your virtual environment? Sphynx themes are 
usually pip dependencies, so if you're getting a "missing theme" error, it 
sounds like your virtual environment is not setup right.

--
nosy: +jack__d

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



[issue38668] Update os.path documentation regarding recommended types

2022-04-01 Thread Jack DeVries


Change by Jack DeVries :


--
keywords: +patch
nosy: +jack__d
nosy_count: 2.0 -> 3.0
pull_requests: +30304
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/32232

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



[issue38411] SQLITE_MISUSE race condition in sqlite3 is misleadingly raised as a binding error

2019-10-08 Thread Jack Robison


New submission from Jack Robison :

There is a race condition in the sqlite3 module that is misleadingly raised as 
sqlite3.InterfaceError('Error binding parameter 0 - probably unsupported type.')

There are two issues here, one is the incorrectly raise error 
(https://bugs.python.org/issue16379), the other is the underlying SQLITE_MISUSE 
caused by the race condition. I believe this is a race between sqlite3 vs 
python garbage collection due to the releasing of the GIL. If the GIL releasing 
is removed from sqlite3, I cannot reproduce the race.

Here is a script to reproduce the error, as the number of runners or 
queries_per_executemany is increased the error happens more frequently. The 
minimal test case only needs two executemanys where each has two queries to run.





import asyncio
import sqlite3
from concurrent.futures.thread import ThreadPoolExecutor


async def misuse_sqlite(runners=2, queries_per_executemany=2):
loop = asyncio.get_event_loop()

expected_error = 'Error binding parameter 0 - probably unsupported type.'
exceptions = []
executor = ThreadPoolExecutor(1)
db = executor.submit(sqlite3.connect, ':memory:', 
isolation_level=None).result()
executor.submit(db.executescript, "create table test (id text primary 
key);")

def query_in_executor():
return asyncio.wrap_future(executor.submit(executemany))

def executemany():
try:
return db.executemany("select * from test where id=?", ((str(i),) 
for i in range(queries_per_executemany)))
except Exception as err:
exceptions.append(err)

for _ in range(runners):
loop.call_soon(query_in_executor)
await asyncio.sleep(0.01)

assert all(str(err) == expected_error and isinstance(err, 
sqlite3.InterfaceError) for err in exceptions)

executor.submit(db.close).result()
executor.shutdown()

return len(exceptions) > 0


attempts = 0

while True:
attempts += 1
if asyncio.run(misuse_sqlite()):
print('error hit on attempt', attempts)
break

--
components: Library (Lib)
messages: 354218
nosy: Jack Robison
priority: normal
severity: normal
status: open
title: SQLITE_MISUSE race condition in sqlite3 is misleadingly raised as a 
binding error
versions: Python 3.7

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



[issue38411] SQLITE_MISUSE race condition in sqlite3 is misleadingly raised as a binding error

2019-10-08 Thread Jack Robison


Change by Jack Robison :


--
type:  -> behavior

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



[issue11588] Add "necessarily inclusive" groups to argparse

2019-11-06 Thread Jack Wong


Change by Jack Wong :


--
nosy: +iforapsy

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



[issue39298] add BLAKE3 to hashlib

2021-04-18 Thread Jack O'Connor


Jack O'Connor  added the comment:

An update a year later: I have a proof-of-concept branch that adds BLAKE3 
support to hashlib: https://github.com/oconnor663/cpython/tree/blake3. That 
branch is API compatible with the current master branch of 
https://github.com/oconnor663/blake3-py. Both that module and the upstream 
BLAKE3 repo are ready to be tagged 1.0, just waiting to see whether any 
integrations like this one end up requesting changes.

Would anyone be interested in moving ahead with this? One of the open questions 
would be whether CPython would vendor the BLAKE3 optimized assembly files, or 
whether we'd prefer to stick to C intrinsics.

--

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



[issue39298] add BLAKE3 to hashlib

2021-04-19 Thread Jack O'Connor


Jack O'Connor  added the comment:

Hey Christian, yes these are new bindings, and also incomplete. See comments in 
https://github.com/oconnor663/cpython/commit/dc6f6163ad9754c9ad53e9e3f3613ca3891a77ba,
 but in short only x86-64 Unix is in working order. If 3.10 doesn't seem 
realistic, I'm happy to go the PyPI route. That said, this is my first time 
using the Python C API. (My code in that branch is going to make that pretty 
obvious.) Could you recommend any existing packages that I might be able to use 
as a model?

For OpenSSL, I'm very interested in the abstract but less familiar with their 
project and their schedules. Who might be a good person to get in touch with?

> I assume there's a completely generic platform-agnostic C implementation, for 
> build environments where the assembly won't work, yes?

Yes, that's the vendored file blake3_portable.c. One TODO for my branch here is 
convincing the Python build system not to try to compile the x86-64-specific 
stuff on other platforms. The vendored file blake3_dispatch.c abstracts over 
all the different implementations and takes care of #ifdef'ing 
platform-specific function calls. (It also does runtime CPU feature detection 
on x86.)

> written using the Rust implementation, which I understand is even more 
> performant

A few details here: The upstream Rust and C implementations have been matched 
in single threaded performance for a while now. They share the same assembly 
files, and the rest is a direct port. The big difference is that Rust also 
includes multithreading support, using the Rayon work-stealing runtime. The 
blake3-py module based on the Rust crate exposes this with a simple boolean 
flag, though we've been thinking about ways to give the caller more control 
over the number of threads used.

--

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



[issue44347] Unclear documentation for shutil.copytree()

2021-06-09 Thread Jack DeVries


Jack DeVries  added the comment:

I would like to submit a patch for this. This would be my first contribution :)

I am starting on a patch now.

--
nosy: +jack__d

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



[issue44347] Unclear documentation for shutil.copytree()

2021-06-09 Thread Jack DeVries


Change by Jack DeVries :


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

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



[issue44347] Unclear documentation for shutil.copytree()

2021-06-09 Thread Jack DeVries


Jack DeVries  added the comment:

I've created a PR: https://github.com/python/cpython/pull/26634

I forgot to put a news entry, but hopefully that's ok since this is a very 
small change.

--

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



[issue44362] improve documentation of SSL deprecations

2021-06-09 Thread Jack DeVries


Jack DeVries  added the comment:

These changes are part of PEP 644; support for OpenSSL v1.1.1. The benefits are 
detailed in `the PEP <https://www.python.org/dev/peps/pep-0644/#benefits>`_.

Later, the deprecation process began in `bpo-43880 
<https://bugs.python.org/issue43880>`_. It seems like `PROTOCOL_TLS` is the 
only thing with a deprecation warning that does not have a suggested 
alternative.

I'm confused as to how this can be deprecated; what will be the new mechanism 
for selecting a protocol? If someone can provide some brief clarification, I'd 
be more than happy to update the docs!

--
nosy: +jack__d

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



[issue44347] Unclear documentation for shutil.copytree()

2021-06-10 Thread Jack DeVries


Change by Jack DeVries :


--
pull_requests: +25229
pull_request: https://github.com/python/cpython/pull/26643

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



[issue44362] improve documentation of SSL deprecations

2021-06-10 Thread Jack DeVries


Jack DeVries  added the comment:

Would you like me to submit a PR for this simple patch?

https://github.com/jdevries3133/cpython/commit/42d9bd7f97f03b49d4fc89780616704998492ac1

--

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



[issue44387] Not obvious that locale.LC_MESSAGES may not exist sometimes (e.g. on Windows)

2021-06-10 Thread Jack DeVries


Jack DeVries  added the comment:

Could it be that _locale throws an ImportError whenever LC_MESSAGES doesn't 
exist? Then, there are fall-backs defined here:

https://github.com/python/cpython/blob/62f1d2b3d7dda99598d053e10b785c463fdcf591/Lib/locale.py#L45-L85

--
nosy: +jack__d

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



[issue44387] Not obvious that locale.LC_MESSAGES may not exist sometimes (e.g. on Windows)

2021-06-10 Thread Jack DeVries


Jack DeVries  added the comment:

Follow-up: nope! My hypothesis was incorrect. This is all that _localemodule.c 
has to say about LC_MESSAGES:

#ifdef LC_MESSAGES
ADD_INT(module, LC_MESSAGES);
#endif /* LC_MESSAGES */

--

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



[issue44382] Python 3.9+ on Windows 8.0

2021-06-10 Thread Jack DeVries


Jack DeVries  added the comment:

https://buildbot.python.org/all/#/waterfall?tags=win64

Buildbot is only running against 8.1, not 8.0. I'm guessing that means that the 
docs are correct and python.org main page is wrong. I'd open an issue over 
there:

https://github.com/python/pythondotorg/issues

--
nosy: +jack__d

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



[issue44386] importlib and math.pi interact strangely

2021-06-10 Thread Jack DeVries


Jack DeVries  added the comment:

That is because pi, along with other constants in the math module are defined 
during module execution, not module creation:

https://github.com/python/cpython/blob/62f1d2b3d7dda99598d053e10b785c463fdcf591/Modules/cmathmodule.c#L1257-L1262

Taking the example right here 
(https://docs.python.org/3/library/importlib.html#checking-if-a-module-can-be-imported)
 from the docs, you can see how they call exec_module() after module_from_spec.

If you change your code to do that as well, you will find that pi is now 
defined:



from importlib import util

mathmodule = util.find_spec("math")
math1 = util.module_from_spec(mathmodule)
mathmodule.loader.exec_module(math1)
print(math1.pi)



--
nosy: +jack__d

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



[issue38323] asyncio: MultiLoopWatcher has a race condition (test_asyncio: test_close_kill_running() hangs on AMD64 RHEL7 Refleaks 3.x)

2021-06-11 Thread Jack DeVries


Change by Jack DeVries :


--
nosy: +jack__d
nosy_count: 10.0 -> 11.0
pull_requests: +25270
pull_request: https://github.com/python/cpython/pull/26643

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



[issue37880] For argparse add_argument with action='store_const', const should default to None.

2021-06-12 Thread Jack DeVries


Jack DeVries  added the comment:

Hi Joannah, I'm a new contributor and happy to take a crack at this if you 
haven't already started on a fix / would like me to do that. Thanks!

--
nosy: +jack__d

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



  1   2   3   4   5   >