Staging
v0.5.1
https://github.com/python/cpython

sort by:
Revision Author Date Message Commit Date
4691a2f bpo-39350: Remove deprecated fractions.gcd() (GH-18021) Remove fractions.gcd() function, deprecated since Python 3.5 (bpo-22486): use math.gcd() instead. 16 January 2020, 10:02:51 UTC
210c19e bpo-39351: Remove base64.encodestring() (GH-18022) Remove base64.encodestring() and base64.decodestring(), aliases deprecated since Python 3.1: use base64.encodebytes() and base64.decodebytes() instead. 16 January 2020, 09:24:16 UTC
fad8b56 bpo-39348: Fix code highlight for the SOCK_NONBLOCK example (GH-18018) The previous double colon was wrongly place directly after Therefore. Which produced a block without syntax highlighting. This fixes it by separating the double colon from the text. As a result, sphinx now properly highlights the python code. https://bugs.python.org/issue39348 15 January 2020, 23:55:13 UTC
01602ae bpo-37958: Adding get_profile_dict to pstats (GH-15495) pstats is really useful or profiling and printing the output of the execution of some block of code, but I've found on multiple occasions when I'd like to access this output directly in an easily usable dictionary on which I can further analyze or manipulate. The proposal is to add a function called get_profile_dict inside of pstats that'll automatically return this data the data in an easily accessible dict. The output of the following script: ``` import cProfile, pstats import pprint from pstats import func_std_string, f8 def fib(n): if n == 0: return 0 if n == 1: return 1 return fib(n-1) + fib(n-2) pr = cProfile.Profile() pr.enable() fib(5) pr.create_stats() ps = pstats.Stats(pr).sort_stats('tottime', 'cumtime') def get_profile_dict(self, keys_filter=None): """ Returns a dict where the key is a function name and the value is a dict with the following keys: - ncalls - tottime - percall_tottime - cumtime - percall_cumtime - file_name - line_number keys_filter can be optionally set to limit the key-value pairs in the retrieved dict. """ pstats_dict = {} func_list = self.fcn_list[:] if self.fcn_list else list(self.stats.keys()) if not func_list: return pstats_dict pstats_dict["total_tt"] = float(f8(self.total_tt)) for func in func_list: cc, nc, tt, ct, callers = self.stats[func] file, line, func_name = func ncalls = str(nc) if nc == cc else (str(nc) + '/' + str(cc)) tottime = float(f8(tt)) percall_tottime = -1 if nc == 0 else float(f8(tt/nc)) cumtime = float(f8(ct)) percall_cumtime = -1 if cc == 0 else float(f8(ct/cc)) func_dict = { "ncalls": ncalls, "tottime": tottime, # time spent in this function alone "percall_tottime": percall_tottime, "cumtime": cumtime, # time spent in the function plus all functions that this function called, "percall_cumtime": percall_cumtime, "file_name": file, "line_number": line } func_dict_filtered = func_dict if not keys_filter else { key: func_dict[key] for key in keys_filter } pstats_dict[func_name] = func_dict_filtered return pstats_dict pp = pprint.PrettyPrinter(depth=6) pp.pprint(get_profile_dict(ps)) ``` will produce: ``` {"<method 'disable' of '_lsprof.Profiler' objects>": {'cumtime': 0.0, 'file_name': '~', 'line_number': 0, 'ncalls': '1', 'percall_cumtime': 0.0, 'percall_tottime': 0.0, 'tottime': 0.0}, 'create_stats': {'cumtime': 0.0, 'file_name': '/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/cProfile.py', 'line_number': 50, 'ncalls': '1', 'percall_cumtime': 0.0, 'percall_tottime': 0.0, 'tottime': 0.0}, 'fib': {'cumtime': 0.0, 'file_name': 'get_profile_dict.py', 'line_number': 5, 'ncalls': '15/1', 'percall_cumtime': 0.0, 'percall_tottime': 0.0, 'tottime': 0.0}, 'total_tt': 0.0} ``` As an example, this can be used to generate a stacked column chart using various visualization tools which will assist in easily identifying program bottlenecks. https://bugs.python.org/issue37958 Automerge-Triggered-By: @gpshead 15 January 2020, 22:51:54 UTC
dc0284e Fix typo in multiprocessing.pool.AsyncResult.successful doc. (GH-17932) Since 3.7 `successful` raises a `ValueError` as explained in the next text block from the documentation: _Changed in version 3.7: If the result is not ready, ValueError is raised instead of AssertionError._ No issue associated with this PR. Should be backported in 3.7 and 3.8. 15 January 2020, 20:12:41 UTC
e92d393 Fix compiler warning on Windows (GH-18012) Python-ast.h contains a macro named Yield that conflicts with the Yield macro in Windows system headers. While Python-ast.h has an "undef Yield" directive to prevent this, it means that Python-ast.h must be included before Windows header files or we run into a re-declaration warning. In commit c96be811fa7d an include for pycore_pystate.h was added which indirectly includes Windows header files. In this commit we re-order the includes to fix this warning. 15 January 2020, 16:48:40 UTC
e85a305 bpo-38630: Fix subprocess.Popen.send_signal() race condition (GH-16984) On Unix, subprocess.Popen.send_signal() now polls the process status. Polling reduces the risk of sending a signal to the wrong process if the process completed, the Popen.returncode attribute is still None, and the pid has been reassigned (recycled) to a new different process. 15 January 2020, 16:38:55 UTC
ed154c3 bpo-1635741: Port _json extension module to multiphase initialization (PEP 489) (GH-17835) 15 January 2020, 16:32:51 UTC
3f12ac1 bpo-39164: Fix compiler warning in PyErr_GetExcInfo() (GH-18010) The function has no return value. 15 January 2020, 10:23:25 UTC
cf288b5 Fix AsyncMock base class in the docs (GH-18008) 15 January 2020, 09:50:57 UTC
54f743e Improve test coverage for AsyncMock. (GH-17906) * Add test for nested async decorator patch. * Add test for side_effect and wraps with a function. * Add test for side_effect with an exception in the iterable. 15 January 2020, 09:49:49 UTC
45cf5db Allow pgen to produce a DOT format dump of the grammar (GH-18005) Originally suggested by Anthony Shaw. 14 January 2020, 22:32:55 UTC
65a5ce2 bpo-39329: Add timeout parameter for smtplib.LMTP constructor (GH-17998) 14 January 2020, 21:42:09 UTC
7d63780 bpo-38901: Allow setting a venv's prompt to the basename of the current directory. (GH-17946) When a prompt value of '.' is specified, os.path.basename(os.getcwd()) is used to configure the prompt for the created venv. 14 January 2020, 20:49:30 UTC
4b0d91a venv: Suppress warning message when bash hashing is disabled. (GH-17966) When using python's built-in venv activaton script warnings are printed when hashing is disabled in bash or zsh, like; `bash: hash: hashing disabled` This output is not really useful to the end-user and has been disabled in `virtualenv` for long. This commit is based on: https://github.com/pypa/virtualenv/commit/28e85bcd80d04b2a7ebce0e1d0b02d432b7e5593 14 January 2020, 20:47:59 UTC
b4cdb3f Fix documentation in code.py (GH-17988) 14 January 2020, 19:47:25 UTC
f04750b bpo-38361: syslog: fixed making default "ident" from sys.argv[0] (GH-16557) The default value of "ident" parameter should be sys.argv[0] with leading path components stripped, but it contained the last slash, i.e. '/program' instead of 'program'. BPO issue: https://bugs.python.org/issue38361 https://bugs.python.org/issue38361 14 January 2020, 17:57:04 UTC
b679137 bpo-39322: Add gc.is_finalized to the gc module docstring (GH-18000) 14 January 2020, 17:38:15 UTC
a2ec3f0 bpo-39322: Add gc.is_finalized to check if an object has been finalised by the gc (GH-17989) 14 January 2020, 12:06:45 UTC
1d1b97a bpo-39048: Look up __aenter__ before __aexit__ in async with (GH-17609) * Reorder the __aenter__ and __aexit__ checks for async with * Add assertions for async with body being skipped * Swap __aexit__ and __aenter__ loading in the documentation 14 January 2020, 11:58:29 UTC
9af0e47 bpo-39156: Break up COMPARE_OP into four logically distinct opcodes. (GH-17754) Break up COMPARE_OP into four logically distinct opcodes: * COMPARE_OP for rich comparisons * IS_OP for 'is' and 'is not' tests * CONTAINS_OP for 'in' and 'is not' tests * JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements. 14 January 2020, 10:12:45 UTC
62e3973 bpo-39259: smtp.SMTP/SMTP_SSL now reject timeout = 0 (GH-17958) 14 January 2020, 07:49:59 UTC
2de064e bpo-39160 Align the verbs, grammar and defaults for `./configure --help` (GH-17747) 14 January 2020, 06:40:10 UTC
a190e2a bpo-39259: ftplib.FTP/FTP_TLS now reject timeout = 0 (GH-17959) 13 January 2020, 19:34:34 UTC
31d6de5 remove unused __version__ from mock.py (#17977) This isn't included in `__all__` and could be a source of confusion. 13 January 2020, 19:11:34 UTC
2b1df45 bpo-38644: Pass tstate to _Py_FinishPendingCalls() (GH-17990) _Py_FinishPendingCalls() now expects a tstate argument, instead of a runtime argument. 13 January 2020, 17:46:59 UTC
3430c55 bpo-39164: Add private _PyErr_GetExcInfo() function (GH-17752) This adds a new function named _PyErr_GetExcInfo() that is a variation of the original PyErr_GetExcInfo() taking a PyThreadState as its first argument. That function allows to retrieve the exceptions information of any Python thread -- not only the current one. 13 January 2020, 16:30:14 UTC
d8efc14 bpo-39299: Add more tests for mimetypes and its cli. (GH-17949) * Add tests for case insensitive check of types and extensions as fallback. * Add tests for data url with no comma. * Add tests for read_mime_types. * Add tests for the mimetypes cli and refactor __main__ code to private function. * Restore mimetypes.knownfiles value at the end of the test. 13 January 2020, 14:39:36 UTC
c1ee6e5 bpo-20443: Update What's New In Python 3.9 (GH-17986) The sys.argv[0] change has been reverted. 13 January 2020, 13:57:14 UTC
e7c9f4a Cleanup exit code for interpreter. (GH-17756) 13 January 2020, 12:51:26 UTC
97f1267 Fix typos in gcmodule.c and restructure comments for clarity (GH-17983) 13 January 2020, 12:25:05 UTC
d23f782 Remove unused functions in Parser/parsetok.c (GH-17365) 13 January 2020, 11:58:52 UTC
0b2ab21 bpo-39310: Add math.ulp(x) (GH-17965) Add math.ulp(): return the value of the least significant bit of a float. 13 January 2020, 11:44:35 UTC
7ba6f18 bpo-39307: Fix memory leak on error path in parsetok (GH-17953) 13 January 2020, 10:35:47 UTC
b2b4a51 bpo-32021: Support brotli .br encoding in mimetypes (#12200) Add support for brotli encoding in the encoding_map. 12 January 2020, 22:31:49 UTC
61b1415 bpo-39313: Add an option to RefactoringTool for using exec as a function (GH-17967) https://bugs.python.org/issue39313 Automerge-Triggered-By: @pablogsal 12 January 2020, 22:13:31 UTC
14dbe4b Fix outdated comment in _strptime.py (GH-17929) Can I please get the tags for skipping bpo and skipping a news item? 12 January 2020, 20:53:00 UTC
6680f4a bpo-3530: Add advice on when to correctly use fix_missing_locations in the AST docs (GH-17172) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> 12 January 2020, 20:38:53 UTC
9f3fc6c bpo-38293: Allow shallow and deep copying of property objects (GH-16438) Copying property objects results in a TypeError. Steps to reproduce: ``` >>> import copy >>> obj = property() >>> copy.copy(obj) ```` This affects both shallow and deep copying. My idea for a fix is to add property objects to the list of "atomic" objects in the copy module. These already include types like functions and type objects. I also added property objects to the unit tests test_copy_atomic and test_deepcopy_atomic. This is my first PR, and it's highly likely I've made some mistake, so please be kind :) https://bugs.python.org/issue38293 12 January 2020, 17:41:49 UTC
54cfbb2 bpo-39288: Add examples to math.nextafter() documentation (GH-17962) 12 January 2020, 11:57:47 UTC
0ca7cc7 bpo-38356: Fix ThreadedChildWatcher thread leak in test_asyncio (GH-16552) Motivation for this PR (comment from @vstinner in bpo issue): ``` Warning seen o AMD64 Ubuntu Shared 3.x buildbot: https://buildbot.python.org/all/#/builders/141/builds/2593 test_devnull_output (test.test_a=syncio.test_subprocess.SubprocessThreadedWatcherTests) ... Warning -- threading_cleanup() failed to cleanup 1 threads (count: 1, dangling: 2) ``` The following implementation details for the new method are TBD: 1) Public vs private 2) Inclusion in `close()` 3) Name 4) Coroutine vs subroutine method 5) *timeout* parameter If it's a private method, 3, 4, and 5 are significantly less important. I started with the most minimal implementation that fixes the dangling threads without modifying the regression tests, which I think is particularly important. I typically try to avoid directly modifying existing tests as much as possible unless it's necessary to do so. However, I am open to changing any part of this. https://bugs.python.org/issue38356 12 January 2020, 11:02:50 UTC
d7c7add bpo-12159: Document sys.maxsize limit in len() function reference (GH-17934) 12 January 2020, 09:04:14 UTC
c12440c bpo-16575: Disabled checks for union types being passed by value. (GH-17960) Although the underlying libffi issue remains open, adding these checks have caused problems in third-party projects which are in widespread use. See the issue for examples. The corresponding tests have also been skipped. 12 January 2020, 08:54:00 UTC
100fafc bpo-39288: Add math.nextafter(x, y) (GH-17937) Return the next floating-point value after x towards y. 12 January 2020, 01:15:42 UTC
1b335ae bpo-39259: nntplib.NNTP/NNTP_SSL now reject timeout = 0 (GH-17936) nntplib.NNTP and nntplib.NNTP_SSL now raise a ValueError if the given timeout for their constructor is zero to prevent the creation of a non-blocking socket. 11 January 2020, 17:39:15 UTC
136735c bpo-39297: Update for importlib_metadata 1.4. (GH-17947) * bpo-39297: Update for importlib_metadata 1.4. Includes performance updates. * 📜🤖 Added by blurb_it. * Update blurb Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> 11 January 2020, 15:37:28 UTC
5d978a2 bpo-39259: nntplib.NNTP/NNTP_SSL refactoring (GH-17939) 11 January 2020, 15:07:36 UTC
43682f1 Fix host in address of socket.create_server example. (GH-17706) Host as None in address raises TypeError since it should be string, bytes or bytearray. 11 January 2020, 05:16:30 UTC
ce54519 bpo-39292: Add missing syslog facility codes. (GH-17945) 10 January 2020, 19:37:48 UTC
abdc634 bpo-39200: Correct the error message for min/max builtin function (GH-17814) Correct the error message when calling the min() or max() with no arguments. 10 January 2020, 16:31:43 UTC
c39b52f bpo-39259: poplib now rejects timeout = 0 (GH-17912) poplib.POP3 and poplib.POP3_SSL now raise a ValueError if the given timeout for their constructor is zero to prevent the creation of a non-blocking socket. 10 January 2020, 14:34:05 UTC
4c53e63 bpo-39166: Fix trace of last iteration of async for loops (#17800) 10 January 2020, 09:24:22 UTC
850a885 bpo-39235: Check end_lineno and end_col_offset of AST nodes. (GH-17926) 10 January 2020, 08:12:55 UTC
a796d8e bpo-39235: Fix end location for genexp in call args (GH-17925) The fix changes copy_location() to require an extra node from which to extract the end location, and fixing all 5 call sites. https://bugs.python.org/issue39235 09 January 2020, 19:18:47 UTC
2f65aa4 Fix typo in test's docstring (GH-17856) * Fix typo in test's docstring. contination -> continuation. 09 January 2020, 17:07:32 UTC
ed36781 bpo-25172: Reduce scope of crypt import tests (GH-17881) 09 January 2020, 17:00:29 UTC
eef1b02 Add test cases for dataclasses. (#17909) * Add test cases for dataclasses. * Add test for repr output of field. * Add test for ValueError to be raised when both default and default_factory are passed. 09 January 2020, 13:41:46 UTC
6c5d661 bpo-39161: Document multi-phase init modules under Py_NewInterpreter() (GH-17896) \+ this also adds a stronger warning against sharing objects between (sub-)interpreters. https://bugs.python.org/issue39161 09 January 2020, 12:05:18 UTC
f3e5e95 bpo-39270: Remove dead assignment from config_init_module_search_paths (GH-17914) 09 January 2020, 09:14:11 UTC
a1c1be2 bpo-39272: Remove dead assignment from _ssl__SSLContext_load_verify_locations_impl (GH-17916) 09 January 2020, 09:12:12 UTC
1a183fa bpo-39271: Remove dead assignment from pattern_subx (GH-17915) 09 January 2020, 06:27:51 UTC
5cae042 closes bpo-39262: Use specific out-of-memory message in _sharedexception_bind. (GH-17908) 09 January 2020, 02:48:52 UTC
2c7ed41 closes bpo-39261: Remove dead assignment from pyinit_config. (GH-17907) 09 January 2020, 02:46:55 UTC
f3a0a6b Py_DECREF: only pass filename if Py_REF_DEBUG is defined (GH-17870) Filename and line numbers are not needed when Py_REF_DEBUG are not defined. The static inline _Py_DECREF() function was introduced by commit 2aaf0c12041bcaadd7f2cc5a54450eefd7a6ff12. 08 January 2020, 20:03:45 UTC
5907e61 bpo-35292: Avoid calling mimetypes.init when http.server is imported (GH-17822) 08 January 2020, 18:28:14 UTC
2e6a8ef bpo-39242: Updated the Gmane domain into news.gmane.io (GH-17903) 08 January 2020, 15:29:34 UTC
9a669d5 bpo-39233: Update positional-only section in the glossary (GH-17874) https://bugs.python.org/issue39233 08 January 2020, 13:00:14 UTC
998c549 bpo-39237, datetime: Remove redundant call to round from delta_new (GH-17877) 08 January 2020, 12:52:44 UTC
b821173 bpo-38871: Fix lib2to3 for filter-based statements that contain lambda (GH-17780) Correctly parenthesize filter-based statements that contain lambda expressions in lib2to3. 07 January 2020, 17:30:54 UTC
13a7ee8 bpo-38615: Add timeout parameter for IMAP4 and IMAP4_SSL constructor (GH-17203) imaplib.IMAP4 and imaplib.IMAP4_SSL now have an optional *timeout* parameter for their constructors. Also, the imaplib.IMAP4.open() method now has an optional *timeout* parameter with this change. The overridden methods of imaplib.IMAP4_SSL and imaplib.IMAP4_stream were applied to this change. 07 January 2020, 17:28:10 UTC
950c679 bpo-39198: Ensure logging global lock is released on exception in isEnabledFor (GH-17689) 07 January 2020, 16:40:23 UTC
5b23f76 bpo-39239: epoll.unregister() no longer ignores EBADF (GH-17882) The select.epoll.unregister() method no longer ignores the EBADF error. 07 January 2020, 14:00:02 UTC
10ac0cd bpo-39191: Fix RuntimeWarning in asyncio test (GH-17863) https://bugs.python.org/issue39191 07 January 2020, 13:23:01 UTC
ca94677 bpo-38623: Doc: Add section for site module CLI. (GH-17858) 07 January 2020, 07:58:40 UTC
f4800b8 Doc: Change Python 2 status to EOL. (GH-17885) 07 January 2020, 06:52:44 UTC
24bcefc bpo-39234: `enum.auto()` default initial value as 1 (GH-17878) Updated as Eric mentioned "By default, the initial value starts at 1" https://bugs.python.org/issue39234 Automerge-Triggered-By: @ericvsmith 06 January 2020, 22:04:43 UTC
b1ce22d bpo-39041: Fix coverage upload command for GitHub Actions (GH-17873) https://bugs.python.org/issue39041 Automerge-Triggered-By: @zooba 06 January 2020, 21:23:10 UTC
2e9012a bpo-39234: Doc: `enum.auto()` incrementation value not specified. (GH-17872) * `enum.auto()` initial value is now specified as being `1`. 06 January 2020, 19:53:36 UTC
7b79dc9 bpo-29778: Fix incorrect NULL check in _PyPathConfig_InitDLLPath() (GH-17818) 06 January 2020, 16:57:34 UTC
5ec91f7 bpo-39209: Manage correctly multi-line tokens in interactive mode (GH-17860) 06 January 2020, 15:59:09 UTC
075ebad Fix link to bpo issue in Changelog (GH-17692) 06 January 2020, 15:18:16 UTC
7cdc31a bpo-38907: Suppress any exception when attempting to set V6ONLY. (GH-17864) Fixes error attempting to bind to IPv4 address. 06 January 2020, 12:59:36 UTC
5136e72 argument-clinic: Simplify multi-line string handling (GH-17852) 06 January 2020, 10:46:03 UTC
ee94bdb bpo-38907: In http.server script, restore binding to IPv4 on Windows. (GH-17851) 06 January 2020, 03:32:19 UTC
d6c08db Minor formatting improvements and fixes to idle.rst (GH-17165) 05 January 2020, 23:51:48 UTC
94d9cfc bpo-39130: Dict reversed was added in v3.8 so should say in the doc as well (GH-17694) To be consistent with document layout, it should say when the feature was added. Although it's mentioned few other places in the doc but it's not explicitly say that at that place. https://bugs.python.org/issue39130 05 January 2020, 22:39:38 UTC
abc0c4f Fix the parameter list of object. _rpow_ (#GH-16477) 05 January 2020, 22:20:29 UTC
e6ae90d Replace links in howto/pyporting.rst with sphinx references (GH-17781) Signed-off-by: Oleg Höfling <oleg.hoefling@gmail.com> 05 January 2020, 22:08:14 UTC
422ed16 Organise and clean test_positional_only_arg and add more tests (GH-17842) 05 January 2020, 18:52:39 UTC
4b66fa6 bpo-39200: Correct the error message for range() empty constructor (GH-17813) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> 05 January 2020, 17:30:53 UTC
b121a4a Fix constant folding optimization for positional only arguments (GH-17837) 05 January 2020, 17:03:56 UTC
5ea7bb2 bpo-39152: add missing ttk.Scale.configure return value (GH-17815) tkinter.ttk.Scale().configure([name]) now returns a configuration tuple for name or a list thereof for all options. Based on patch Giovanni Lombardo. 05 January 2020, 16:23:58 UTC
b19c0d7 bpo-39055: Reject a trailing \n in base64.b64decode() with validate=True. (GH-17616) 05 January 2020, 12:15:50 UTC
41ec17e bpo-39056: Fix handling invalid warning category in the -W option. (GH-17618) No longer import the re module if it is not needed. 05 January 2020, 12:15:27 UTC
6a265f0 bpo-39057: Fix urllib.request.proxy_bypass_environment(). (GH-17619) Ignore leading dots and no longer ignore a trailing newline. 05 January 2020, 12:14:31 UTC
ec007cb Fix SystemError when nested function has annotation on positional-only argument (GH-17826) 05 January 2020, 01:57:21 UTC
7dc72b8 bpo-28367: Add additional baud rates for termios (GH-13142) Co-authored-by: Andrey Smirnov <andrew.smirnov@gmail.com>. Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> 04 January 2020, 12:56:31 UTC
3a5de51 Fix #39191: Don't spawn a task before failing (#17796) 04 January 2020, 09:10:14 UTC
e02ab59 bpo-38532: Add missing decrefs in PyCFuncPtr_FromDll() (GH-16857) 03 January 2020, 12:16:12 UTC
b789202 Add link to zlib v1.1.3 vulnerability (GH-17156) 03 January 2020, 12:10:16 UTC
back to top