[issue29383] Reduce temporary unicode object while adding descriptors

2017-01-27 Thread INADA Naoki
Changes by INADA Naoki : -- resolution: -> fixed status: open -> closed ___ Python tracker ___

[issue29383] Reduce temporary unicode object while adding descriptors

2017-01-27 Thread Roundup Robot
Roundup Robot added the comment: New changeset d7ec72c1620c by INADA Naoki in branch 'default': Issue #29383: reduce temporary interned unicode https://hg.python.org/cpython/rev/d7ec72c1620c -- nosy: +python-dev ___ Python tracker

[issue29182] Remove the warning in urllib docs that it doesn't do certificate validate by default.

2017-01-27 Thread Senthil Kumaran
Senthil Kumaran added the comment: Thank you for the review, Julian. Addressed it and the change is committed at changeset b5125e971fdd -- resolution: -> fixed stage: commit review -> resolved status: open -> closed ___ Python tracker

[issue21085] Cygwin does not provide siginfo_t.si_band

2017-01-27 Thread Decorater
Decorater added the comment: In 3.6 and 3.7 The Same Error is back on line 960 with gcc 6.3.0 on cygwin64. This issue is not entirely fixed even with the absolute latest commits. $ make gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-pro totypes-std=c99 -Wextra

[issue29383] Reduce temporary unicode object while adding descriptors

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: descr-remove-getitemstring-2.patch LGTM. -- nosy: +serhiy.storchaka ___ Python tracker ___

[issue29383] Reduce temporary unicode object while adding descriptors

2017-01-27 Thread INADA Naoki
Changes by INADA Naoki : Added file: http://bugs.python.org/file46444/dict-setitemstring.patch ___ Python tracker ___

[issue29383] Reduce temporary unicode object while adding descriptors

2017-01-27 Thread INADA Naoki
INADA Naoki added the comment: descr-remove-getitemstring-2.patch is more compact than first patch. (3 unicode + 2 intern) becomes (2 unicode + 1 intern). python_startup_no_site: Median +- std dev: 12.5 ms +- 0.1 ms -- Added file:

[issue29383] Reduce temporary unicode object while adding descriptors

2017-01-27 Thread INADA Naoki
INADA Naoki added the comment: I think I found better way. Interned string can be get from descripter. Interning can be reduced without adding private API. Please don't review the first patch. -- ___ Python tracker

[issue29310] Document typing.NamedTuple default argument syntax

2017-01-27 Thread Jelle Zijlstra
Jelle Zijlstra added the comment: Thanks! Uploaded a revised patch. -- Added file: http://bugs.python.org/file46442/issue29310-2.patch ___ Python tracker

[issue29382] IDLE search and replace should use 'hit' tag instead of 'hilite'

2017-01-27 Thread Terry J. Reedy
Terry J. Reedy added the comment: After the original bug for #18590 was fixed, I left it open for working on the tags. (Currently, Find and the find part of Replace work differently and at least one of them double tags found text.) I decided to close it and use this for the tag choice

[issue18590] Found text not always highlighted by Replace dialog on Windows

2017-01-27 Thread Terry J. Reedy
Terry J. Reedy added the comment: Since the original bug for this issue has been fixed, I am closing it in favor of #29392 -- resolution: -> fixed stage: test needed -> resolved status: open -> closed superseder: -> IDLE search and replace should use 'hit' tag instead of 'hilite'

[issue29382] IDLE search and replace should use 'hit' tag instead of 'hilite'

2017-01-27 Thread Terry J. Reedy
Terry J. Reedy added the comment: The now-closed issues I remember were about hits not being visibly marked at all. For me, on Win 10 with 3.6, they are being marked. If you are referring to any discussion specifically about which tag to use, please post the issue numbers prefixed with '#',

[issue29383] Reduce temporary unicode object while adding descriptors

