summaryrefslogtreecommitdiffstats
path: root/Lib/platform.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-44572: On Windows, disconnect STDIN in platform._syscmd_ver() to prevent ↵Miss Islington (bot)2021-07-141-0/+1
| | | | | | | erroneous STDIN consumption (GH-27092) (cherry picked from commit 0ee0a740e12ec8568aafa033aa6bb08b265afe26) Co-authored-by: Konstantin-Glukhov <glukhov.k@gmail.com>
* bpo-43284: Update platform.win32_ver to use _syscmd_ver instead of ↵Miss Islington (bot)2021-04-231-10/+11
| | | | | | | | | | sys.getwindowsversion() (GH-25500) The sys module uses the kernel32.dll version number, which can vary from the "actual" Windows version. Since the best option for getting the version is WMI (which is expensive), we switch back to launching cmd.exe (which is also expensive, but a lot less code on our part). sys.getwindowsversion() is not updated to avoid launching executables from that module. (cherry picked from commit 2a3f4899c63806439e5bcea0c30f7e6a6295a763) Co-authored-by: Shreyan Avigyan <shreyan.avigyan@gmail.com>
* [3.9] bpo-42163, bpo-42189, bpo-42659: Support uname_tuple._replace (for all ↵Jason R. Coombs2021-01-161-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | but processor) (GH-23010) (#24232) * Add test capturing missed expectation with uname_result._replace. * bpo-42163: Override uname_result._make to allow uname_result._replace to work (for everything but 'processor'. * Replace hard-coded length with one derived from the definition. * Add test capturing missed expectation with copy/deepcopy on namedtuple (bpo-42189). * bpo-42189: Exclude processor parameter when constructing uname_result. * In _make, rely on __new__ to strip processor. * Add blurb. * iter is not necessary here. * Rely on num_fields in __new__ * Add test for slices on uname * Add test for copy and pickle. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> * import pickle * Fix equality test after pickling. * Simply rely on __reduce__ for pickling. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> (cherry picked from commit a6fd0f414c0cb4cd5cc20eb2df3340b31c6f7743) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
* bpo-40570: Improve compatibility of uname_result with late-bound .platform ↵Jason R. Coombs2020-05-091-3/+4
| | | | | | | (#20015) * bpo-40570: Improve compatibility of uname_result with late-bound .platform. * Add test capturing ability to cast uname to a tuple.
* bpo-40459: Fix NameError in platform.py (GH-19855)Dennis Sweeney2020-05-051-3/+3
|
* bpo-35967 resolve platform.processor late (GH-12239)Jason R. Coombs2020-04-161-79/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Replace flag-flip indirection with direct inspection * Use any for simpler code * Avoid flag flip and set results directly. * Resolve processor in a single function. * Extract processor handling into a namespace (class) * Remove _syscmd_uname, unused * Restore platform.processor behavior to match prior expectation (reliant on uname -p in a subprocess). * Extract '_unknown_as_blank' function. * Override uname_result to resolve the processor late. * Add a test intended to capture the expected values from 'uname -p' * Instead of trying to keep track of all of the possible outputs on different systems (probably a fool's errand), simply assert that except for the known platform variance, uname().processor matches the output of 'uname -p' * Use a skipIf directive * Use contextlib.suppress to suppress the error. Inline strip call. * 📜🤖 Added by blurb_it. * Remove use of contextlib.suppress (it would fail with NameError if it had any effect). Rely on _unknown_as_blank to replace unknown with blank. Co-authored-by: blurb-it[bot] <blurb-it[bot]@users.noreply.github.com>
* bpo-35389: platform.platform() calls libc_ver() without executable (GH-14418)Victor Stinner2019-06-271-1/+1
| | | | | | | When libc_ver() is called with an executable, the os.confstr('CS_GNU_LIBC_VERSION') fast-path cannot be taken. Modify platform.platform() to call libc_ver() without executable, instead of calling libc_ver(sys.executable), since sys.executable is already the default value.
* bpo-36766: Typos in docs and code comments (GH-13116)penguindustin2019-05-061-1/+1
|
* bpo-35920: Windows 10 ARM32 platform support (GH-11774)Paul Monson2019-04-251-0/+21
|
* Fixes platform.win32_ver on non-Windows platforms (GH-12912)Steve Dower2019-04-221-12/+12
|
* bpo-35516: platform.system_alias() don't replace Darwin (GH-11207)Victor Stinner2018-12-181-0/+3
| | | | Add a comment explaining why system_alias() doesn't alias Darwin to macOS.
* bpo-35348: Fix platform.architecture() (GH-11159)Victor Stinner2018-12-171-4/+12
| | | | | | | | | | Make platform.architecture() parsing of "file" command output more reliable: * Add the "-b" option to the "file" command to omit the filename; * Force the usage of the C locale; * Search also the "shared object" pattern. Co-Authored-By: Serhiy Storchaka <storchaka@gmail.com>
* bpo-35346: Cleanup platform.architecture() (GH-11130)Victor Stinner2018-12-141-6/+2
| | | struct.calcsize('P') now always works.
* bpo-35346: Drop Mac OS 9 support from platform (GH-10959)Victor Stinner2018-12-121-15/+2
| | | | | | Drop Mac OS 9 and Rhapsody support from the platform module: * Rhapsody: last release in 2000 * Mac OS 9: last release in 2001
* bpo-35346, platform: replace os.popen() with subprocess (GH-10786)Victor Stinner2018-12-071-39/+19
| | | | | | | | | | | Replace os.popen() with subprocess.check_output() in the platform module: * platform.uname() (its _syscmd_ver() helper function) now redirects stderr to DEVNULL. * Remove platform.DEV_NULL. * _syscmd_uname() and _syscmd_file() no longer catch AttributeError. The "except AttributeError:" was only needed in Python 2, when os.popen() was not always available. In Python 3, subprocess.check_output() is always available.
* bpo-35344: platform.platform() uses mac_ver() on macOS (GH-10780)Victor Stinner2018-12-051-0/+8
| | | | | On macOS, platform.platform() now uses mac_ver(), if it returns a non-empty release string, to get the macOS version rather than darwin version.
* bpo-35389: platform.libc_ver() uses os.confstr() (GH-10891)Victor Stinner2018-12-051-1/+14
| | | | | | | | | | platform.libc_ver() now uses os.confstr('CS_GNU_LIBC_VERSION') if available and the *executable* parameter is not set. The default value of the libc_ver() *executable* parameter becomes None. Quick benchmark on Fedora 29: python3 -m perf command ./python -S -c 'import platform; platform.libc_ver()' 94.9 ms +- 4.3 ms -> 33.2 ms +- 1.4 ms: 2.86x faster (-65%)
* bpo-35346, platform: import subprocess in _syscmd_file() (GH-10892)Victor Stinner2018-12-041-5/+7
| | | | | | | Only platform._syscmd_file() uses subprocess. Move subprocess import inside this function to reduce the number of imports at Python startup. Remove also warnings import which is no longer needed.
* bpo-35345: Remove platform.popen() (GH-10781)Victor Stinner2018-11-291-9/+0
| | | | | | | Remove platform.popen() function, it was deprecated since Python 3.3: use os.popen() instead. Rename also the "Removed" section to "API and Feature Removals" of What's New in Python 3.8.
* bpo-28167: Remove platform._dist_try_harder() (GH-10787)Victor Stinner2018-11-291-48/+0
| | | | | platform._dist_try_harder() was an helper function for platform.linux_distribution() which has been removed by the commit 8b94b41ab7b12f745dea744e8940631318816935.
* bpo-26544: Get rid of dependence from distutils in platform. (GH-8356)Serhiy Storchaka2018-08-271-1/+30
|
* bpo-26544: Fixed implementation of platform.libc_ver(). (GH-7684)Serhiy Storchaka2018-07-091-11/+13
|
* bpo-28167: Remove platform.linux_distribution (GH-6871)Petr Viktorin2018-05-161-156/+5
| | | | | | | | * test_ssl: Remove skip_if_broken_ubuntu_ssl We no longer support OpenSSL 0.9.8.15.15. * bpo-28167: Remove platform.linux_distribution
* bpo-28167: bump platform.linux_distribution removal to 3.8 (GH-6669)Matthias Bussonnier2018-05-151-3/+3
| | | | | Also bump PendingDeprecationWarning to DeprecationWarning.
* bpo-32159: Remove tools for CVS and Subversion (#4615)Victor Stinner2017-11-281-5/+2
| | | | | | | | | | CPython migrated from CVS to Subversion, to Mercurial, and then to Git. CVS and Subversion are not more used to develop CPython. * platform module: drop support for sys.subversion. The sys.subversion attribute has been removed in Python 3.3. * Remove Misc/svnmap.txt * Remove Tools/scripts/svneol.py * Remove Tools/scripts/treesync.py
* bpo-27593: Get SCM build info from git instead of hg. (#446)Ned Deily2017-03-041-1/+3
| | | | | | | sys.version and the platform module python_build(), python_branch(), and python_revision() functions now use git information rather than hg when building from a repo. Based on original patches by Brett Cannon and Steve Dower.
* bpo-27788 : synchronise platform.py version number (#246)Matthias Bussonnier2017-02-241-1/+1
| | | | Was bumped in the docstring by b9f4feab1b9c9ffa8ea29af3d82bc536f9f3005a but not in `__version__`
* Issue #27932: Prevent memory leak in win32_ver().Steve Dower2016-09-181-60/+1
|
* Merge from 3.5Steve Dower2016-09-101-33/+29
|\
| * Issue #27932: Backs out changeSteve Dower2016-09-101-33/+29
| |
* | Issue #27932: Fixes memory leak in platform.win32_ver()Steve Dower2016-09-101-29/+33
|\ \ | |/
| * Issue #27932: Fixes memory leak in platform.win32_ver()Steve Dower2016-09-101-29/+33
| |
* | Issue #26513: Fixes platform module detection of Windows ServerSteve Dower2016-09-091-1/+1
|\ \ | |/
| * Issue #26513: Fixes platform module detection of Windows ServerSteve Dower2016-09-091-1/+1
| |
* | #27364: fix "incorrect" uses of escape character in the stdlib.R David Murray2016-09-081-17/+17
| | | | | | | | | | | | | | And most of the tools. Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and Martin Panter.
* | Issue #27355: Removed support for Windows CE. It was never finished,Larry Hastings2016-09-051-1/+0
|/ | | | and Windows CE is no longer a relevant platform for Python.
* Issue #27626: Spelling fixes in docs, comments and internal namesMartin Panter2016-07-281-1/+1
| | | | Based on patch by Ville Skyttä.
* Issue #21313: Tolerate truncated buildinfo in sys.versionMartin Panter2016-06-081-4/+11
|
* Issue #26041: Remove "will be removed in Python 3.7" from description messagesBerker Peksag2016-04-241-4/+2
| | | | | | | We will keep platform.dist() and platform.linux_distribution() to make porting from Python 2 easier. Patch by Kumaripaba Miyurusara Athukorala.
* Issue #26513: Fixes platform module detection of Windows ServerSteve Dower2016-03-121-1/+1
|
* Merge from 3.4Steve Dower2015-09-231-1/+4
|\
| * Handle calls to win32_ver from non-Windows platformSteve Dower2015-09-231-1/+4
| |
| * Issue #19143: platform module now reads Windows version from kernel32.dll to ↵Steve Dower2015-09-231-168/+120
| | | | | | | | avoid compatibility shims.
* | Issue #19143: platform module now reads Windows version from kernel32.dll to ↵Steve Dower2015-09-231-168/+120
| | | | | | | | avoid compatibility shims.
* | Issue #24839: platform._syscmd_ver raises DeprecationWarningSteve Dower2015-08-111-1/+1
| |
* | Issue #24210: Silence a PendingDeprecationWarning warning in ↵Berker Peksag2015-05-161-1/+11
| | | | | | | | platform.platform().
* | Issue #1322: platform.dist() and platform.linux_distribution() functions are ↵Berker Peksag2015-05-131-3/+16
| | | | | | | | | | | | now deprecated. Initial patch by Vajrasky Kok.
* | Issue #22831: Use "with" to avoid possible fd leaks.Serhiy Storchaka2015-04-041-33/+32
|/
* Issue #20976: pyflakes: Remove unused importsVictor Stinner2014-03-201-1/+0
|
* Issue #20229: Avoid plistlib deprecation warning in platform.mac_ver().Ned Deily2014-01-131-1/+2
|