Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Smarter uninstall #6029

Merged
merged 6 commits into from
Mar 27, 2024
Merged

Smarter uninstall #6029

merged 6 commits into from
Mar 27, 2024

Conversation

matteius
Copy link
Member

@matteius matteius commented Dec 1, 2023

Ran into this at work recently, uninstall does a complete lock so not nearly as useful as upgrade path. This makes the uninstall smarter like the upgrade path is (but the inverse).

The issue (before this change)

$ pipenv uninstall tomli --categories=develop

$ git diff
diff --git a/Pipfile b/Pipfile
index fa27de08..21799786 100644
--- a/Pipfile
+++ b/Pipfile
@@ -24,7 +24,6 @@ colorama= {version = "*", sys_platform = "== 'win32'"}
 myst-parser = {extras = ["linkify"], version = "*"}
 invoke = "==2.0.0"
 exceptiongroup = "==1.1.0"
-tomli = "*"
 pyyaml = "==6.0.1"
 build = "*"
 twine = "*"
diff --git a/Pipfile.lock b/Pipfile.lock
index 861d9132..39d53450 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
 {
     "_meta": {
         "hash": {
-            "sha256": "4d1a9f3599cadad8b7884cd1143a964290191e9ee6a2ebf7acec9e6e27f2a69e"
+            "sha256": "d7cdc853e6e34c10abbcd19a0c79905a61d12d50233e5b13259ecf3331ddde04"
         },
         "pipfile-spec": 6,
         "requires": {},
@@ -55,11 +55,11 @@
         },
         "babel": {
             "hashes": [
-                "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210",
-                "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"
+                "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900",
+                "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==2.13.0"
+            "version": "==2.13.1"
         },
         "beautifulsoup4": {
             "hashes": [
@@ -109,11 +109,11 @@
         },
         "certifi": {
             "hashes": [
-                "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082",
-                "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
+                "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1",
+                "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"
             ],
             "markers": "python_version >= '3.6'",
-            "version": "==2023.7.22"
+            "version": "==2023.11.17"
         },
         "cfgv": {
             "hashes": [
@@ -125,99 +125,99 @@
         },
         "charset-normalizer": {
             "hashes": [
-                "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843",
-                "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786",
-                "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e",
-                "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8",
-                "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4",
-                "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa",
-                "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d",
-                "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82",
-                "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7",
-                "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895",
-                "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d",
-                "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a",
-                "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382",
-                "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678",
-                "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b",
-                "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e",
-                "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741",
-                "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4",
-                "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596",
-                "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9",
-                "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69",
-                "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c",
-                "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77",
-                "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13",
-                "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459",
-                "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e",
-                "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7",
-                "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908",
-                "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a",
-                "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f",
-                "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8",
-                "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482",
-                "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d",
-                "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d",
-                "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545",
-                "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34",
-                "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86",
-                "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6",
-                "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe",
-                "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e",
-                "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc",
-                "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7",
-                "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd",
-                "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c",
-                "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557",
-                "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a",
-                "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89",
-                "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078",
-                "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e",
-                "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4",
-                "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403",
-                "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0",
-                "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89",
-                "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115",
-                "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9",
-                "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05",
-                "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a",
-                "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec",
-                "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56",
-                "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38",
-                "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479",
-                "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c",
-                "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e",
-                "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd",
-                "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186",
-                "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455",
-                "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c",
-                "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65",
-                "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78",
-                "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287",
-                "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df",
-                "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43",
-                "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1",
-                "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7",
-                "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989",
-                "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a",
-                "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63",
-                "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884",
-                "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649",
-                "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810",
-                "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828",
-                "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4",
-                "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2",
-                "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd",
-                "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5",
-                "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe",
-                "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293",
-                "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e",
-                "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e",
-                "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"
+                "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027",
+                "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087",
+                "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786",
+                "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8",
+                "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09",
+                "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185",
+                "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574",
+                "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e",
+                "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519",
+                "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898",
+                "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269",
+                "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3",
+                "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f",
+                "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6",
+                "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8",
+                "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a",
+                "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73",
+                "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc",
+                "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714",
+                "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2",
+                "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc",
+                "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce",
+                "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d",
+                "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e",
+                "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6",
+                "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269",
+                "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96",
+                "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d",
+                "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a",
+                "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4",
+                "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77",
+                "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d",
+                "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0",
+                "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed",
+                "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068",
+                "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac",
+                "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25",
+                "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8",
+                "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab",
+                "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26",
+                "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2",
+                "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db",
+                "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f",
+                "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5",
+                "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99",
+                "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c",
+                "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d",
+                "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811",
+                "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa",
+                "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a",
+                "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03",
+                "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b",
+                "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04",
+                "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c",
+                "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001",
+                "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458",
+                "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389",
+                "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99",
+                "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985",
+                "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537",
+                "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238",
+                "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f",
+                "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d",
+                "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796",
+                "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a",
+                "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143",
+                "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8",
+                "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c",
+                "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5",
+                "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5",
+                "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711",
+                "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4",
+                "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6",
+                "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c",
+                "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7",
+                "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4",
+                "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b",
+                "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae",
+                "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12",
+                "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c",
+                "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae",
+                "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8",
+                "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887",
+                "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b",
+                "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4",
+                "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f",
+                "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5",
+                "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33",
+                "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519",
+                "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"
             ],
             "markers": "python_full_version >= '3.7.0'",
-            "version": "==3.3.0"
+            "version": "==3.3.2"
         },
         "click": {
             "hashes": [
@@ -228,14 +228,6 @@
             "markers": "python_version >= '3.6'",
             "version": "==8.0.3"
         },
-        "click-default-group": {
-            "hashes": [
-                "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f",
-                "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e"
-            ],
-            "markers": "python_version >= '2.7'",
-            "version": "==1.2.4"
-        },
         "colorama": {
             "hashes": [
                 "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44",
@@ -339,11 +331,11 @@
         },
         "filelock": {
             "hashes": [
-                "sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4",
-                "sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"
+                "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e",
+                "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==3.12.4"
+            "version": "==3.13.1"
         },
         "flake8": {
             "hashes": [
@@ -369,19 +361,19 @@
         },
         "identify": {
             "hashes": [
-                "sha256:afe67f26ae29bab007ec21b03d4114f41316ab9dd15aa8736a167481e108da54",
-                "sha256:f302a4256a15c849b91cfcdcec052a8ce914634b2f77ae87dad29cd749f2d88d"
+                "sha256:0b7656ef6cba81664b783352c73f8c24b39cf82f926f78f4550eda928e5e0545",
+                "sha256:5d9979348ec1a21c768ae07e0a652924538e8bce67313a73cb0f681cf08ba407"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==2.5.30"
+            "version": "==2.5.32"
         },
         "idna": {
             "hashes": [
-                "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4",
-                "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
+                "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca",
+                "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"
             ],
             "markers": "python_version >= '3.5'",
-            "version": "==3.4"
+            "version": "==3.6"
         },
         "imagesize": {
             "hashes": [
@@ -441,11 +433,11 @@
         },
         "keyring": {
             "hashes": [
-                "sha256:4901caaf597bfd3bbd78c9a0c7c4c29fcd8310dab2cffefe749e916b6527acd6",
-                "sha256:ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509"
+                "sha256:4446d35d636e6a10b8bce7caa66913dd9eca5fd222ca03a3d42c38608ac30836",
+                "sha256:e730ecffd309658a08ee82535a3b5ec4b4c8669a9be11efb66249d8e0aeb9a25"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==24.2.0"
+            "version": "==24.3.0"
         },
         "linkify-it-py": {
             "hashes": [
@@ -624,11 +616,11 @@
         },
         "parse": {
             "hashes": [
-                "sha256:371ed3800dc63983832159cc9373156613947707bc448b5215473a219dbd4362",
-                "sha256:cc3a47236ff05da377617ddefa867b7ba983819c664e1afe46249e5b469be464"
+                "sha256:5e171b001452fa9f004c5a58a93525175468daf69b493e9fa915347ed7ff6968",
+                "sha256:bd28bae37714b45d5894d77160a16e2be36b64a3b618c81168b3684676aa498b"
             ],
             "index": "pypi",
-            "version": "==1.19.1"
+            "version": "==1.20.0"
         },
         "parver": {
             "hashes": [
@@ -647,11 +639,11 @@
         },
         "pip": {
             "hashes": [
-                "sha256:bb7d4f69f488432e4e96394612f43ab43dd478d073ef7422604a570f7157561e",
-                "sha256:bc38bb52bc286514f8f7cb3a1ba5ed100b76aaef29b521d48574329331c5ae7b"
+                "sha256:1fcaa041308d01f14575f6d0d2ea4b75a3e2871fe4f9c694976f908768e14174",
+                "sha256:55eb67bb6171d37447e82213be585b75fe2b12b359e993773aca4de9247a052b"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==23.3"
+            "version": "==23.3.1"
         },
         "pipenv": {
             "editable": true,
@@ -671,11 +663,11 @@
         },
         "platformdirs": {
             "hashes": [
-                "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3",
-                "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"
+                "sha256:118c954d7e949b35437270383a3f2531e99dd93cf7ce4dc8340d3356d30f173b",
+                "sha256:cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==3.11.0"
+            "version": "==4.0.0"
         },
         "pluggy": {
             "hashes": [
@@ -722,11 +714,11 @@
         },
         "pygments": {
             "hashes": [
-                "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692",
-                "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"
+                "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c",
+                "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==2.16.1"
+            "version": "==2.17.2"
         },
         "pypiserver": {
             "hashes": [
@@ -747,11 +739,11 @@
         },
         "pytest": {
             "hashes": [
-                "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002",
-                "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"
+                "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac",
+                "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==7.4.2"
+            "version": "==7.4.3"
         },
         "pytest-cov": {
             "hashes": [
@@ -771,10 +763,10 @@
         },
         "pytest-xdist": {
             "hashes": [
-                "sha256:d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93",
-                "sha256:ff9daa7793569e6a68544850fd3927cd257cc03a7ef76c95e86915355e82b5f2"
+                "sha256:cbb36f3d67e0c478baa57fa4edc8843887e0f6cfc42d677530a36d7472b32d8a",
+                "sha256:d075629c7e00b611df89f490a5063944bee7a4362a5ff11c7cc7824a03dfce24"
             ],
-            "version": "==3.3.1"
+            "version": "==3.5.0"
         },
         "pywin32-ctypes": {
             "hashes": [
@@ -875,19 +867,19 @@
         },
         "rich": {
             "hashes": [
-                "sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245",
-                "sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef"
+                "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa",
+                "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"
             ],
             "markers": "python_full_version >= '3.7.0'",
-            "version": "==13.6.0"
+            "version": "==13.7.0"
         },
         "setuptools": {
             "hashes": [
-                "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87",
-                "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"
+                "sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2",
+                "sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==68.2.2"
+            "version": "==69.0.2"
         },
         "snowballstemmer": {
             "hashes": [
@@ -985,21 +977,12 @@
             ],
             "version": "==0.10.0"
         },
-        "tomli": {
-            "hashes": [
-                "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
-                "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"
-            ],
-            "index": "pypi",
-            "markers": "python_version >= '3.7'",
-            "version": "==2.0.1"
-        },
         "towncrier": {
             "hashes": [
-                "sha256:da552f29192b3c2b04d630133f194c98e9f14f0558669d427708e203fea4d0a5",
-                "sha256:fc29bd5ab4727c8dacfbe636f7fb5dc53b99805b62da1c96b214836159ff70c1"
+                "sha256:13937c247e3f8ae20ac44d895cf5f96a60ad46cfdcc1671759530d7837d9ee5d",
+                "sha256:2e519ca619426d189e3c98c99558fe8be50c9ced13ea1fc20a4a353a95d2ded7"
             ],
-            "version": "==23.6.0"
+            "version": "==23.11.0"
         },
         "twine": {
             "hashes": [
@@ -1012,12 +995,12 @@
         },
         "typing-extensions": {
             "hashes": [
-                "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0",
-                "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"
+                "sha256:56a8f7a8776ea160e59ef0af6fc3a3a03b7d42156b90e47f0241515fcec620c2",
+                "sha256:cc22327e22d9b583d1565ce1ed9f5ecc22831afa743f8789a403cad849fb702b"
             ],
             "index": "pypi",
             "markers": "python_version >= '3.8'",
-            "version": "==4.8.0"
+            "version": "==4.9.0rc1"
         },
         "uc-micro-py": {
             "hashes": [
@@ -1029,19 +1012,19 @@
         },
         "urllib3": {
             "hashes": [
-                "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84",
-                "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"
+                "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3",
+                "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"
             ],
-            "markers": "python_version >= '3.7'",
-            "version": "==2.0.7"
+            "markers": "python_version >= '3.8'",
+            "version": "==2.1.0"
         },
         "virtualenv": {
             "hashes": [
-                "sha256:b80039f280f4919c77b30f1c23294ae357c4c8701042086e3fc005963e4e537b",
-                "sha256:e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"
+                "sha256:69050ffb42419c91f6c1284a7b24e0475d793447e35929b488bf6a0aade39353",
+                "sha256:a18b3fd0314ca59a2e9f4b556819ed07183b3e9a3702ecfe213f593d44f7b3fd"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==20.24.5"
+            "version": "==20.24.7"
         },
         "waitress": {
             "hashes": [

The fix (with this change)

$ pipenv uninstall tomli --categories=develop

$ git diff
diff --git a/Pipfile b/Pipfile
index fa27de08..21799786 100644
--- a/Pipfile
+++ b/Pipfile
@@ -24,7 +24,6 @@ colorama= {version = "*", sys_platform = "== 'win32'"}
 myst-parser = {extras = ["linkify"], version = "*"}
 invoke = "==2.0.0"
 exceptiongroup = "==1.1.0"
-tomli = "*"
 pyyaml = "==6.0.1"
 build = "*"
 twine = "*"
diff --git a/Pipfile.lock b/Pipfile.lock
index 861d9132..353fa2a8 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
 {
     "_meta": {
         "hash": {
-            "sha256": "4d1a9f3599cadad8b7884cd1143a964290191e9ee6a2ebf7acec9e6e27f2a69e"
+            "sha256": "d7cdc853e6e34c10abbcd19a0c79905a61d12d50233e5b13259ecf3331ddde04"
         },
         "pipfile-spec": 6,
         "requires": {},
@@ -228,14 +228,6 @@
             "markers": "python_version >= '3.6'",
             "version": "==8.0.3"
         },
-        "click-default-group": {
-            "hashes": [
-                "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f",
-                "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e"
-            ],
-            "markers": "python_version >= '2.7'",
-            "version": "==1.2.4"
-        },
         "colorama": {
             "hashes": [
                 "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44",
@@ -985,15 +977,6 @@
             ],
             "version": "==0.10.0"
         },
-        "tomli": {
-            "hashes": [
-                "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
-                "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"
-            ],
-            "index": "pypi",
-            "markers": "python_version >= '3.7'",
-            "version": "==2.0.1"
-        },
         "towncrier": {
             "hashes": [
                 "sha256:da552f29192b3c2b04d630133f194c98e9f14f0558669d427708e203fea4d0a5",

My take is if you want to lock you can run pipenv lock if you want to uninstall something, you probably want this behavior.

Fixes #6030

The checklist

  • Associated issue
  • A news fragment in the news/ directory to describe this fix with the extension .bugfix.rst, .feature.rst, .behavior.rst, .doc.rst. .vendor.rst. or .trivial.rst (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.

@matteius matteius marked this pull request as ready for review December 6, 2023 06:48
@matteius matteius requested a review from oz123 December 6, 2023 06:48
@oz123
Copy link
Contributor

oz123 commented Jan 28, 2024

News snippet is still missing.

@matteius matteius merged commit d78232d into main Mar 27, 2024
1 of 2 checks passed
@matteius matteius deleted the smarter-uninstall branch March 27, 2024 01:25
achim-k pushed a commit to foxglove/ws-protocol that referenced this pull request Jun 10, 2024
Bumps [pipenv](https://github.com/pypa/pipenv) from 2023.12.1 to
2024.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pipenv/releases">pipenv's
releases</a>.</em></p>
<blockquote>
<h2>Release v2024.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update CONTRIBUTING.md by <a
href="https://github.com/PzaThief"><code>@​PzaThief</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6084">pypa/pipenv#6084</a></li>
<li>Check for name attribute in source parameter. by <a
href="https://github.com/jralls"><code>@​jralls</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6114">pypa/pipenv#6114</a></li>
<li>Smarter uninstall by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6029">pypa/pipenv#6029</a></li>
<li>Use fancy mode for pwsh on *nix (draft) by <a
href="https://github.com/samcarswell"><code>@​samcarswell</code></a> in
<a
href="https://github.com/pypa/pipenv/pull/6108">pypa/pipenv#6108</a></li>
<li>Vendor in Pip 24.0 by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6117">pypa/pipenv#6117</a></li>
<li>Update index.md by <a
href="https://github.com/mierzejk"><code>@​mierzejk</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6129">pypa/pipenv#6129</a></li>
<li>Spring 2024 vendoring by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6118">pypa/pipenv#6118</a></li>
<li>Add nested vcs dependency subdirectory when locking to Pipfile.lock
(Fix <a
href="https://github.com/pypa/pipenv/issues/6120">#6120</a>) by
<a
href="https://github.com/AlexandreArpin"><code>@​AlexandreArpin</code></a>
in <a
href="https://github.com/pypa/pipenv/pull/6136">pypa/pipenv#6136</a></li>
<li>pipenv upgrade invoke -d by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6138">pypa/pipenv#6138</a></li>
<li>Bump plette take 2 by <a
href="https://github.com/oz123"><code>@​oz123</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6134">pypa/pipenv#6134</a></li>
<li>Convert off pkg resources by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6139">pypa/pipenv#6139</a></li>
<li>Fix the issue(<a
href="https://github.com/pypa/pipenv/issues/6126">#6126</a>):
add lockfile_path presence in pipenv check command by <a
href="https://github.com/nitintecg"><code>@​nitintecg</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6135">pypa/pipenv#6135</a></li>
<li>debugging weird CI failures by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6143">pypa/pipenv#6143</a></li>
<li>apply ruff fixes by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6145">pypa/pipenv#6145</a></li>
<li>docs update for <code>scripts</code> section and other small changes
by <a href="https://github.com/sss-ng"><code>@​sss-ng</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6152">pypa/pipenv#6152</a></li>
<li>Add --from-pipfile subcommand to <code>pipenv requirements</code> by
<a
href="https://github.com/sanspareilsmyn"><code>@​sanspareilsmyn</code></a>
in <a
href="https://github.com/pypa/pipenv/pull/6156">pypa/pipenv#6156</a></li>
<li>Bump jinja2 from 3.1.3 to 3.1.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6150">pypa/pipenv#6150</a></li>
<li>Bump requests from 2.31.0 to 2.32.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6157">pypa/pipenv#6157</a></li>
<li>Fix windows CI for 3.8 and the outdated command that was refactored
to remove pkg_resources. by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6146">pypa/pipenv#6146</a></li>
<li>pipenv 2024 install (behavioral refactor) by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6098">pypa/pipenv#6098</a></li>
<li>Supply the extra pip args in the resolver. by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6006">pypa/pipenv#6006</a></li>
<li>Handle unsupported python versioning on Pipfile by <a
href="https://github.com/sanspareilsmyn"><code>@​sanspareilsmyn</code></a>
in <a
href="https://github.com/pypa/pipenv/pull/6164">pypa/pipenv#6164</a></li>
<li>Remove secho from pipenv.utils.shell by <a
href="https://github.com/aidencullo"><code>@​aidencullo</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6170">pypa/pipenv#6170</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/PzaThief"><code>@​PzaThief</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6084">pypa/pipenv#6084</a></li>
<li><a href="https://github.com/jralls"><code>@​jralls</code></a> made
their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6114">pypa/pipenv#6114</a></li>
<li><a
href="https://github.com/samcarswell"><code>@​samcarswell</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6108">pypa/pipenv#6108</a></li>
<li><a href="https://github.com/mierzejk"><code>@​mierzejk</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6129">pypa/pipenv#6129</a></li>
<li><a
href="https://github.com/AlexandreArpin"><code>@​AlexandreArpin</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6136">pypa/pipenv#6136</a></li>
<li><a href="https://github.com/nitintecg"><code>@​nitintecg</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6135">pypa/pipenv#6135</a></li>
<li><a href="https://github.com/sss-ng"><code>@​sss-ng</code></a> made
their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6152">pypa/pipenv#6152</a></li>
<li><a
href="https://github.com/sanspareilsmyn"><code>@​sanspareilsmyn</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6156">pypa/pipenv#6156</a></li>
<li><a
href="https://github.com/aidencullo"><code>@​aidencullo</code></a> made
their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6170">pypa/pipenv#6170</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/pipenv/compare/v2023.12.1...v2024.0.0">https://github.com/pypa/pipenv/compare/v2023.12.1...v2024.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pipenv/blob/main/CHANGELOG.md">pipenv's
changelog</a>.</em></p>
<blockquote>
<h1>2024.0.0 (2024-06-06)</h1>
<h1>Pipenv 2024.0.0 (2024-06-06)</h1>
<h2>Features &amp; Improvements</h2>
<ul>
<li>Supply any <code>--extra-pip-args</code> also in the resolver steps.
<code>[#6006](pypa/pipenv#6006)
&lt;https://github.com/pypa/pipenv/issues/6006&gt;</code>_</li>
<li>The <code>uninstall</code> command now does the inverse of
<code>upgrade</code> which means it no longer invokes a full
<code>lock</code> cycle which was problematic for projects with many
dependencies. <code>[#6029](pypa/pipenv#6029)
&lt;https://github.com/pypa/pipenv/issues/6029&gt;</code>_</li>
<li>The <code>pipenv requirements</code> subcommand now supports the
<code>--from-pipfile</code> flag. When this flag is used, the
requirements file will only include the packages explicitly listed in
the Pipfile, excluding any sub-packages.
<code>[#6156](pypa/pipenv#6156)
&lt;https://github.com/pypa/pipenv/issues/6156&gt;</code>_</li>
</ul>
<h2>Behavior Changes</h2>
<ul>
<li><code>pipenv==3000.0.0</code> denotes the first major release of our
semver strategy.
As much requested, the <code>install</code> no longer does a complete
lock operation. Instead <code>install</code> follows the same code path
as pipenv update (which is upgrade + sync).
This is what most new users expect the behavior to be; it is a
behavioral change, a necessary one to make the tool more usable.
Remember that complete lock resolution can be invoked with <code>pipenv
lock</code> just as before.
<code>[#6098](pypa/pipenv#6098)
&lt;https://github.com/pypa/pipenv/issues/6098&gt;</code>_</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Fix a bug that passes pipenv check command if Pipfile.lock not exist
<code>[#6126](pypa/pipenv#6126)
&lt;https://github.com/pypa/pipenv/issues/6126&gt;</code>_</li>
<li>Fix a bug that vcs subdependencies were locked without their
subdirectory fragment if they had one
<code>[#6136](pypa/pipenv#6136)
&lt;https://github.com/pypa/pipenv/issues/6136&gt;</code>_</li>
<li><code>pipenv</code> converts off <code>pkg_resources</code> API
usages. This necessitated also vendoring in:
<ul>
<li>latest <code>pipdeptree==2.18.1</code> which also converted off
<code>pkg_resources</code></li>
<li><code>importlib-metadata==7.1.0</code> to continue supporting python
3.8 and 3.9</li>
<li><code>packaging==24.0</code> since the packaging we were utilizing
in pip's <em>vendor was insufficient for this conversion.
<code>[#6139](pypa/pipenv#6139)
&lt;https://github.com/pypa/pipenv/issues/6139&gt;</code></em></li>
</ul>
</li>
<li>Pipenv only supports absolute python version. If the user specifies
a Python version with inequality signs like &gt;=3.12, <!-- raw HTML
omitted -->`_</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Vendor in <code>pip==24.0</code>
<code>[#6117](pypa/pipenv#6117)
&lt;https://github.com/pypa/pipenv/issues/6117&gt;</code>_</li>
<li>Spring 2024 Vendoring includes:
<ul>
<li><code>click-didyoumean==0.3.1</code></li>
<li><code>expect==4.9.0</code></li>
<li><code>pipdeptree==2.16.2</code></li>
<li><code>python-dotenv==1.0.1</code></li>
<li><code>ruamel.yaml==0.18.6</code></li>
<li><code>shellingham==1.5.4</code></li>
<li><code>tomlkit==0.12.4</code>
<code>[#6118](pypa/pipenv#6118)
&lt;https://github.com/pypa/pipenv/issues/6118&gt;</code>_</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pipenv/commit/0618fab5f40a599335f0c363abaaa882bf33dd29"><code>0618fab</code></a>
Prepare actually for 2024.0.0 release after peer feedback.</li>
<li><a
href="https://github.com/pypa/pipenv/commit/fd763515d09ae4d0e19b50477f0ffd8d8506e74d"><code>fd76351</code></a>
Release v2024.0.0</li>
<li><a
href="https://github.com/pypa/pipenv/commit/878d7c45dba0a9ec6a2653a2c55d6cd908868981"><code>878d7c4</code></a>
Bumped version to 2024.0.0.</li>
<li><a
href="https://github.com/pypa/pipenv/commit/a84ecd351d1bd558ffdd4c023bcf79e5f4d4d348"><code>a84ecd3</code></a>
Release v3000.0.0</li>
<li><a
href="https://github.com/pypa/pipenv/commit/0cee88e9633d80f9d9c8b6d1a3174d24010d305f"><code>0cee88e</code></a>
Bumped version to 3000.0.0.</li>
<li><a
href="https://github.com/pypa/pipenv/commit/2c04a632ad08f85cdf8224af782235423fe60d4e"><code>2c04a63</code></a>
Remove secho from pipenv.utils.shell</li>
<li><a
href="https://github.com/pypa/pipenv/commit/6abb08cd9a6702912c25a374338b25469517a931"><code>6abb08c</code></a>
Merge pull request <a
href="https://github.com/pypa/pipenv/issues/6164">#6164</a>
from sanspareilsmyn/handle-unspecified-python-version</li>
<li><a
href="https://github.com/pypa/pipenv/commit/66eef03cccc0901e830561ea45e97307adac95fa"><code>66eef03</code></a>
Supply the extra pip args in the resolver. (<a
href="https://github.com/pypa/pipenv/issues/6006">#6006</a>)</li>
<li><a
href="https://github.com/pypa/pipenv/commit/09799120a0fd201976653ec92d5798f21fadac10"><code>0979912</code></a>
pipenv 3000 install (behavioral refactor) (<a
href="https://github.com/pypa/pipenv/issues/6098">#6098</a>)</li>
<li><a
href="https://github.com/pypa/pipenv/commit/a1fe8d7c40eb3decb667ecb14f7ef584d7bffe55"><code>a1fe8d7</code></a>
Apply feedbacks</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pipenv/compare/v2023.12.1...v2024.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pipenv&package-manager=pip&previous-version=2023.12.1&new-version=2024.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to NomicFoundation/slang that referenced this pull request Jul 1, 2024
Bumps [pipenv](https://github.com/pypa/pipenv) from 2023.12.1 to
2024.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pipenv/releases">pipenv's
releases</a>.</em></p>
<blockquote>
<h2>Release v2024.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update plette to version 2.1.0 by <a
href="https://github.com/oz123"><code>@​oz123</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6174">pypa/pipenv#6174</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/pipenv/compare/v2024.0.0...v2024.0.1">https://github.com/pypa/pipenv/compare/v2024.0.0...v2024.0.1</a></p>
<h2>Release v2024.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update CONTRIBUTING.md by <a
href="https://github.com/PzaThief"><code>@​PzaThief</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6084">pypa/pipenv#6084</a></li>
<li>Check for name attribute in source parameter. by <a
href="https://github.com/jralls"><code>@​jralls</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6114">pypa/pipenv#6114</a></li>
<li>Smarter uninstall by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6029">pypa/pipenv#6029</a></li>
<li>Use fancy mode for pwsh on *nix (draft) by <a
href="https://github.com/samcarswell"><code>@​samcarswell</code></a> in
<a
href="https://github.com/pypa/pipenv/pull/6108">pypa/pipenv#6108</a></li>
<li>Vendor in Pip 24.0 by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6117">pypa/pipenv#6117</a></li>
<li>Update index.md by <a
href="https://github.com/mierzejk"><code>@​mierzejk</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6129">pypa/pipenv#6129</a></li>
<li>Spring 2024 vendoring by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6118">pypa/pipenv#6118</a></li>
<li>Add nested vcs dependency subdirectory when locking to Pipfile.lock
(Fix <a
href="https://github.com/pypa/pipenv/issues/6120">#6120</a>) by
<a
href="https://github.com/AlexandreArpin"><code>@​AlexandreArpin</code></a>
in <a
href="https://github.com/pypa/pipenv/pull/6136">pypa/pipenv#6136</a></li>
<li>pipenv upgrade invoke -d by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6138">pypa/pipenv#6138</a></li>
<li>Bump plette take 2 by <a
href="https://github.com/oz123"><code>@​oz123</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6134">pypa/pipenv#6134</a></li>
<li>Convert off pkg resources by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6139">pypa/pipenv#6139</a></li>
<li>Fix the issue(<a
href="https://github.com/pypa/pipenv/issues/6126">#6126</a>):
add lockfile_path presence in pipenv check command by <a
href="https://github.com/nitintecg"><code>@​nitintecg</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6135">pypa/pipenv#6135</a></li>
<li>debugging weird CI failures by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6143">pypa/pipenv#6143</a></li>
<li>apply ruff fixes by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6145">pypa/pipenv#6145</a></li>
<li>docs update for <code>scripts</code> section and other small changes
by <a href="https://github.com/sss-ng"><code>@​sss-ng</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6152">pypa/pipenv#6152</a></li>
<li>Add --from-pipfile subcommand to <code>pipenv requirements</code> by
<a
href="https://github.com/sanspareilsmyn"><code>@​sanspareilsmyn</code></a>
in <a
href="https://github.com/pypa/pipenv/pull/6156">pypa/pipenv#6156</a></li>
<li>Bump jinja2 from 3.1.3 to 3.1.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6150">pypa/pipenv#6150</a></li>
<li>Bump requests from 2.31.0 to 2.32.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6157">pypa/pipenv#6157</a></li>
<li>Fix windows CI for 3.8 and the outdated command that was refactored
to remove pkg_resources. by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6146">pypa/pipenv#6146</a></li>
<li>pipenv 2024 install (behavioral refactor) by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6098">pypa/pipenv#6098</a></li>
<li>Supply the extra pip args in the resolver. by <a
href="https://github.com/matteius"><code>@​matteius</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6006">pypa/pipenv#6006</a></li>
<li>Handle unsupported python versioning on Pipfile by <a
href="https://github.com/sanspareilsmyn"><code>@​sanspareilsmyn</code></a>
in <a
href="https://github.com/pypa/pipenv/pull/6164">pypa/pipenv#6164</a></li>
<li>Remove secho from pipenv.utils.shell by <a
href="https://github.com/aidencullo"><code>@​aidencullo</code></a> in <a
href="https://github.com/pypa/pipenv/pull/6170">pypa/pipenv#6170</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/PzaThief"><code>@​PzaThief</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6084">pypa/pipenv#6084</a></li>
<li><a href="https://github.com/jralls"><code>@​jralls</code></a> made
their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6114">pypa/pipenv#6114</a></li>
<li><a
href="https://github.com/samcarswell"><code>@​samcarswell</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6108">pypa/pipenv#6108</a></li>
<li><a href="https://github.com/mierzejk"><code>@​mierzejk</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6129">pypa/pipenv#6129</a></li>
<li><a
href="https://github.com/AlexandreArpin"><code>@​AlexandreArpin</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6136">pypa/pipenv#6136</a></li>
<li><a href="https://github.com/nitintecg"><code>@​nitintecg</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6135">pypa/pipenv#6135</a></li>
<li><a href="https://github.com/sss-ng"><code>@​sss-ng</code></a> made
their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6152">pypa/pipenv#6152</a></li>
<li><a
href="https://github.com/sanspareilsmyn"><code>@​sanspareilsmyn</code></a>
made their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6156">pypa/pipenv#6156</a></li>
<li><a
href="https://github.com/aidencullo"><code>@​aidencullo</code></a> made
their first contribution in <a
href="https://github.com/pypa/pipenv/pull/6170">pypa/pipenv#6170</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/pipenv/compare/v2023.12.1...v2024.0.0">https://github.com/pypa/pipenv/compare/v2023.12.1...v2024.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/pipenv/blob/main/CHANGELOG.md">pipenv's
changelog</a>.</em></p>
<blockquote>
<h1>2024.0.1 (2024-06-11)</h1>
<h1>Pipenv 2024.0.1 (2024-06-11)</h1>
<p>No significant changes.</p>
<h1>2024.0.0 (2024-06-06)</h1>
<h1>Pipenv 2024.0.0 (2024-06-06)</h1>
<h2>Features &amp; Improvements</h2>
<ul>
<li>Supply any <code>--extra-pip-args</code> also in the resolver steps.
<code>[#6006](pypa/pipenv#6006)
&lt;https://github.com/pypa/pipenv/issues/6006&gt;</code>_</li>
<li>The <code>uninstall</code> command now does the inverse of
<code>upgrade</code> which means it no longer invokes a full
<code>lock</code> cycle which was problematic for projects with many
dependencies. <code>[#6029](pypa/pipenv#6029)
&lt;https://github.com/pypa/pipenv/issues/6029&gt;</code>_</li>
<li>The <code>pipenv requirements</code> subcommand now supports the
<code>--from-pipfile</code> flag. When this flag is used, the
requirements file will only include the packages explicitly listed in
the Pipfile, excluding any sub-packages.
<code>[#6156](pypa/pipenv#6156)
&lt;https://github.com/pypa/pipenv/issues/6156&gt;</code>_</li>
</ul>
<h2>Behavior Changes</h2>
<ul>
<li><code>pipenv==3000.0.0</code> denotes the first major release of our
semver strategy.
As much requested, the <code>install</code> no longer does a complete
lock operation. Instead <code>install</code> follows the same code path
as pipenv update (which is upgrade + sync).
This is what most new users expect the behavior to be; it is a
behavioral change, a necessary one to make the tool more usable.
Remember that complete lock resolution can be invoked with <code>pipenv
lock</code> just as before.
<code>[#6098](pypa/pipenv#6098)
&lt;https://github.com/pypa/pipenv/issues/6098&gt;</code>_</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Fix a bug that passes pipenv check command if Pipfile.lock not exist
<code>[#6126](pypa/pipenv#6126)
&lt;https://github.com/pypa/pipenv/issues/6126&gt;</code>_</li>
<li>Fix a bug that vcs subdependencies were locked without their
subdirectory fragment if they had one
<code>[#6136](pypa/pipenv#6136)
&lt;https://github.com/pypa/pipenv/issues/6136&gt;</code>_</li>
<li><code>pipenv</code> converts off <code>pkg_resources</code> API
usages. This necessitated also vendoring in:
<ul>
<li>latest <code>pipdeptree==2.18.1</code> which also converted off
<code>pkg_resources</code></li>
<li><code>importlib-metadata==7.1.0</code> to continue supporting python
3.8 and 3.9</li>
<li><code>packaging==24.0</code> since the packaging we were utilizing
in pip's <em>vendor was insufficient for this conversion.
<code>[#6139](pypa/pipenv#6139)
&lt;https://github.com/pypa/pipenv/issues/6139&gt;</code></em></li>
</ul>
</li>
<li>Pipenv only supports absolute python version. If the user specifies
a Python version with inequality signs like &gt;=3.12, <!-- raw HTML
omitted -->`_</li>
</ul>
<h2>Vendored Libraries</h2>
<ul>
<li>Vendor in <code>pip==24.0</code>
<code>[#6117](pypa/pipenv#6117)
&lt;https://github.com/pypa/pipenv/issues/6117&gt;</code>_</li>
<li>Spring 2024 Vendoring includes:
<ul>
<li><code>click-didyoumean==0.3.1</code></li>
<li><code>expect==4.9.0</code></li>
<li><code>pipdeptree==2.16.2</code></li>
<li><code>python-dotenv==1.0.1</code></li>
<li><code>ruamel.yaml==0.18.6</code></li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/pipenv/commit/7493d181b2ede1bf5820189c128020d156cb51f2"><code>7493d18</code></a>
Release v2024.0.1</li>
<li><a
href="https://github.com/pypa/pipenv/commit/cf9a336e685ba9d9483e6d9990fc15f0b827e404"><code>cf9a336</code></a>
Bumped version to 2024.0.1.</li>
<li><a
href="https://github.com/pypa/pipenv/commit/52f7b09ad1dd923566b37b9b5777228ce135f653"><code>52f7b09</code></a>
Update plette to version 2.1.0</li>
<li><a
href="https://github.com/pypa/pipenv/commit/0618fab5f40a599335f0c363abaaa882bf33dd29"><code>0618fab</code></a>
Prepare actually for 2024.0.0 release after peer feedback.</li>
<li><a
href="https://github.com/pypa/pipenv/commit/fd763515d09ae4d0e19b50477f0ffd8d8506e74d"><code>fd76351</code></a>
Release v2024.0.0</li>
<li><a
href="https://github.com/pypa/pipenv/commit/878d7c45dba0a9ec6a2653a2c55d6cd908868981"><code>878d7c4</code></a>
Bumped version to 2024.0.0.</li>
<li><a
href="https://github.com/pypa/pipenv/commit/a84ecd351d1bd558ffdd4c023bcf79e5f4d4d348"><code>a84ecd3</code></a>
Release v3000.0.0</li>
<li><a
href="https://github.com/pypa/pipenv/commit/0cee88e9633d80f9d9c8b6d1a3174d24010d305f"><code>0cee88e</code></a>
Bumped version to 3000.0.0.</li>
<li><a
href="https://github.com/pypa/pipenv/commit/2c04a632ad08f85cdf8224af782235423fe60d4e"><code>2c04a63</code></a>
Remove secho from pipenv.utils.shell</li>
<li><a
href="https://github.com/pypa/pipenv/commit/6abb08cd9a6702912c25a374338b25469517a931"><code>6abb08c</code></a>
Merge pull request <a
href="https://github.com/pypa/pipenv/issues/6164">#6164</a>
from sanspareilsmyn/handle-unspecified-python-version</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/pipenv/compare/v2023.12.1...v2024.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pipenv&package-manager=pip&previous-version=2023.12.1&new-version=2024.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
# Note that it didn't before, but that instead local filenames showed as hashes
assert "tablib" in p.pipfile["packages"]
assert "tablib" not in p.pipfile["packages"]
assert "tablib" not in p.lockfile["default"]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the change that allowed part of this regression to sneak through.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Able to remove sub dependencies when they are actually required
3 participants