RE: dh-python: help needed with recursive resolution of pyproject optional dependencies

CHAIT Yanis <[email protected]> Fri, 26 Jun 2026 11:24:29 +0000
Newsgroups gmane.linux.debian.devel.python
Message-ID <AS8P195MB17982D912155B8C27E17EDD1BDEE2@AS8P195MB1798.EURP195.PROD.OUTLOOK.COM>
--_000_AS8P195MB17982D912155B8C27E17EDD1BDEE2AS8P195MB1798EURP_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGVsbG8sDQpUaGF0J3MgaW5kZWVkIHdoYXQgSSBtZWFudCwgd2UgYXJlIHdvcmtpbmcgdG9nZXRo
ZXIgd2l0aCBGcmVkIGFuZCB0aGUge1B5dGhvbjM6RGVwZW5kc30gIGxvb2tzIGxpa2Ugbm90IHRh
a2luZyBpbnRvIGFjY291bnQgcmVjdXJzaXZlbHkgdGhlIG9wdGlvbmFsIGRlcGVuZGVuY2llcy4N
CkNvdWxkIHlvdSBoZWxwID8NClRoYW5rIHlvdSBpbiBhZHZhbmNlICENCllhbmlzDQoNCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fDQpEZSA6IFBJQ0NBIEZyZWRlcmljLUVtbWFudWVs
IDxmcmVkZXJpYy1lbW1hbnVlbC5waWNjYUBzeW5jaHJvdHJvbi1zb2xlaWwuZnI+DQpFbnZvecOp
IDogbHVuZGkgMjIganVpbiAyMDI2IDE0OjQ1DQrDgCA6IEFuZHJleSBSYWtobWF0dWxsaW4gPHdy
YXJAZGViaWFuLm9yZz47IGRlYmlhbi1weXRob25AbGlzdHMuZGViaWFuLm9yZyA8ZGViaWFuLXB5
dGhvbkBsaXN0cy5kZWJpYW4ub3JnPg0KT2JqZXQgOiBSRTogZGgtcHl0aG9uOiBoZWxwIG5lZWRl
ZCB3aXRoIHJlY3Vyc2l2ZSByZXNvbHV0aW9uIG9mIHB5cHJvamVjdCBvcHRpb25hbCBkZXBlbmRl
bmNpZXMNCg0KPiBUaGUgcXVlc3Rpb24gd2FzIGFib3V0ICJ0ZXN0L2F1dG9wa2d0ZXN0IGRlcGVu
ZGVuY2llcyIuDQoNClNvcnJ5IGlmIGl0IHdhcyBub3QgY2xlYXINCg0KPiA+b3ZlcnJpZGVfZGhf
cHl0aG9uMzoNCj4gPiAgICAgICAgZGhfcHl0aG9uMyAtLWRlcGVuZHMtc2VjdGlvbj1hbGwNCg0K
PiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gYnVpbGQtdGltZSB0ZXN0cywgYW5kIGFkZGluZyB0ZXN0
IGRlcHMgdG8gYmluYXJ5DQo+IHBhY2thZ2UgRGVwZW5kcyBpcyBjbGVhcmx5IHdyb25nLg0KDQpZ
ZXMsIGJ1dCBpbiBvdXIgY2FzZSB3ZSBqdXN0IHRyeSB0byBhZGQgYWxsIHRoZSBvcHRpb25hbCBk
ZXBlbmRlbmNpZXMsIG5vdCB0aGUgdGVzdCBvbmx5IGV4dHJhIG1vZHVsZXMuDQoNCj4gPlllcyB3
ZSBBZGQgdGhlbSBpbiB0aGUgQi1ELCBidXQgdGhlIHtQeXRob24zOkRlcGVuZHN9IGlzIG5vdCBj
b21wdXRlZCBwcm9wZXJseSBkdWUgdG8gdGhpcyBlcnJvci4NCg0KPiBUaGF0IHNvdW5kcyBsaWtl
IGEgc2VwYXJhdGUgcXVlc3Rpb24uDQoNClllcyBidXQgdGhpcyBpcyB0aGUgcmlnaHQgb25lIPCf
mYIuDQoNCg0KRnJlZA0K