2017-01-27 Thread INADA Naoki
New submission from INADA Naoki: add_methods(), add_members(), and add_getset() creates PyUnicode from C string 3 times, and calls PyUnicode_InternInplace 2 times. 1. PyDict_GetItemString() at first. (PyUnicode_FromString() is called). 2. In middle, descr_new() calls

[issue29382] IDLE search/replace/replace+find is (still?) using the 'hilite' tag instead of 'hit'

2017-01-27 Thread d s
New submission from d s: Searching for this issue turned up a bunch of results claiming it's fixed, but it isn't, at least not on my windows 10 machine. I tried replacing 'hit' with 'itdunwork' in colorizer.py, searchbase.py, replace.py, searchengine.py, config.py, search.py, configdialog.py,

[issue15373] copy.copy() does not properly copy os.environment

2017-01-27 Thread Raymond Hettinger
Raymond Hettinger added the comment: [Antoine] > I agree with David that copy(os.environ) is rather ambiguous. > I think the preferred idiom should be to call dict(os.environ). > As for __copy__, I don't know what it should do: perhaps > simply raise an error when copying is attempted? FWIW, I

[issue28055] pyhash's siphash24 assumes alignment of the data pointer

2017-01-27 Thread Greg Onufer
Greg Onufer added the comment: 32-bit and 64-bit SPARC ABIs have 64-bit integer data types. SPARC, like many RISC architectures, also has natural alignment requirements. Attempting to dereference a pointer to a 4-byte-sized object requires 4-byte alignment, for example. 2-byte-sized objects

[issue29237] Create enum for pstats sorting options

2017-01-27 Thread Raymond Hettinger
Raymond Hettinger added the comment: Mariatta, would you like to prepare a patch for this. Ethan and I will review it. -- assignee: -> Mariatta nosy: +Mariatta, rhettinger ___ Python tracker

[issue1346238] A constant folding optimization pass for the AST

2017-01-27 Thread Raymond Hettinger
Raymond Hettinger added the comment: I applaud any effort to move constant folding out of the peepholer and into AST. -- ___ Python tracker ___

[issue29381] Tutorial documentation contains undefined reference to #!

2017-01-27 Thread Raymond Hettinger
Raymond Hettinger added the comment: Mariatta, could you check this patch and tell us your recommendation about whether it should be applied, modified, or rejected? -- assignee: docs@python -> Mariatta nosy: +Mariatta, rhettinger ___ Python tracker

[issue29371] Typo in doctest documentation

2017-01-27 Thread Raymond Hettinger
Raymond Hettinger added the comment: Mariatta, would you like to look into this and opine about whether the docs are correct as-is. If you think a change is warranted, propose a patch. -- ___ Python tracker

[issue3991] urllib.request.urlopen does not handle non-ASCII characters

2017-01-27 Thread Andreas Ã…kerlund
Andreas Ã…kerlund added the comment: Changed the patch after pointers from vadmium. And quote_uri is changed to quote_iri as martin.panter thought it was more appropriate. -- Added file: http://bugs.python.org/file46440/issue3991_2017-01-27.diff ___

[issue968063] Add fileinput.islastline()

2017-01-27 Thread Saurav Singh
Saurav Singh added the comment: last patch works fine i have applied and tested the patch.Its documented well.Can we please have it reviewed? -- nosy: +Saurav Singh ___ Python tracker

[issue29371] Typo in doctest documentation

2017-01-27 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- assignee: docs@python -> Mariatta nosy: +Mariatta, rhettinger ___ Python tracker ___

[issue15373] copy.copy() does not properly copy os.environment

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: If add support for the copy protocol, consider also adding support for deepcopying and pickling. -- nosy: +serhiy.storchaka ___ Python tracker

[issue15373] copy.copy() does not properly copy os.environment

2017-01-27 Thread Gregory P. Smith
Changes by Gregory P. Smith : -- keywords: +needs review nosy: +gregory.p.smith stage: -> patch review versions: +Python 3.7 -Python 3.4 ___ Python tracker

