Skip to content

Instantly share code, notes, and snippets.

~ $ py -3.10 -m pip-run -q 'git+https://github.com/pypa/pip@refs/pull/11598/head' -- -m pip-run --use-pep517 mercurial
WARNING: Did not find branch or tag 'refs/pull/11598/head', assuming revision or ref.
Collecting mercurial
Using cached mercurial-6.3.0.tar.gz (8.1 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: mercurial
Building wheel for mercurial (pyproject.toml) ... done
Created wheel for mercurial: filename=mercurial-6.3.0-cp310-cp310-macosx_12_0_arm64.whl size=4676010 sha256=d806a9d5b0311005573f3d675cd8e07b5007361f6691bdea6353541259d5b654
~ $ py -3.10 -m pip install --use-pep517 mercurial
Collecting mercurial
Using cached mercurial-6.3.0.tar.gz (8.1 MB)
Installing build dependencies ... done
WARNING: Missing build requirements in pyproject.toml for mercurial from https://files.pythonhosted.org/packages/df/79/882dc569dc05f3dbb34984289149daff67648ab6308dcd23365bf1e749d7/mercurial-6.3.0.tar.gz.
WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'setuptools>=40.8.0'.
Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
File "/opt/homebrew/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
"use strict";
// Future versions of Hyper may add additional config options,
// which will not automatically be merged into this file.
// See https://hyper.is#cfg for all currently supported options.
module.exports = {
config: {
// choose either `'stable'` for receiving highly polished,
// or `'canary'` for less polished but more frequent updates
updateChannel: 'stable',
// default font size in pixels for all tabs
"""internal-phase migration support."""
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from google_hgext import util
from mercurial import exthelper
from mercurial import localrepo
from mercurial import scmutil
draft $ gh repo create --public issue1717562-2 --clone
✓ Created repository jaraco/issue1717562-2 on GitHub
Initialized empty Git repository in /Users/jaraco/draft/issue1717562-2/.git/
draft $ cd issue1717562-2
issue1717562-2 main $ touch README.md
issue1717562-2 main $ git add README.md
issue1717562-2 main $ git commit -a -m "Add README"
[main (root-commit) 4536963] Add README
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
draft $ gh repo create --public issue1717562 --clone
✓ Created repository jaraco/issue1717562 on GitHub
Initialized empty Git repository in /Users/jaraco/draft/issue1717562/.git/
draft $ cd issue1717562/
issue1717562 main $ touch README.md
issue1717562 main $ git add README.md
issue1717562 main $ git commit -a -m "Add README"
[main (root-commit) 09c719e] Add README
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
Received: from DM5PR06MB2714.namprd06.prod.outlook.com (::1) by
CO3PR06MB8608.namprd06.prod.outlook.com with HTTPS; Fri, 24 Jun 2022 20:08:03
+0000
Received: from DM6PR17CA0035.namprd17.prod.outlook.com (2603:10b6:5:1b3::48)
by DM5PR06MB2714.namprd06.prod.outlook.com (2603:10b6:3:47::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Fri, 24 Jun
2022 20:08:00 +0000
Received: from DM6NAM04FT003.eop-NAM04.prod.protection.outlook.com
(2603:10b6:5:1b3:cafe::aa) by DM6PR17CA0035.outlook.office365.com
@jaraco
jaraco / gist:0979d634f4269781132f55c0721e7ce3
Last active June 22, 2022 18:40
empty string is the null specifier set
~ $ pip-run -q packaging -- -c 'from packaging import requirements; print(repr(requirements.Requirement("example").specifier))'
<SpecifierSet('')>
test_formats (distutils.tests.test_bdist.BuildTestCase) ... ok
test_skip_build (distutils.tests.test_bdist.BuildTestCase) ... ok
test_class (distutils.tests.test_text_file.TextFileTestCase) ... ok
test_cmp (distutils.tests.test_version.VersionTestCase) ... ok
test_cmp_strict (distutils.tests.test_version.VersionTestCase) ... ok
test_prerelease (distutils.tests.test_version.VersionTestCase) ... ok
test_byte_compile (distutils.tests.test_install_lib.InstallLibTestCase) ... ok
test_dont_write_bytecode (distutils.tests.test_install_lib.InstallLibTestCase) ... ok
test_finalize_options (distutils.tests.test_install_lib.InstallLibTestCase) ... ok
test_get_inputs (distutils.tests.test_install_lib.InstallLibTestCase) ... ok

Python Vendor Configuration

Currently, several Python distributors modify the Python install layout. Making such modifications requires distributors to patch multiple standard library modules. The install layout is currently not meant to be a configurable option in a Python installation, but Python developers, distro packagers and module authors all have conflicting assumptions in this area. The resulting outcome is problematic because Python distributors, understandably, fail to correctly modify all places required to satisfy all these assumptions, resulting in incoherent or outright broken Python distributions being shipped to millions