--_000_AS8P195MB17982D912155B8C27E17EDD1BDEE2AS8P195MB1798EURP_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9
ImRpc3BsYXk6bm9uZTsiPiBQIHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO30gPC9zdHls
ZT4NCjwvaGVhZD4NCjxib2R5IGRpcj0ibHRyIj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29m
IiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRk
ZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy
aWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KSGVsbG8sPC9kaXY+
DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PHNw
YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19N
U0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTog
MTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPlRoYXQncyBpbmRlZWQgd2hhdCBJIG1lYW50LCB3
ZSBhcmUgd29ya2luZyB0b2dldGhlciB3aXRoIEZyZWQNCiBhbmQgdGhlIDwvc3Bhbj48c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9u
dFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgc2VyaWYsIEVtb2ppRm9u
dDsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogYmxhY2s7Ij57UHl0aG9uMzpEZXBlbmRzfSZuYnNw
OyBsb29rcyBsaWtlIG5vdCB0YWtpbmcgaW50byBhY2NvdW50IHJlY3Vyc2l2ZWx5IHRoZSBvcHRp
b25hbCBkZXBlbmRlbmNpZXMuPC9zcGFuPjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJv
b2YiIHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJl
ZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1z
ZXJpZiwgc2VyaWYsIEVtb2ppRm9udDsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogYmxhY2s7Ij4N
CkNvdWxkIHlvdSBoZWxwID88L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHls
ZT0iZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250
LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNl
cmlmLCBFbW9qaUZvbnQ7IGZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IGJsYWNrOyI+DQpUaGFuayB5
b3UgaW4gYWR2YW5jZSAhPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9
ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwg
QXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCBzZXJp
ZiwgRW1vamlGb250OyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiBibGFjazsiPg0KWWFuaXM8L2Rp
dj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7IGZv
bnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNl
LCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsIHNlcmlmLCBFbW9qaUZvbnQ7IGZvbnQt
c2l6ZTogMTFwdDsgY29sb3I6IGJsYWNrOyI+DQo8YnI+DQo8L2Rpdj4NCjxociBzdHlsZT0iZGly
ZWN0aW9uOiBsdHI7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDk4JTsiPg0KPGRpdiBp
ZD0ieF9kaXZScGx5RndkTXNnIiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiPg0KPGRpdiBjbGFzcz0i
ZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IENhbGli
cmksIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0K
PGI+RGUgOjwvYj4mbmJzcDtQSUNDQSBGcmVkZXJpYy1FbW1hbnVlbCAmbHQ7ZnJlZGVyaWMtZW1t
YW51ZWwucGljY2FAc3luY2hyb3Ryb24tc29sZWlsLmZyJmd0Ozxicj4NCjxiPkVudm95w6kgOjwv
Yj4mbmJzcDtsdW5kaSAyMiBqdWluIDIwMjYgMTQ6NDU8YnI+DQo8Yj7DgCA6PC9iPiZuYnNwO0Fu
ZHJleSBSYWtobWF0dWxsaW4gJmx0O3dyYXJAZGViaWFuLm9yZyZndDs7IGRlYmlhbi1weXRob25A
bGlzdHMuZGViaWFuLm9yZyAmbHQ7ZGViaWFuLXB5dGhvbkBsaXN0cy5kZWJpYW4ub3JnJmd0Ozxi
cj4NCjxiPk9iamV0IDo8L2I+Jm5ic3A7UkU6IGRoLXB5dGhvbjogaGVscCBuZWVkZWQgd2l0aCBy
ZWN1cnNpdmUgcmVzb2x1dGlvbiBvZiBweXByb2plY3Qgb3B0aW9uYWwgZGVwZW5kZW5jaWVzPC9k
aXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+
Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0i
ZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBB
cHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQt
c2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KJmd0OyBUaGUgcXVlc3Rpb24gd2Fz
IGFib3V0ICZxdW90O3Rlc3QvYXV0b3BrZ3Rlc3QgZGVwZW5kZW5jaWVzJnF1b3Q7LjwvZGl2Pg0K
PGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1m
YW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENh
bGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdi
KDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBz
dHlsZT0iZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRG
b250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7
IGZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KU29ycnkgaWYgaXQgd2Fz
IG5vdCBjbGVhcjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJkaXJl
Y3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9z
X01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXpl
OiAxMXB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQomZ3Q7ICZndDtvdmVycmlkZV9k
aF9weXRob24zOjxicj4NCiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyBkaF9weXRob24zIC0tZGVwZW5kcy1zZWN0aW9uPWFsbDxicj4NCjxicj4NCiZn
dDsgVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGJ1aWxkLXRpbWUgdGVzdHMsIGFuZCBhZGRpbmcgdGVz
dCBkZXBzIHRvIGJpbmFyeTxicj4NCiZndDsgcGFja2FnZSBEZXBlbmRzIGlzIGNsZWFybHkgd3Jv
bmcuPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImRpcmVjdGlvbjog
bHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250
U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7
IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NCjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVu
dFRvUHJvb2YiIHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRv
c19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwg
c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpZZXMs
IGJ1dCBpbiBvdXIgY2FzZSB3ZSBqdXN0IHRyeSB0byBhZGQgYWxsIHRoZSBvcHRpb25hbCBkZXBl
bmRlbmNpZXMsIG5vdCB0aGUgdGVzdCBvbmx5IGV4dHJhIG1vZHVsZXMuPC9kaXY+DQo8ZGl2IGNs
YXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTog
QXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwg
SGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMCwgMCwg
MCk7Ij4NCjxicj4NCiZndDsgJmd0O1llcyB3ZSBBZGQgdGhlbSBpbiB0aGUgQi1ELCBidXQgdGhl
IHtQeXRob24zOkRlcGVuZHN9IGlzIG5vdCBjb21wdXRlZCBwcm9wZXJseSBkdWUgdG8gdGhpcyBl
cnJvci48YnI+DQo8YnI+DQomZ3Q7IFRoYXQgc291bmRzIGxpa2UgYSBzZXBhcmF0ZSBxdWVzdGlv
bi48L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZGlyZWN0aW9uOiBs
dHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRT
ZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsg
Y29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50
VG9Qcm9vZiIgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9z
X0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBz
YW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NClllcyBi
dXQgdGhpcyBpcyB0aGUgcmlnaHQgb25lIPCfmYIuPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50
VG9Qcm9vZiIgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9z
X0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBz
YW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NCjxicj4N
CjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJkaXJlY3Rpb246IGx0
cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNl
cnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyBj
b2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRU
b1Byb29mIiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3Nf
RW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNh
bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KRnJlZDwv
ZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_AS8P195MB17982D912155B8C27E17EDD1BDEE2AS8P195MB1798EURP_--