[issue29377] Add the 'wrapper_descriptor' type to the types module

2017-01-27 Thread Ivan Levkivskyi
Ivan Levkivskyi added the comment: Manuel, thank you for the new patch now everything works. I have few more comments: 1. I have found that there is one more built-in type: type(str.join) gives . Maybe it makes sense to add this one too? 2. Taking into account previous point I withdraw my idea

[issue29374] Doc: signal.sig(timed)wait do not work outside the main thread

2017-01-27 Thread Terry J. Reedy
Changes by Terry J. Reedy : -- title: Doc bug: signal.sigwait and signal.sigtimedwait do not work outside the Main thread -> Doc: signal.sig(timed)wait do not work outside the main thread ___ Python tracker

[issue29366] os.listdir has inconsistent behavior when run on a non-directory

2017-01-27 Thread Terry J. Reedy
Terry J. Reedy added the comment: This is a feature-change 'enhancement' issue. There is no violation of the doc at https://docs.python.org/3/library/os.html#os.listdir and as Raylu noted, the current behavior is accommodated in tests. I presume that regardless of what system calls are made,

[issue29264] sparc/ffi.c:440 error: 'asm' undeclared

2017-01-27 Thread Xavier de Gaye
Xavier de Gaye added the comment: See also msg286365. -- nosy: +xdegaye resolution: -> third party stage: -> resolved status: open -> closed ___ Python tracker

[issue29302] add contextlib.AsyncExitStack

2017-01-27 Thread Alexander Mohr
Alexander Mohr added the comment: created gist: https://gist.github.com/thehesiod/b8442ed50e27a23524435a22f10c04a0 I've now updated the imple to support both __aenter__/__aexit__ and __enter__/__exit__ so I don't need two ExitStacks -- ___ Python

[issue29302] add contextlib.AsyncExitStack

2017-01-27 Thread Alexander Mohr
Changes by Alexander Mohr : Removed file: http://bugs.python.org/file46322/exit_stack.py ___ Python tracker ___

[issue29371] Typo in doctest documentation

2017-01-27 Thread Jim Fasarakis-Hilliard
Jim Fasarakis-Hilliard added the comment: I think it is fine as it is but, agree that it could be clearer. I'm simply not experienced enough to know if this change is warranted. The docs generally do a great job in being concise (balancing brevity and completeness). A core-dev would be best

[issue29381] Tutorial documentation contains undefined reference to #!

2017-01-27 Thread Jim Fasarakis-Hilliard
Changes by Jim Fasarakis-Hilliard : -- title: Tutorial documentation contains undefined reference -> Tutorial documentation contains undefined reference to #! Added file: http://bugs.python.org/file46439/interpreter_tut2.7.patch

[issue29381] Tutorial documentation contains undefined reference

2017-01-27 Thread Jim Fasarakis-Hilliard
New submission from Jim Fasarakis-Hilliard: After moving a certain chunk of the 'interpreter.rst' contents to 'appendix.rst' in issue16827 the reference to #! in the section '2.2.3. Source Code Encoding' is currently confusing for new readers. Attached patches reword the sentence to remove

[issue23163] pdb docs need to contain a statement on threads/multithreaded debugging

2017-01-27 Thread Attila-Mihaly Balazs
Attila-Mihaly Balazs added the comment: Absolutely this. While it is good that there is at least some documentation (at sys.settrace), it is not very explicit nor is it self evident that one should look there (for example the PDB docs don't even mention settrace). -- nosy:

[issue29100] datetime.fromtimestamp() doesn't check min/max year anymore: regression of Python 3.6

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: timestamp_limits-2.patch: catch also OverflowError in unit tests, and uses a context manager rather than self.assertRaises(..., func, ...) syntax. -- Added file: http://bugs.python.org/file46437/timestamp_limits-2.patch

[issue29301] decimal: Use FASTCALL and/or Argument Clinic

2017-01-27 Thread Stefan Krah
Stefan Krah added the comment: > STINNER Victor added the comment: > > AC will not happen: It makes the module too large and unreadable. > > Ah you dislike the additional [clinic input] sections? Yes, they tear apart the code. I stopped reading many C files because of this. Brett asked why

[issue29301] decimal: Use FASTCALL and/or Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: Stefan Krah: > AC will not happen: It makes the module too large and unreadable. Ah you dislike the additional [clinic input] sections? It's kind of strange when you have to convert existing code, when once the code uses AC, I prefer AC to separated

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: Updated patch, version 6: * Rename "obj" variable to "iter" * Fix unpack_from() signature: only the first parameter is positional only -- Added file: http://bugs.python.org/file46436/struct_fastcall-6.patch ___

[issue29301] decimal: Use FASTCALL and/or Argument Clinic

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: > What is the status of Argument Clinic? Is it something "public" or not? No, it is for for internal CPython use only. It lacks some features (support of var-positional and var-keyword parameters, optional parameters without default value), the syntax of

[issue29301] decimal: Use FASTCALL and/or Argument Clinic

2017-01-27 Thread Stefan Krah
Stefan Krah added the comment: I'll take a look when I have the opportunity. AC will not happen: It makes the module too large and unreadable. -- ___ Python tracker

[issue29378] Invalid example in documentation for PyErr_Fetch

2017-01-27 Thread Kaeptm Blaubaer
Kaeptm Blaubaer added the comment: I had no outdated documentation, but the documentation of 3.5. -- resolution: out of date -> status: closed -> open versions: +Python 3.5 ___ Python tracker

[issue29301] decimal: Use FASTCALL and/or Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: Oops, I forgot to attach decimal-2.patch, here you have. > I would dissuade from direct using of FASTCALL, but Argument Clinic is enough > reliable. I wrote decimal-2.patch in a few minutes, when I was trying to find all functions still calling

[issue29301] decimal: Use FASTCALL and/or Argument Clinic

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: I would dissuade from direct using of FASTCALL, but Argument Clinic is enough reliable. I would recommend to use Argument Clinic unless Stefan supports external fork of the decimal module and is limited by public API. --

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: New patch version 5 without the "format_converter". Serhiy Storchaka: I said not about the converter that converts format to bytes (it is needed only in Struct.__init__), For me, it makes sense to check format type earlier than Struct.__init__(), but since

[issue29378] Invalid example in documentation for PyErr_Fetch

2017-01-27 Thread Kaeptm Blaubaer
Kaeptm Blaubaer added the comment: I had an outdated version of the documentation. -- resolution: -> out of date status: open -> closed ___ Python tracker

[issue29380] A lot of warning while executing make install

2017-01-27 Thread Zachary Ware
Zachary Ware added the comment: Building _ctypes with the bundled copy of libffi is deprecated since Python 3.6, and is not possible in 3.7. If you need the ctypes module, please install libffi separately and make sure the Python build process can find it. If you build libffi yourself, please

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: I said not about the converter that converts format to bytes (it is needed only in Struct.__init__), but about the converter that converts format to the Struct object. It is used in all module-level functions. --

[issue29326] Blank lines in ._pth file are not ignored

2017-01-27 Thread Alexey Izbyshev
Alexey Izbyshev added the comment: I've encountered this issue too. (FYI, the official 3.6.0 embeddable zip from https://www.python.org/downloads/windows/ does contain a blank line in its ._pth, so all its users get an invalid entry in sys.path). The patch is attached. I couldn't fix tests in

[issue29301] decimal: Use FASTCALL and/or Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: Hello, I'm back! :-) I almost abandonned my the tp_fastcall change (#29259). print() now uses FASTCALL (#29296), it already made bm_telco faster: https://speed.python.org/timeline/#/?exe=5=telco=1=50=off=on=on (see the speedup around January 16 at the right)

[issue29100] datetime.fromtimestamp() doesn't check min/max year anymore: regression of Python 3.6

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: timestamp_limits.patch is waiting for your review! This issue is a major regression of Python 3.6. I'm going to push the patch in one week if I don't get any review. -- ___ Python tracker

[issue29100] datetime.fromtimestamp() doesn't check min/max year anymore: regression of Python 3.6

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: The issue #29346 has been marked as a duplicate of this one. -- ___ Python tracker ___

[issue29100] datetime.fromtimestamp() doesn't check min/max year anymore: regression of Python 3.6

2017-01-27 Thread STINNER Victor
Changes by STINNER Victor : -- nosy: +Eli Collins, lemburg ___ Python tracker ___

[issue29346] datetime doesn't check for min/max dates anymore in Python 3.6.0 => crash

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: Since it's a duplicate, I close this issue. -- status: open -> closed superseder: -> datetime.fromtimestamp() doesn't check min/max year anymore: regression of Python 3.6 ___ Python tracker

[issue29346] datetime doesn't check for min/max dates anymore in Python 3.6.0 => crash

2017-01-27 Thread STINNER Victor
Changes by STINNER Victor : -- title: datetime.utcfromtimestamp() returns strange result for very large values -> datetime doesn't check for min/max dates anymore in Python 3.6.0 => crash ___ Python tracker

[issue27435] ctypes library loading and AIX - also for 2.7.X (and later)

2017-01-27 Thread Michael Haubenwallner
Changes by Michael Haubenwallner : -- nosy: +haubi ___ Python tracker ___

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: > See also ascii_buffer_converter in Modules/binascii.c for example. Nice. I didn't know the "def cleanup" feature. I used it in my patch version 4. -- ___ Python tracker

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: Thank you for your reviews Serhiy :-) Here is a new patch to take in account your latest comments. I didn't change the API anymore: Struct.unpack_from() accepts keywords, unpack_from() doesn't. -- Added file:

[issue29380] A lot of warning while executing make install

2017-01-27 Thread Eric V. Smith
Eric V. Smith added the comment: Can you give us your platform, platform version, compiler, and compiler version? Also, the entire output of "make install" (or whatever make command you're running). Thanks. -- nosy: +eric.smith ___ Python tracker

[issue29380] A lot of warning while executing make install

2017-01-27 Thread Mirko Tebaldi (Realtebo)
New submission from Mirko Tebaldi (Realtebo): /usr/src/Python-3.6.0/Modules/_ctypes/libffi/src/x86/ffi64.c: In function 'classify_argument': /usr/src/Python-3.6.0/Modules/_ctypes/libffi/src/x86/ffi64.c:195:18: warning: suggest braces around empty body in an 'else' statement [-Wempty-body]

[issue25667] Supply dual-stack (IPv4/IPv6) socket bind routine

2017-01-27 Thread Antoine Pitrou
Antoine Pitrou added the comment: Related though with a different strategy: Tornado's bind_sockets() routine: https://github.com/tornadoweb/tornado/blob/master/tornado/netutil.py#L114-L138 -- ___ Python tracker

[issue25667] Supply dual-stack (IPv4/IPv6) socket bind routine

2017-01-27 Thread Antoine Pitrou
Changes by Antoine Pitrou : -- nosy: +pitrou ___ Python tracker ___ ___ Python-bugs-list

[issue11549] Build-out an AST optimizer, moving some functionality out of the peephole optimizer

2017-01-27 Thread INADA Naoki
Changes by INADA Naoki : -- nosy: +inada.naoki ___ Python tracker ___ ___

[issue1346238] A constant folding optimization pass for the AST

2017-01-27 Thread INADA Naoki
Changes by INADA Naoki : -- nosy: +inada.naoki ___ Python tracker ___ ___

[issue28784] shlex.shlex punctuation_chars documentation should use posix=True

2017-01-27 Thread Roundup Robot
Roundup Robot added the comment: New changeset ff3312ce1d14 by Vinay Sajip in branch '3.6': Fixes #28784: Clarified use of shlex.shlex with punctuation_chars. https://hg.python.org/cpython/rev/ff3312ce1d14 New changeset 46f8188f8646 by Vinay Sajip in branch 'default': Closes #28784: Merged

[issue29308] venv should match virtualenv VIRTUAL_ENV_DISABLE_PROMPT config

2017-01-27 Thread Roundup Robot
Roundup Robot added the comment: New changeset 91b949dc1984 by Vinay Sajip in branch '3.5': Fixes #29308: Respect VIRTUAL_ENV_DISABLE_PROMPT in Activate.ps1. https://hg.python.org/cpython/rev/91b949dc1984 New changeset d3890b44159c by Vinay Sajip in branch '3.6': Fixes #29308: Merged fix from

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: See also ascii_buffer_converter in Modules/binascii.c for example. -- ___ Python tracker ___

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: static int cache_struct_converter(PyObject *arg, PyObject **s_object) { if (arg == NULL) { Py_DECREF(); return 1; } *s_object = cache_struct(arg); // actually inline this if (*s_object == NULL) return 0; return

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: > The converter for the format parameter already exists. It is cache_struct(). > You just need to change its interface. The code to convert the format string is in s_init(). The code increases the reference counter, I don't see how to produce the Py_DECREF()

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: The converter for the format parameter already exists. It is cache_struct(). You just need to change its interface. > * Fix Struct.__init__() error message: the method accepts also Unicode > * Document that Struct accepts str encodable to ASCII and bytes I

[issue29182] Remove the warning in urllib docs that it doesn't do certificate validate by default.

2017-01-27 Thread Julian Berman
Julian Berman added the comment: Cool! If I can nitpick one last time, in the versionchanged block, you have `HTTPS URIs` but in the warning you use `HTTPS Urls` -- probably best to use consistent casing and URL vs URI. Other than that, lgtm to merge. --

[issue29300] Modify the _struct module to use FASTCALL and Argument Clinic

2017-01-27 Thread STINNER Victor
STINNER Victor added the comment: Patch version 3: * Use also Argument Clinic for Struct.__init__() * Rename fmt to format: in the code and docstring. By the way, Struct docstring was wrong: Struct() accepts a 'format' keyword argument, not 'fmt' * Use Py_buffer converter for the buffer

[issue29182] Remove the warning in urllib docs that it doesn't do certificate validate by default.

2017-01-27 Thread Senthil Kumaran
Senthil Kumaran added the comment: Hi Julian, here is the patch that addresses you comments. Thanks -- Added file: http://bugs.python.org/file46430/issue29182-patch3.diff ___ Python tracker

[issue26355] Emit major version based canonical URLs for docs

2017-01-27 Thread Manuel Krebber
Manuel Krebber added the comment: Sorry, I accidentally replied to the worng issue -.- -- ___ Python tracker ___

[issue29377] Add the 'wrapper_descriptor' type to the types module

2017-01-27 Thread Manuel Krebber
Manuel Krebber added the comment: I created the last patch without commiting, so maybe this one will work properly with the revision tool. -- Added file: http://bugs.python.org/file46429/slot-wrapper-types.patch ___ Python tracker

[issue26355] Emit major version based canonical URLs for docs

2017-01-27 Thread Manuel Krebber
Changes by Manuel Krebber : Removed file: http://bugs.python.org/file46428/slot-wrapper-types.patch ___ Python tracker ___

[issue26355] Emit major version based canonical URLs for docs

2017-01-27 Thread Manuel Krebber
Manuel Krebber added the comment: I create the last diff without creating a commit, so maybe this one works better. -- nosy: +Wheerd Added file: http://bugs.python.org/file46428/slot-wrapper-types.patch ___ Python tracker