Skip to content

Conversation

@Micket
Copy link
Contributor

@Micket Micket commented Apr 30, 2025

(created using eb --new-pr)

@Micket Micket added the update label Apr 30, 2025
@github-actions
Copy link

github-actions bot commented Apr 30, 2025

Updated software Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb

Diff against Python-bundle-PyPI-2024.06-GCCcore-13.3.0.eb

easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2024.06-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2024.06-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb
index c6ac0ea520..85c92b6291 100644
--- a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2024.06-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb
@@ -1,84 +1,146 @@
-easyblock = 'PythonBundle'
+easyblock = 'CargoPythonBundle'
 
 name = 'Python-bundle-PyPI'
-version = '2024.06'
+version = '2025.04'
 
 homepage = 'https://python.org/'
 description = "Bundle of Python packages from PyPI"
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
 toolchainopts = {'pic': True}
 
 builddependencies = [
     ('binutils', '2.42'),
     ('UnZip', '6.0'),
-    ('pkgconf', '2.2.0'),
-    ('git', '2.45.1'),  # required for pbr
-    ('hatchling', '1.24.2'),
-    ('poetry', '1.8.3'),
-    ('scikit-build', '0.17.6'),
-    ('flit', '3.9.0'),
-    ('setuptools-rust', '1.9.0'),  # required for dulwich
-    ('maturin', '1.6.0'),  # required for rpds-py
+    ('pkgconf', '2.3.0'),
+    ('git', '2.49.0'),  # required for pbr
+    ('hatchling', '1.27.0'),
+    ('poetry', '2.1.2'),
+    ('scikit-build-core', '0.11.1'),  # required for rapidfuzz
+    ('flit', '3.10.1'),
+    ('Rust', '1.85.1'),
+    ('setuptools-rust', '1.11.0'),  # required for dulwich
+    ('maturin', '1.8.3'),  # required for rpds-py
 ]
 
 dependencies = [
-    ('Python', '3.12.3'),
-    ('cryptography', '42.0.8'),
-    ('virtualenv', '20.26.2'),
+    ('Python', '3.13.1'),
+    ('cryptography', '44.0.2'),
+    ('virtualenv', '20.29.2'),
+]
+
+crates = [
+    ('archery', '1.2.1'),
+    ('autocfg', '1.4.0'),
+    ('autocfg', '1.3.0'),
+    ('cc', '1.0.90'),
+    ('cfg-if', '1.0.0'),
+    ('heck', '0.5.0'),
+    ('indoc', '2.0.5'),
+    ('libc', '0.2.170'),
+    ('libc', '0.2.155'),
+    ('memchr', '2.7.4'),
+    ('memoffset', '0.9.1'),
+    ('once_cell', '1.20.3'),
+    ('once_cell', '1.19.0'),
+    ('portable-atomic', '1.11.0'),
+    ('portable-atomic', '1.6.0'),
+    ('proc-macro2', '1.0.93'),
+    ('proc-macro2', '1.0.86'),
+    ('pyo3', '0.24.0'),
+    ('pyo3', '0.23.5'),
+    ('pyo3-build-config', '0.24.0'),
+    ('pyo3-build-config', '0.23.5'),
+    ('pyo3-ffi', '0.24.0'),
+    ('pyo3-ffi', '0.23.5'),
+    ('pyo3-macros', '0.24.0'),
+    ('pyo3-macros', '0.23.5'),
+    ('pyo3-macros-backend', '0.24.0'),
+    ('pyo3-macros-backend', '0.23.5'),
+    ('python3-dll-a', '0.2.12'),
+    ('quote', '1.0.38'),
+    ('quote', '1.0.36'),
+    ('rpds', '1.1.0'),
+    ('syn', '2.0.98'),
+    ('syn', '2.0.69'),
+    ('target-lexicon', '0.13.2'),
+    ('target-lexicon', '0.12.16'),
+    ('triomphe', '0.1.13'),
+    ('unicode-ident', '1.0.17'),
+    ('unicode-ident', '1.0.12'),
+    ('unindent', '0.2.3'),
+]
+checksums = [
+    {'archery-1.2.1.tar.gz': 'eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869'},
+    {'autocfg-1.4.0.tar.gz': 'ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26'},
+    {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'},
+    {'cc-1.0.90.tar.gz': '8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5'},
+    {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'},
+    {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'},
+    {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'},
+    {'libc-0.2.170.tar.gz': '875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828'},
+    {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'},
+    {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'},
+    {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'},
+    {'once_cell-1.20.3.tar.gz': '945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e'},
+    {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'},
+    {'portable-atomic-1.11.0.tar.gz': '350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e'},
+    {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'},
+    {'proc-macro2-1.0.93.tar.gz': '60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99'},
+    {'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'},
+    {'pyo3-0.24.0.tar.gz': '7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86'},
+    {'pyo3-0.23.5.tar.gz': '7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872'},
+    {'pyo3-build-config-0.24.0.tar.gz': 'e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a'},
+    {'pyo3-build-config-0.23.5.tar.gz': '94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb'},
+    {'pyo3-ffi-0.24.0.tar.gz': '5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c'},
+    {'pyo3-ffi-0.23.5.tar.gz': 'e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d'},
+    {'pyo3-macros-0.24.0.tar.gz': 'b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42'},
+    {'pyo3-macros-0.23.5.tar.gz': 'fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da'},
+    {'pyo3-macros-backend-0.24.0.tar.gz': 'fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e'},
+    {'pyo3-macros-backend-0.23.5.tar.gz': 'fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028'},
+    {'python3-dll-a-0.2.12.tar.gz': '9b66f9171950e674e64bad3456e11bb3cca108e5c34844383cfe277f45c8a7a8'},
+    {'quote-1.0.38.tar.gz': '0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc'},
+    {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'},
+    {'rpds-1.1.0.tar.gz': 'a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4'},
+    {'syn-2.0.98.tar.gz': '36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1'},
+    {'syn-2.0.69.tar.gz': '201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6'},
+    {'target-lexicon-0.13.2.tar.gz': 'e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a'},
+    {'target-lexicon-0.12.16.tar.gz': '61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1'},
+    {'triomphe-0.1.13.tar.gz': 'e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369'},
+    {'unicode-ident-1.0.17.tar.gz': '00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe'},
+    {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'},
+    {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'},
 ]
 
 # order is important!
-# package versions updated 2024-06-14
+# package versions updated 2025-04-30
 exts_list = [
-    ('blist', '1.3.6', {
-        'patches': [
-            'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch',
-            'Python-3.10-bist-1.3.6-compatibility.patch',
-            'Python-3.11-bist-1.3.6-compatibility.patch',
-        ],
-        'checksums': [
-            {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'},
-            {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch':
-             '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'},
-            {'Python-3.10-bist-1.3.6-compatibility.patch':
-             '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'},
-            {'Python-3.11-bist-1.3.6-compatibility.patch':
-             'da283300bc5f0524b9982c9d9de4670908711634667849d3d81ccd87fc82c4ee'},
-        ],
-    }),
-    ('pbr', '6.0.0', {
-        'checksums': ['d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9'],
+    ('pbr', '6.1.1', {
+        'checksums': ['93ea72ce6989eb2eed99d0f75721474f69ad88128afdef5ac377eb797c4bf76b'],
     }),
-    ('six', '1.16.0', {
-        'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'],
+    ('six', '1.17.0', {
+        'checksums': ['ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81'],
     }),
     ('toml', '0.10.2', {
         'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'],
     }),
-    ('tomli', '2.0.1', {
-        'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'],
-    }),
-    ('packaging', '24.1', {
-        'checksums': ['026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002'],
-    }),
     ('python-dateutil', '2.9.0.post0', {
         'modulename': 'dateutil',
         'checksums': ['37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3'],
     }),
-    ('decorator', '5.1.1', {
-        'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'],
+    ('decorator', '5.2.1', {
+        'checksums': ['65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360'],
     }),
     ('liac-arff', '2.5.0', {
         'modulename': 'arff',
         'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'],
     }),
-    ('pycryptodome', '3.20.0', {
+    ('pycryptodome', '3.22.0', {
         'modulename': 'Crypto.PublicKey.RSA',
-        'checksums': ['09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7'],
+        'checksums': ['fd7ab568b3ad7b77c908d7c3f7e167ec5a8f035c64ff74f10d47a4edd043d723'],
     }),
-    ('ecdsa', '0.19.0', {
-        'checksums': ['60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8'],
+    ('ecdsa', '0.19.1', {
+        'checksums': ['478cba7b62555866fcb3bb3fe985e06decbdb68ef55713c4e5ab98c57d508e61'],
     }),
     ('ipaddress', '1.0.23', {
         'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'],
@@ -86,28 +148,28 @@ exts_list = [
     ('asn1crypto', '1.5.1', {
         'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'],
     }),
-    ('idna', '3.7', {
-        'checksums': ['028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc'],
+    ('idna', '3.10', {
+        'checksums': ['12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9'],
     }),
     ('pycparser', '2.22', {
         'checksums': ['491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6'],
     }),
-    ('cffi', '1.16.0', {
-        'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'],
+    ('cffi', '1.17.1', {
+        'checksums': ['1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824'],
     }),
     ('semantic-version', '2.10.0', {
         'sources': ['semantic_version-%(version)s.tar.gz'],
         'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'],
     }),
-    ('pyasn1', '0.6.0', {
-        'checksums': ['3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c'],
+    ('pyasn1', '0.6.1', {
+        'checksums': ['6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034'],
     }),
     ('PyNaCl', '1.5.0', {
         'modulename': 'nacl',
         'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'],
     }),
-    ('pyparsing', '3.1.2', {
-        'checksums': ['a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad'],
+    ('pyparsing', '3.2.3', {
+        'checksums': ['b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be'],
     }),
     ('netifaces', '0.11.0', {
         'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'],
@@ -115,30 +177,30 @@ exts_list = [
     ('netaddr', '1.3.0', {
         'checksums': ['5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a'],
     }),
-    ('mock', '5.1.0', {
-        'checksums': ['5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d'],
+    ('mock', '5.2.0', {
+        'checksums': ['4e460e818629b4b173f32d08bf30d3af8123afbb8e04bb5707a1fd4799e503f0'],
     }),
-    ('pytz', '2024.1', {
-        'checksums': ['2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812'],
+    ('pytz', '2025.2', {
+        'checksums': ['360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3'],
     }),
-    ('bitarray', '2.9.2', {
-        'checksums': ['a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e'],
+    ('bitarray', '3.3.1', {
+        'checksums': ['8c89219a672d0a15ab70f8a6f41bc8355296ec26becef89a127c1a32bb2e6345'],
     }),
-    ('bitstring', '4.2.3', {
-        'checksums': ['e0c447af3fda0d114f77b88c2d199f02f97ee7e957e6d719f40f41cf15fbb897'],
+    ('bitstring', '4.3.1', {
+        'checksums': ['a08bc09d3857216d4c0f412a1611056f1cc2b64fd254fb1e8a0afba7cfa1a95a'],
     }),
     ('appdirs', '1.4.4', {
         'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'],
     }),
-    ('distlib', '0.3.8', {
-        'checksums': ['1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64'],
+    ('distlib', '0.3.9', {
+        'checksums': ['a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403'],
     }),
-    ('zipp', '3.19.2', {
-        'checksums': ['bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19'],
+    ('zipp', '3.21.0', {
+        'checksums': ['2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4'],
     }),
-    ('importlib-metadata', '7.1.0', {
+    ('importlib-metadata', '8.7.0', {
         'sources': ['importlib_metadata-%(version)s.tar.gz'],
-        'checksums': ['b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2'],
+        'checksums': ['d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000'],
     }),
     ('backports.entry-points-selectable', '1.3.0', {
         'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'],
@@ -153,11 +215,11 @@ exts_list = [
     ('editables', '0.5', {
         'checksums': ['309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2'],
     }),
-    ('filelock', '3.15.1', {
-        'checksums': ['58a2549afdf9e02e10720eaa4d4470f56386d7a6f72edd7d0596337af8ed7ad8'],
+    ('filelock', '3.18.0', {
+        'checksums': ['adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2'],
     }),
-    ('platformdirs', '4.2.2', {
-        'checksums': ['38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3'],
+    ('platformdirs', '4.3.7', {
+        'checksums': ['eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351'],
     }),
     ('scandir', '1.10.0', {
         'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'],
@@ -165,9 +227,9 @@ exts_list = [
     ('pathlib2', '2.3.7.post1', {
         'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'],
     }),
-    ('importlib-resources', '6.4.0', {
+    ('importlib-resources', '6.5.2', {
         'sources': ['importlib_resources-%(version)s.tar.gz'],
-        'checksums': ['cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145'],
+        'checksums': ['185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c'],
     }),
     ('docopt', '0.6.2', {
         'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'],
@@ -178,14 +240,15 @@ exts_list = [
     ('chardet', '5.2.0', {
         'checksums': ['1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7'],
     }),
-    ('certifi', '2024.6.2', {
-        'checksums': ['3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516'],
+    ('certifi', '2025.4.26', {
+        'checksums': ['0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6'],
     }),
-    ('urllib3', '2.2.1', {
-        'checksums': ['d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19'],
+    ('urllib3', '2.4.0', {
+        'checksums': ['414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466'],
     }),
-    ('charset-normalizer', '3.3.2', {
-        'checksums': ['f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5'],
+    ('charset-normalizer', '3.4.1', {
+        'sources': ['charset_normalizer-%(version)s.tar.gz'],
+        'checksums': ['44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3'],
     }),
     ('requests', '2.32.3', {
         'checksums': ['55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760'],
@@ -209,12 +272,13 @@ exts_list = [
     ('py', '1.11.0', {
         'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'],
     }),
-    ('more-itertools', '10.3.0', {
-        'checksums': ['e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463'],
+    ('more-itertools', '10.7.0', {
+        'sources': ['more_itertools-%(version)s.tar.gz'],
+        'checksums': ['9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3'],
     }),
-    ('attrs', '23.2.0', {
+    ('attrs', '25.3.0', {
         'modulename': 'attr',
-        'checksums': ['935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30'],
+        'checksums': ['75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b'],
     }),
     ('backports.functools-lru-cache', '2.0.0', {
         'sources': ['backports.functools_lru_cache-%(version)s.tar.gz'],
@@ -223,43 +287,39 @@ exts_list = [
     ('wcwidth', '0.2.13', {
         'checksums': ['72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5'],
     }),
-    ('iniconfig', '2.0.0', {
-        'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'],
+    ('iniconfig', '2.1.0', {
+        'checksums': ['3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7'],
     }),
     ('colorama', '0.4.6', {
         'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'],
     }),
-    ('exceptiongroup', '1.2.1', {
-        'checksums': ['a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16'],
+    ('exceptiongroup', '1.2.2', {
+        'checksums': ['47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc'],
     }),
-    ('pytest', '8.2.2', {
-        'patches': ['pytest-8.2.2-fix-assertion-error-on-rerun.patch'],
-        'checksums': [
-            'de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977',
-            {'pytest-8.2.2-fix-assertion-error-on-rerun.patch':
-             '2ef47c08a1c38cc73a1a0325011df635d78b5ba0b7b5d9fe28dd2ebb9c16f5e4'},
-        ],
+    ('pytest', '8.3.5', {
+        'checksums': ['f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845'],
     }),
-    ('MarkupSafe', '2.1.5', {
-        'checksums': ['d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b'],
+    ('MarkupSafe', '3.0.2', {
+        'sources': ['markupsafe-%(version)s.tar.gz'],
+        'checksums': ['ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0'],
     }),
-    ('Jinja2', '3.1.4', {
+    ('Jinja2', '3.1.6', {
         'sources': ['jinja2-%(version)s.tar.gz'],
-        'checksums': ['4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369'],
+        'checksums': ['0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d'],
     }),
-    ('sphinxcontrib-serializinghtml', '1.1.10', {
+    ('sphinxcontrib-serializinghtml', '2.0.0', {
         'modulename': 'sphinxcontrib.serializinghtml',
         'sources': ['sphinxcontrib_serializinghtml-%(version)s.tar.gz'],
-        'checksums': ['93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f'],
+        'checksums': ['e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d'],
     }),
-    ('sphinxcontrib-websupport', '1.2.7', {
+    ('sphinxcontrib-websupport', '2.0.0', {
         'modulename': 'sphinxcontrib.websupport',
         'sources': ['sphinxcontrib_websupport-%(version)s.tar.gz'],
-        'checksums': ['e322802ebfd5fe79368efd864aeb87b063566ae61911dccb2714e28a45ed7561'],
+        'checksums': ['0b7367d3bac6454b1f97e42aa8c4d4d4a1b756d525fc726ebbe5571e033e79cd'],
     }),
-    ('Pygments', '2.18.0', {
+    ('Pygments', '2.19.1', {
         'sources': ['pygments-%(version)s.tar.gz'],
-        'checksums': ['786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199'],
+        'checksums': ['61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f'],
     }),
     ('imagesize', '1.4.1', {
         'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'],
@@ -270,49 +330,58 @@ exts_list = [
     ('snowballstemmer', '2.2.0', {
         'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'],
     }),
-    ('alabaster', '0.7.16', {
-        'checksums': ['75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65'],
+    ('alabaster', '1.0.0', {
+        'checksums': ['c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e'],
     }),
-    ('sphinxcontrib-applehelp', '1.0.8', {
+    ('sphinxcontrib-applehelp', '2.0.0', {
         'modulename': 'sphinxcontrib.applehelp',
         'sources': ['sphinxcontrib_applehelp-%(version)s.tar.gz'],
-        'checksums': ['c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619'],
+        'checksums': ['2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1'],
     }),
-    ('sphinxcontrib-devhelp', '1.0.6', {
+    ('sphinxcontrib-devhelp', '2.0.0', {
         'modulename': 'sphinxcontrib.devhelp',
         'sources': ['sphinxcontrib_devhelp-%(version)s.tar.gz'],
-        'checksums': ['9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3'],
+        'checksums': ['411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad'],
     }),
-    ('sphinxcontrib-htmlhelp', '2.0.5', {
+    ('sphinxcontrib-htmlhelp', '2.1.0', {
         'modulename': 'sphinxcontrib.htmlhelp',
         'sources': ['sphinxcontrib_htmlhelp-%(version)s.tar.gz'],
-        'checksums': ['0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015'],
+        'checksums': ['c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9'],
     }),
     ('sphinxcontrib-jsmath', '1.0.1', {
         'modulename': 'sphinxcontrib.jsmath',
         'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'],
     }),
-    ('sphinxcontrib-qthelp', '1.0.7', {
+    ('sphinxcontrib-qthelp', '2.0.0', {
         'modulename': 'sphinxcontrib.qthelp',
         'sources': ['sphinxcontrib_qthelp-%(version)s.tar.gz'],
-        'checksums': ['053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6'],
+        'checksums': ['4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab'],
     }),
-    ('Babel', '2.15.0', {
+    ('Babel', '2.17.0', {
         'sources': ['babel-%(version)s.tar.gz'],
-        'checksums': ['8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413'],
+        'checksums': ['0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d'],
+    }),
+    ('roman-numerals-py', '3.1.0', {
+        'modulename': 'roman_numerals',
+        'sources': ['roman_numerals_py-%(version)s.tar.gz'],
+        'checksums': ['be4bf804f083a4ce001b5eb7e3c0862479d10f94c936f6c4e5f250aa5ff5bd2d'],
     }),
-    ('Sphinx', '7.3.7', {
+    ('Sphinx', '8.2.3', {
+        'patches': ['sphinx-%(version)s_license_dict.patch'],
         'sources': ['sphinx-%(version)s.tar.gz'],
-        'checksums': ['a4a7db75ed37531c05002d56ed6948d4c42f473a36f46e1382b0bd76ca9627bc'],
+        'checksums': [
+            {'sphinx-8.2.3.tar.gz': '398ad29dee7f63a75888314e9424d40f52ce5a6a87ae88e7071e80af296ec348'},
+            {'sphinx-8.2.3_license_dict.patch': '639bdef574e47b3124be1d94253c1de923e20059e6bf079ea2ccacb9f4f7ba4d'},
+        ],
     }),
     ('sphinx-bootstrap-theme', '0.8.1', {
         'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'],
     }),
-    ('click', '8.1.7', {
-        'checksums': ['ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de'],
+    ('click', '8.1.8', {
+        'checksums': ['ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a'],
     }),
-    ('psutil', '5.9.8', {
-        'checksums': ['6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c'],
+    ('psutil', '7.0.0', {
+        'checksums': ['7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456'],
     }),
     ('future', '1.0.0', {
         'checksums': ['bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05'],
@@ -329,12 +398,12 @@ exts_list = [
     ('zipfile36', '0.1.3', {
         'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'],
     }),
-    ('tomli-w', '1.0.0', {
+    ('tomli-w', '1.2.0', {
         'sources': ['tomli_w-%(version)s.tar.gz'],
-        'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'],
+        'checksums': ['2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021'],
     }),
-    ('regex', '2024.5.15', {
-        'checksums': ['d3ee02d9e5f482cc8309134a91eeaacbdd2261ba111b0fef3748eeb4913e6a2c'],
+    ('regex', '2024.11.6', {
+        'checksums': ['7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519'],
     }),
     ('intreehooks', '1.0', {
         'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'],
@@ -343,37 +412,43 @@ exts_list = [
         'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'],
     }),
     ('pastel', '0.2.1', {
-        'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl',
+        'sources': ['%(name)s-%(version)s-py2.py3-none-any.whl'],
         'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'],
     }),
     ('crashtest', '0.4.1', {
-        'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
         'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'],
     }),
-    ('jeepney', '0.8.0', {
-        'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
-        'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'],
+    ('jeepney', '0.9.0', {
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
+        'checksums': ['97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683'],
     }),
     ('SecretStorage', '3.3.3', {
         'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'],
     }),
-    ('keyring', '24.3.1', {
+    ('keyring', '25.6.0', {
         'modulename': False,
-        'checksums': ['c3327b6ffafc0e8befbdb597cacdb4928ffe5c1212f7645f186e6d9957a898db'],
+        'checksums': ['0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66'],
+    }),
+    ('jaraco.functools', '4.1.0', {
+        'sources': ['jaraco_functools-%(version)s.tar.gz'],
+        'checksums': ['70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d'],
     }),
     ('jaraco.classes', '3.4.0', {
         'checksums': ['47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd'],
     }),
-    ('jaraco.context', '5.3.0', {
-        'checksums': ['c2f67165ce1f9be20f32f650f25d8edfc1646a8aeee48ae06fb35f90763576d2'],
+    ('jaraco.context', '6.0.1', {
+        'sources': ['jaraco_context-%(version)s.tar.gz'],
+        'checksums': ['9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3'],
     }),
-    ('keyrings.alt', '5.0.1', {
+    ('keyrings.alt', '5.0.2', {
         'modulename': False,
-        'checksums': ['cd372a1ec446a1bc5a90624a52c88e83b9330218e39047a6c9a48ae37d116745'],
+        'sources': ['keyrings_alt-%(version)s.tar.gz'],
+        'checksums': ['8f097ebe9dc8b185106502b8cdb066c926d2180e13b4689fd4771a3eab7d69fb'],
     }),
-    ('tomlkit', '0.12.5', {
-        'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
-        'checksums': ['af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f'],
+    ('tomlkit', '0.13.2', {
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
+        'checksums': ['7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde'],
     }),
     ('shellingham', '1.5.4', {
         'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'],
@@ -384,33 +459,33 @@ exts_list = [
     ('pyrsistent', '0.20.0', {
         'checksums': ['4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4'],
     }),
-    ('pkginfo', '1.11.1', {
-        'checksums': ['2e0dca1cf4c8e39644eed32408ea9966ee15e0d324c62ba899a393b3c6b467aa'],
+    ('pkginfo', '1.12.1.2', {
+        'checksums': ['5cd957824ac36f140260964eba3c6be6442a8359b8c48f4adf90210f33a04b7b'],
     }),
     ('ptyprocess', '0.7.0', {
-        'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl',
+        'sources': ['%(name)s-%(version)s-py2.py3-none-any.whl'],
         'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'],
     }),
     ('pexpect', '4.9.0', {
         'checksums': ['ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f'],
     }),
-    ('jsonschema-specifications', '2023.12.1', {
+    ('jsonschema-specifications', '2025.4.1', {
         'sources': ['jsonschema_specifications-%(version)s.tar.gz'],
-        'checksums': ['48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc'],
+        'checksums': ['630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608'],
     }),
-    ('referencing', '0.35.1', {
-        'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'],
+    ('referencing', '0.36.2', {
+        'checksums': ['df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa'],
     }),
-    ('rpds-py', '0.18.1', {
-        'sources': ['rpds_py-%(version)s.tar.gz'],
-        'checksums': ['dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f'],
+    ('rpds-py', '0.24.0', {
         'modulename': 'rpds',
+        'sources': ['rpds_py-%(version)s.tar.gz'],
+        'checksums': ['772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e'],
     }),
-    ('jsonschema', '4.22.0', {
-        'checksums': ['5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7'],
+    ('jsonschema', '4.23.0', {
+        'checksums': ['d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4'],
     }),
-    ('simplejson', '3.19.2', {
-        'checksums': ['9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c'],
+    ('simplejson', '3.20.1', {
+        'checksums': ['e64139b4ec4f1f24c142ff7dcafe55a22b811a74d86d66560c8815687143037d'],
     }),
     ('webencodings', '0.5.1', {
         'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'],
@@ -421,8 +496,8 @@ exts_list = [
     ('distro', '1.9.0', {
         'checksums': ['2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed'],
     }),
-    ('rapidfuzz', '3.9.3', {
-        'checksums': ['b398ea66e8ed50451bce5997c430197d5e4b06ac4aa74602717f792d8d8d06e2'],
+    ('rapidfuzz', '3.13.0', {
+        'checksums': ['d2eaf3839e52cbcc0accbe9817a67b4b0fcf70aaeb229cfddc1c28061f9ce5d8'],
     }),
     ('cleo', '2.1.0', {
         'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
@@ -431,12 +506,12 @@ exts_list = [
     ('cachy', '0.3.0', {
         'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'],
     }),
-    ('msgpack', '1.0.8', {
-        'checksums': ['95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3'],
+    ('msgpack', '1.1.0', {
+        'checksums': ['dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e'],
     }),
-    ('CacheControl', '0.14.0', {
+    ('CacheControl', '0.14.2', {
         'sources': ['cachecontrol-%(version)s.tar.gz'],
-        'checksums': ['7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938'],
+        'checksums': ['7d47d19f866409b98ff6025b6a0fca8e4c791fb31abbd95f622093894ce903a2'],
     }),
     ('lockfile', '0.12.2', {
         'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'],
@@ -444,14 +519,14 @@ exts_list = [
     ('glob2', '0.7', {
         'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'],
     }),
-    ('dulwich', '0.22.1', {
-        'checksums': ['e36d85967cfbf25da1c7bc3d6921adc5baa976969d926aaf1582bd5fd7e94758'],
+    ('dulwich', '0.22.8', {
+        'checksums': ['701547310415de300269331abe29cb5717aa1ea377af826bf513d0adfb1c209b'],
     }),
-    ('fsspec', '2024.6.0', {
-        'checksums': ['f579960a56e6d8038a9efc8f9c77279ec12e6299aa86b0769a7e9c46b94527c2'],
+    ('fsspec', '2025.3.2', {
+        'checksums': ['e52c77ef398680bbd6a98c0e628fbc469491282981209907bbc8aea76a04fdc6'],
     }),
-    ('threadpoolctl', '3.5.0', {
-        'checksums': ['082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107'],
+    ('threadpoolctl', '3.6.0', {
+        'checksums': ['8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e'],
     }),
     ('simplegeneric', '0.8.1', {
         'source_tmpl': 'simplegeneric-%(version)s.zip',
@@ -463,8 +538,8 @@ exts_list = [
     ('doit', '0.36.0', {
         'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'],
     }),
-    ('cloudpickle', '3.0.0', {
-        'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'],
+    ('cloudpickle', '3.1.1', {
+        'checksums': ['b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64'],
     }),
     ('pydevtool', '0.3.0', {
         'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'],
@@ -476,12 +551,12 @@ exts_list = [
         'modulename': 'markdown_it',
         'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'],
     }),
-    ('rich', '13.7.1', {
-        'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'],
+    ('rich', '14.0.0', {
+        'checksums': ['82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725'],
     }),
-    ('rich-click', '1.8.3', {
+    ('rich-click', '1.8.8', {
         'sources': ['rich_click-%(version)s.tar.gz'],
-        'checksums': ['6d75bdfa7aa9ed2c467789a0688bc6da23fbe3a143e19aa6ad3f8bac113d2ab3'],
+        'checksums': ['547c618dea916620af05d4a6456da797fbde904c97901f44d2f32f89d85d6c84'],
     }),
     ('commonmark', '0.9.1', {
         'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'],
Diff against Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb

easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb

diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb
index b0b9055fb8..85c92b6291 100644
--- a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb
+++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb
@@ -1,85 +1,146 @@
-easyblock = 'PythonBundle'
+easyblock = 'CargoPythonBundle'
 
 name = 'Python-bundle-PyPI'
-version = '2023.10'
+version = '2025.04'
 
 homepage = 'https://python.org/'
 description = "Bundle of Python packages from PyPI"
 
-toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
 toolchainopts = {'pic': True}
 
 builddependencies = [
-    ('binutils', '2.40'),
+    ('binutils', '2.42'),
     ('UnZip', '6.0'),
-    ('pkgconf', '2.0.3'),
-    ('git', '2.42.0'),  # required for pbr
-    ('hatchling', '1.18.0'),
-    ('poetry', '1.6.1'),
-    ('scikit-build', '0.17.6'),
-    ('flit', '3.9.0'),
+    ('pkgconf', '2.3.0'),
+    ('git', '2.49.0'),  # required for pbr
+    ('hatchling', '1.27.0'),
+    ('poetry', '2.1.2'),
+    ('scikit-build-core', '0.11.1'),  # required for rapidfuzz
+    ('flit', '3.10.1'),
+    ('Rust', '1.85.1'),
+    ('setuptools-rust', '1.11.0'),  # required for dulwich
+    ('maturin', '1.8.3'),  # required for rpds-py
 ]
 
 dependencies = [
-    ('Python', '3.11.5'),
-    ('cryptography', '41.0.5'),
-    ('virtualenv', '20.24.6'),
+    ('Python', '3.13.1'),
+    ('cryptography', '44.0.2'),
+    ('virtualenv', '20.29.2'),
+]
+
+crates = [
+    ('archery', '1.2.1'),
+    ('autocfg', '1.4.0'),
+    ('autocfg', '1.3.0'),
+    ('cc', '1.0.90'),
+    ('cfg-if', '1.0.0'),
+    ('heck', '0.5.0'),
+    ('indoc', '2.0.5'),
+    ('libc', '0.2.170'),
+    ('libc', '0.2.155'),
+    ('memchr', '2.7.4'),
+    ('memoffset', '0.9.1'),
+    ('once_cell', '1.20.3'),
+    ('once_cell', '1.19.0'),
+    ('portable-atomic', '1.11.0'),
+    ('portable-atomic', '1.6.0'),
+    ('proc-macro2', '1.0.93'),
+    ('proc-macro2', '1.0.86'),
+    ('pyo3', '0.24.0'),
+    ('pyo3', '0.23.5'),
+    ('pyo3-build-config', '0.24.0'),
+    ('pyo3-build-config', '0.23.5'),
+    ('pyo3-ffi', '0.24.0'),
+    ('pyo3-ffi', '0.23.5'),
+    ('pyo3-macros', '0.24.0'),
+    ('pyo3-macros', '0.23.5'),
+    ('pyo3-macros-backend', '0.24.0'),
+    ('pyo3-macros-backend', '0.23.5'),
+    ('python3-dll-a', '0.2.12'),
+    ('quote', '1.0.38'),
+    ('quote', '1.0.36'),
+    ('rpds', '1.1.0'),
+    ('syn', '2.0.98'),
+    ('syn', '2.0.69'),
+    ('target-lexicon', '0.13.2'),
+    ('target-lexicon', '0.12.16'),
+    ('triomphe', '0.1.13'),
+    ('unicode-ident', '1.0.17'),
+    ('unicode-ident', '1.0.12'),
+    ('unindent', '0.2.3'),
+]
+checksums = [
+    {'archery-1.2.1.tar.gz': 'eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869'},
+    {'autocfg-1.4.0.tar.gz': 'ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26'},
+    {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'},
+    {'cc-1.0.90.tar.gz': '8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5'},
+    {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'},
+    {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'},
+    {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'},
+    {'libc-0.2.170.tar.gz': '875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828'},
+    {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'},
+    {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'},
+    {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'},
+    {'once_cell-1.20.3.tar.gz': '945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e'},
+    {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'},
+    {'portable-atomic-1.11.0.tar.gz': '350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e'},
+    {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'},
+    {'proc-macro2-1.0.93.tar.gz': '60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99'},
+    {'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'},
+    {'pyo3-0.24.0.tar.gz': '7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86'},
+    {'pyo3-0.23.5.tar.gz': '7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872'},
+    {'pyo3-build-config-0.24.0.tar.gz': 'e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a'},
+    {'pyo3-build-config-0.23.5.tar.gz': '94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb'},
+    {'pyo3-ffi-0.24.0.tar.gz': '5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c'},
+    {'pyo3-ffi-0.23.5.tar.gz': 'e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d'},
+    {'pyo3-macros-0.24.0.tar.gz': 'b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42'},
+    {'pyo3-macros-0.23.5.tar.gz': 'fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da'},
+    {'pyo3-macros-backend-0.24.0.tar.gz': 'fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e'},
+    {'pyo3-macros-backend-0.23.5.tar.gz': 'fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028'},
+    {'python3-dll-a-0.2.12.tar.gz': '9b66f9171950e674e64bad3456e11bb3cca108e5c34844383cfe277f45c8a7a8'},
+    {'quote-1.0.38.tar.gz': '0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc'},
+    {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'},
+    {'rpds-1.1.0.tar.gz': 'a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4'},
+    {'syn-2.0.98.tar.gz': '36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1'},
+    {'syn-2.0.69.tar.gz': '201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6'},
+    {'target-lexicon-0.13.2.tar.gz': 'e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a'},
+    {'target-lexicon-0.12.16.tar.gz': '61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1'},
+    {'triomphe-0.1.13.tar.gz': 'e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369'},
+    {'unicode-ident-1.0.17.tar.gz': '00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe'},
+    {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'},
+    {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'},
 ]
 
 # order is important!
-# package versions updated 2023-10-29
+# package versions updated 2025-04-30
 exts_list = [
-    ('blist', '1.3.6', {
-        'patches': [
-            'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch',
-            'Python-3.10-bist-1.3.6-compatibility.patch',
-            'Python-3.11-bist-1.3.6-compatibility.patch',
-        ],
-        'checksums': [
-            {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'},
-            {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch':
-             '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'},
-            {'Python-3.10-bist-1.3.6-compatibility.patch':
-             '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'},
-            {'Python-3.11-bist-1.3.6-compatibility.patch':
-             'da283300bc5f0524b9982c9d9de4670908711634667849d3d81ccd87fc82c4ee'},
-        ],
-    }),
-    ('pbr', '5.11.1', {
-        'checksums': ['aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3'],
-    }),
-    ('Cython', '3.0.4', {
-        'checksums': ['2e379b491ee985d31e5faaf050f79f4a8f59f482835906efe4477b33b4fbe9ff'],
+    ('pbr', '6.1.1', {
+        'checksums': ['93ea72ce6989eb2eed99d0f75721474f69ad88128afdef5ac377eb797c4bf76b'],
     }),
-    ('six', '1.16.0', {
-        'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'],
+    ('six', '1.17.0', {
+        'checksums': ['ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81'],
     }),
     ('toml', '0.10.2', {
         'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'],
     }),
-    ('tomli', '2.0.1', {
-        'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'],
-    }),
-    ('packaging', '23.2', {
-        'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'],
-    }),
-    ('python-dateutil', '2.8.2', {
+    ('python-dateutil', '2.9.0.post0', {
         'modulename': 'dateutil',
-        'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'],
+        'checksums': ['37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3'],
     }),
-    ('decorator', '5.1.1', {
-        'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'],
+    ('decorator', '5.2.1', {
+        'checksums': ['65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360'],
     }),
     ('liac-arff', '2.5.0', {
         'modulename': 'arff',
         'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'],
     }),
-    ('pycryptodome', '3.19.0', {
+    ('pycryptodome', '3.22.0', {
         'modulename': 'Crypto.PublicKey.RSA',
-        'checksums': ['bc35d463222cdb4dbebd35e0784155c81e161b9284e567e7e933d722e533331e'],
+        'checksums': ['fd7ab568b3ad7b77c908d7c3f7e167ec5a8f035c64ff74f10d47a4edd043d723'],
     }),
-    ('ecdsa', '0.18.0', {
-        'checksums': ['190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49'],
+    ('ecdsa', '0.19.1', {
+        'checksums': ['478cba7b62555866fcb3bb3fe985e06decbdb68ef55713c4e5ab98c57d508e61'],
     }),
     ('ipaddress', '1.0.23', {
         'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'],
@@ -87,76 +148,78 @@ exts_list = [
     ('asn1crypto', '1.5.1', {
         'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'],
     }),
-    ('idna', '3.4', {
-        'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'],
+    ('idna', '3.10', {
+        'checksums': ['12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9'],
     }),
-    ('pycparser', '2.21', {
-        'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'],
+    ('pycparser', '2.22', {
+        'checksums': ['491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6'],
     }),
-    ('cffi', '1.16.0', {
-        'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'],
+    ('cffi', '1.17.1', {
+        'checksums': ['1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824'],
     }),
-    ('semantic_version', '2.10.0', {
+    ('semantic-version', '2.10.0', {
+        'sources': ['semantic_version-%(version)s.tar.gz'],
         'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'],
     }),
-    ('pyasn1', '0.5.0', {
-        'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'],
+    ('pyasn1', '0.6.1', {
+        'checksums': ['6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034'],
     }),
     ('PyNaCl', '1.5.0', {
         'modulename': 'nacl',
         'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'],
     }),
-    ('pyparsing', '3.1.1', {
-        'checksums': ['ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db'],
+    ('pyparsing', '3.2.3', {
+        'checksums': ['b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be'],
     }),
     ('netifaces', '0.11.0', {
         'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'],
     }),
-    ('netaddr', '0.9.0', {
-        'checksums': ['7b46fa9b1a2d71fd5de9e4a3784ef339700a53a08c8040f08baf5f1194da0128'],
+    ('netaddr', '1.3.0', {
+        'checksums': ['5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a'],
     }),
-    ('mock', '5.1.0', {
-        'checksums': ['5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d'],
+    ('mock', '5.2.0', {
+        'checksums': ['4e460e818629b4b173f32d08bf30d3af8123afbb8e04bb5707a1fd4799e503f0'],
     }),
-    ('pytz', '2023.3.post1', {
-        'checksums': ['7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b'],
+    ('pytz', '2025.2', {
+        'checksums': ['360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3'],
     }),
-    ('bitarray', '2.8.2', {
-        'checksums': ['f90b2f44b5b23364d5fbade2c34652e15b1fcfe813c46f828e008f68a709160f'],
+    ('bitarray', '3.3.1', {
+        'checksums': ['8c89219a672d0a15ab70f8a6f41bc8355296ec26becef89a127c1a32bb2e6345'],
     }),
-    ('bitstring', '4.1.2', {
-        'checksums': ['c22283d60fd3e1a8f386ccd4f1915d7fe13481d6349db39711421e24d4a9cccf'],
+    ('bitstring', '4.3.1', {
+        'checksums': ['a08bc09d3857216d4c0f412a1611056f1cc2b64fd254fb1e8a0afba7cfa1a95a'],
     }),
     ('appdirs', '1.4.4', {
         'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'],
     }),
-    ('distlib', '0.3.7', {
-        'checksums': ['9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8'],
+    ('distlib', '0.3.9', {
+        'checksums': ['a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403'],
     }),
-    ('zipp', '3.17.0', {
-        'checksums': ['84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0'],
+    ('zipp', '3.21.0', {
+        'checksums': ['2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4'],
     }),
-    ('importlib_metadata', '6.8.0', {
-        'checksums': ['dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743'],
+    ('importlib-metadata', '8.7.0', {
+        'sources': ['importlib_metadata-%(version)s.tar.gz'],
+        'checksums': ['d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000'],
     }),
-    ('backports.entry-points-selectable', '1.2.0', {
+    ('backports.entry-points-selectable', '1.3.0', {
         'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'],
-        'checksums': ['4706f59179657ca7c1d325a543ee1370f8f46331f432bcac62fab242fdf0afa5'],
+        'checksums': ['17a8b44ae700fba548686dd274ddc91c060371565cd63806c20a1d33911746e6'],
     }),
-    ('pathspec', '0.11.2', {
-        'checksums': ['e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3'],
+    ('pathspec', '0.12.1', {
+        'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'],
     }),
-    ('pluggy', '1.3.0', {
-        'checksums': ['cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12'],
+    ('pluggy', '1.5.0', {
+        'checksums': ['2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1'],
     }),
     ('editables', '0.5', {
         'checksums': ['309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2'],
     }),
-    ('filelock', '3.13.0', {
-        'checksums': ['63c6052c82a1a24c873a549fbd39a26982e8f35a3016da231ead11a5be9dad44'],
+    ('filelock', '3.18.0', {
+        'checksums': ['adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2'],
     }),
-    ('platformdirs', '3.11.0', {
-        'checksums': ['cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3'],
+    ('platformdirs', '4.3.7', {
+        'checksums': ['eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351'],
     }),
     ('scandir', '1.10.0', {
         'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'],
@@ -164,41 +227,44 @@ exts_list = [
     ('pathlib2', '2.3.7.post1', {
         'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'],
     }),
-    ('importlib_resources', '6.1.0', {
-        'checksums': ['9d48dcccc213325e810fd723e7fbb45ccb39f6cf5c31f00cf2b965f5f10f3cb9'],
+    ('importlib-resources', '6.5.2', {
+        'sources': ['importlib_resources-%(version)s.tar.gz'],
+        'checksums': ['185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c'],
     }),
     ('docopt', '0.6.2', {
         'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'],
     }),
-    ('joblib', '1.3.2', {
-        'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'],
+    ('joblib', '1.4.2', {
+        'checksums': ['2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e'],
     }),
     ('chardet', '5.2.0', {
         'checksums': ['1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7'],
     }),
-    ('certifi', '2023.7.22', {
-        'checksums': ['539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082'],
+    ('certifi', '2025.4.26', {
+        'checksums': ['0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6'],
     }),
-    ('urllib3', '2.0.7', {
-        'checksums': ['c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84'],
+    ('urllib3', '2.4.0', {
+        'checksums': ['414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466'],
     }),
-    ('charset-normalizer', '3.3.1', {
-        'checksums': ['d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e'],
+    ('charset-normalizer', '3.4.1', {
+        'sources': ['charset_normalizer-%(version)s.tar.gz'],
+        'checksums': ['44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3'],
     }),
-    ('requests', '2.31.0', {
-        'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'],
+    ('requests', '2.32.3', {
+        'checksums': ['55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760'],
     }),
     ('xlrd', '2.0.1', {
         'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'],
     }),
-    ('py_expression_eval', '0.3.14', {
+    ('py-expression-eval', '0.3.14', {
+        'sources': ['py_expression_eval-%(version)s.tar.gz'],
         'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'],
     }),
     ('tabulate', '0.9.0', {
         'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'],
     }),
-    ('ujson', '5.8.0', {
-        'checksums': ['78e318def4ade898a461b3d92a79f9441e7e0e4d2ad5419abed4336d702c7425'],
+    ('ujson', '5.10.0', {
+        'checksums': ['b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1'],
     }),
     ('atomicwrites', '1.4.1', {
         'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'],
@@ -206,97 +272,119 @@ exts_list = [
     ('py', '1.11.0', {
         'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'],
     }),
-    ('more-itertools', '10.1.0', {
-        'checksums': ['626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a'],
+    ('more-itertools', '10.7.0', {
+        'sources': ['more_itertools-%(version)s.tar.gz'],
+        'checksums': ['9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3'],
     }),
-    ('attrs', '23.1.0', {
+    ('attrs', '25.3.0', {
         'modulename': 'attr',
-        'checksums': ['6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015'],
+        'checksums': ['75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b'],
     }),
-    ('backports.functools_lru_cache', '1.6.6', {
-        'checksums': ['7b70e701ba4db58c0ed8671a9d3391b0abb9bd1bc24d4e90c3480f4baafcc2dc'],
+    ('backports.functools-lru-cache', '2.0.0', {
+        'sources': ['backports.functools_lru_cache-%(version)s.tar.gz'],
+        'checksums': ['dcbfa5e0dae8a014168807c9e026d33eead71df5af76c1fb78fd248bf07f6f99'],
     }),
-    ('wcwidth', '0.2.8', {
-        'checksums': ['8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4'],
+    ('wcwidth', '0.2.13', {
+        'checksums': ['72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5'],
     }),
-    ('iniconfig', '2.0.0', {
-        'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'],
+    ('iniconfig', '2.1.0', {
+        'checksums': ['3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7'],
     }),
     ('colorama', '0.4.6', {
         'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'],
     }),
-    ('exceptiongroup', '1.1.3', {
-        'checksums': ['097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9'],
+    ('exceptiongroup', '1.2.2', {
+        'checksums': ['47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc'],
     }),
-    ('pytest', '7.4.3', {
-        'checksums': ['d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5'],
+    ('pytest', '8.3.5', {
+        'checksums': ['f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845'],
     }),
-    ('MarkupSafe', '2.1.3', {
-        'checksums': ['af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad'],
+    ('MarkupSafe', '3.0.2', {
+        'sources': ['markupsafe-%(version)s.tar.gz'],
+        'checksums': ['ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0'],
     }),
-    ('Jinja2', '3.1.2', {
-        'checksums': ['31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852'],
+    ('Jinja2', '3.1.6', {
+        'sources': ['jinja2-%(version)s.tar.gz'],
+        'checksums': ['0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d'],
     }),
-    ('sphinxcontrib_serializinghtml', '1.1.9', {
+    ('sphinxcontrib-serializinghtml', '2.0.0', {
         'modulename': 'sphinxcontrib.serializinghtml',
-        'checksums': ['0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54'],
+        'sources': ['sphinxcontrib_serializinghtml-%(version)s.tar.gz'],
+        'checksums': ['e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d'],
     }),
-    ('sphinxcontrib_websupport', '1.2.6', {
+    ('sphinxcontrib-websupport', '2.0.0', {
         'modulename': 'sphinxcontrib.websupport',
-        'checksums': ['d592be8e11261bbbc64668f258efc4fd42c93ab617411143b5245fe30c633d8c'],
+        'sources': ['sphinxcontrib_websupport-%(version)s.tar.gz'],
+        'checksums': ['0b7367d3bac6454b1f97e42aa8c4d4d4a1b756d525fc726ebbe5571e033e79cd'],
     }),
-    ('Pygments', '2.16.1', {
-        'checksums': ['1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29'],
+    ('Pygments', '2.19.1', {
+        'sources': ['pygments-%(version)s.tar.gz'],
+        'checksums': ['61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f'],
     }),
     ('imagesize', '1.4.1', {
         'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'],
     }),
-    ('docutils', '0.20.1', {
-        'checksums': ['f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b'],
+    ('docutils', '0.21.2', {
+        'checksums': ['3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f'],
     }),
     ('snowballstemmer', '2.2.0', {
         'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'],
     }),
-    ('alabaster', '0.7.13', {
-        'checksums': ['a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2'],
+    ('alabaster', '1.0.0', {
+        'checksums': ['c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e'],
     }),
-    ('sphinxcontrib_applehelp', '1.0.7', {
+    ('sphinxcontrib-applehelp', '2.0.0', {
         'modulename': 'sphinxcontrib.applehelp',
-        'checksums': ['39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa'],
+        'sources': ['sphinxcontrib_applehelp-%(version)s.tar.gz'],
+        'checksums': ['2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1'],
     }),
-    ('sphinxcontrib_devhelp', '1.0.5', {
+    ('sphinxcontrib-devhelp', '2.0.0', {
         'modulename': 'sphinxcontrib.devhelp',
-        'checksums': ['63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212'],
+        'sources': ['sphinxcontrib_devhelp-%(version)s.tar.gz'],
+        'checksums': ['411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad'],
     }),
-    ('sphinxcontrib_htmlhelp', '2.0.4', {
+    ('sphinxcontrib-htmlhelp', '2.1.0', {
         'modulename': 'sphinxcontrib.htmlhelp',
-        'checksums': ['6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a'],
+        'sources': ['sphinxcontrib_htmlhelp-%(version)s.tar.gz'],
+        'checksums': ['c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9'],
     }),
     ('sphinxcontrib-jsmath', '1.0.1', {
         'modulename': 'sphinxcontrib.jsmath',
         'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'],
     }),
-    ('sphinxcontrib_qthelp', '1.0.6', {
+    ('sphinxcontrib-qthelp', '2.0.0', {
         'modulename': 'sphinxcontrib.qthelp',
-        'checksums': ['62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d'],
+        'sources': ['sphinxcontrib_qthelp-%(version)s.tar.gz'],
+        'checksums': ['4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab'],
     }),
-    ('Babel', '2.13.1', {
-        'checksums': ['33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900'],
+    ('Babel', '2.17.0', {
+        'sources': ['babel-%(version)s.tar.gz'],
+        'checksums': ['0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d'],
     }),
-    ('sphinx', '7.2.6', {
-        'checksums': ['9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5'],
+    ('roman-numerals-py', '3.1.0', {
+        'modulename': 'roman_numerals',
+        'sources': ['roman_numerals_py-%(version)s.tar.gz'],
+        'checksums': ['be4bf804f083a4ce001b5eb7e3c0862479d10f94c936f6c4e5f250aa5ff5bd2d'],
+    }),
+    ('Sphinx', '8.2.3', {
+        'patches': ['sphinx-%(version)s_license_dict.patch'],
+        'sources': ['sphinx-%(version)s.tar.gz'],
+        'checksums': [
+            {'sphinx-8.2.3.tar.gz': '398ad29dee7f63a75888314e9424d40f52ce5a6a87ae88e7071e80af296ec348'},
+            {'sphinx-8.2.3_license_dict.patch': '639bdef574e47b3124be1d94253c1de923e20059e6bf079ea2ccacb9f4f7ba4d'},
+        ],
     }),
     ('sphinx-bootstrap-theme', '0.8.1', {
         'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'],
     }),
-    ('click', '8.1.7', {
-        'checksums': ['ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de'],
+    ('click', '8.1.8', {
+        'checksums': ['ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a'],
     }),
-    ('psutil', '5.9.6', {
-        'checksums': ['e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a'],
+    ('psutil', '7.0.0', {
+        'checksums': ['7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456'],
     }),
-    ('future', '0.18.3', {
-        'checksums': ['34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307'],
+    ('future', '1.0.0', {
+        'checksums': ['bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05'],
     }),
     ('sortedcontainers', '2.4.0', {
         'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'],
@@ -310,11 +398,12 @@ exts_list = [
     ('zipfile36', '0.1.3', {
         'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'],
     }),
-    ('tomli_w', '1.0.0', {
-        'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'],
+    ('tomli-w', '1.2.0', {
+        'sources': ['tomli_w-%(version)s.tar.gz'],
+        'checksums': ['2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021'],
     }),
-    ('regex', '2023.10.3', {
-        'checksums': ['3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f'],
+    ('regex', '2024.11.6', {
+        'checksums': ['7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519'],
     }),
     ('intreehooks', '1.0', {
         'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'],
@@ -323,41 +412,43 @@ exts_list = [
         'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'],
     }),
     ('pastel', '0.2.1', {
-        'source_tmpl': SOURCE_WHL,
+        'sources': ['%(name)s-%(version)s-py2.py3-none-any.whl'],
         'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'],
     }),
     ('crashtest', '0.4.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
         'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'],
     }),
-    # clikit 0.6.2 has requirement crashtest<0.4.0,>=0.3.0
-    # but poetry 1.5.1 has requirement crashtest>=0.4.1
-    # and cleo 2.0.1 has requirement crashtest>=0.4.1
-    # ('clikit', '0.6.2', {
-    #     'source_tmpl': SOURCE_WHL,
-    #     'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'],
-    # }),
-    ('jeepney', '0.8.0', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'],
+    ('jeepney', '0.9.0', {
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
+        'checksums': ['97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683'],
     }),
     ('SecretStorage', '3.3.3', {
         'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'],
     }),
-    ('keyring', '24.2.0', {
+    ('keyring', '25.6.0', {
         'modulename': False,
-        'checksums': ['ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509'],
+        'checksums': ['0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66'],
+    }),
+    ('jaraco.functools', '4.1.0', {
+        'sources': ['jaraco_functools-%(version)s.tar.gz'],
+        'checksums': ['70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d'],
+    }),
+    ('jaraco.classes', '3.4.0', {
+        'checksums': ['47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd'],
     }),
-    ('jaraco.classes', '3.3.0', {
-        'checksums': ['c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621'],
+    ('jaraco.context', '6.0.1', {
+        'sources': ['jaraco_context-%(version)s.tar.gz'],
+        'checksums': ['9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3'],
     }),
-    ('keyrings.alt', '5.0.0', {
+    ('keyrings.alt', '5.0.2', {
         'modulename': False,
-        'checksums': ['9d446cb47bbcea90ffa2ecc3e8003acf41573fc201bf44b4bf13bd0e11484828'],
+        'sources': ['keyrings_alt-%(version)s.tar.gz'],
+        'checksums': ['8f097ebe9dc8b185106502b8cdb066c926d2180e13b4689fd4771a3eab7d69fb'],
     }),
-    ('tomlkit', '0.12.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899'],
+    ('tomlkit', '0.13.2', {
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
+        'checksums': ['7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde'],
     }),
     ('shellingham', '1.5.4', {
         'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'],
@@ -368,21 +459,33 @@ exts_list = [
     ('pyrsistent', '0.20.0', {
         'checksums': ['4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4'],
     }),
-    ('pkginfo', '1.9.6', {
-        'checksums': ['8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046'],
+    ('pkginfo', '1.12.1.2', {
+        'checksums': ['5cd957824ac36f140260964eba3c6be6442a8359b8c48f4adf90210f33a04b7b'],
     }),
     ('ptyprocess', '0.7.0', {
-        'source_tmpl': SOURCE_WHL,
+        'sources': ['%(name)s-%(version)s-py2.py3-none-any.whl'],
         'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'],
     }),
-    ('pexpect', '4.8.0', {
-        'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'],
+    ('pexpect', '4.9.0', {
+        'checksums': ['ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f'],
     }),
-    ('jsonschema', '4.17.3', {
-        'checksums': ['0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d'],
+    ('jsonschema-specifications', '2025.4.1', {
+        'sources': ['jsonschema_specifications-%(version)s.tar.gz'],
+        'checksums': ['630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608'],
     }),
-    ('simplejson', '3.19.2', {
-        'checksums': ['9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c'],
+    ('referencing', '0.36.2', {
+        'checksums': ['df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa'],
+    }),
+    ('rpds-py', '0.24.0', {
+        'modulename': 'rpds',
+        'sources': ['rpds_py-%(version)s.tar.gz'],
+        'checksums': ['772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e'],
+    }),
+    ('jsonschema', '4.23.0', {
+        'checksums': ['d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4'],
+    }),
+    ('simplejson', '3.20.1', {
+        'checksums': ['e64139b4ec4f1f24c142ff7dcafe55a22b811a74d86d66560c8815687143037d'],
     }),
     ('webencodings', '0.5.1', {
         'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'],
@@ -390,24 +493,25 @@ exts_list = [
     ('html5lib', '1.1', {
         'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'],
     }),
-    ('distro', '1.8.0', {
-        'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'],
+    ('distro', '1.9.0', {
+        'checksums': ['2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed'],
     }),
-    ('rapidfuzz', '2.15.2', {
-        'checksums': ['bfc1d38a7adcbe8912f980a5f46f27a801dd8655582ff0d4a2c0431c02b7ce33'],
+    ('rapidfuzz', '3.13.0', {
+        'checksums': ['d2eaf3839e52cbcc0accbe9817a67b4b0fcf70aaeb229cfddc1c28061f9ce5d8'],
     }),
-    ('cleo', '2.0.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['6eb133670a3ed1f3b052d53789017b6e50fca66d1287e6e6696285f4cb8ea448'],
+    ('cleo', '2.1.0', {
+        'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
+        'checksums': ['4a31bd4dd45695a64ee3c4758f583f134267c2bc518d8ae9a29cf237d009b07e'],
     }),
     ('cachy', '0.3.0', {
         'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'],
     }),
-    ('msgpack', '1.0.7', {
-        'checksums': ['572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87'],
+    ('msgpack', '1.1.0', {
+        'checksums': ['dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e'],
     }),
-    ('cachecontrol', '0.13.1', {
-        'checksums': ['f012366b79d2243a6118309ce73151bf52a38d4a5dac8ea57f09bd29087e506b'],
+    ('CacheControl', '0.14.2', {
+        'sources': ['cachecontrol-%(version)s.tar.gz'],
+        'checksums': ['7d47d19f866409b98ff6025b6a0fca8e4c791fb31abbd95f622093894ce903a2'],
     }),
     ('lockfile', '0.12.2', {
         'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'],
@@ -415,34 +519,31 @@ exts_list = [
     ('glob2', '0.7', {
         'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'],
     }),
-    ('dulwich', '0.21.6', {
-        'checksums': ['30fbe87e8b51f3813c131e2841c86d007434d160bd16db586b40d47f31dd05b0'],
+    ('dulwich', '0.22.8', {
+        'checksums': ['701547310415de300269331abe29cb5717aa1ea377af826bf513d0adfb1c209b'],
     }),
-    ('fsspec', '2023.10.0', {
-        'checksums': ['330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5'],
+    ('fsspec', '2025.3.2', {
+        'checksums': ['e52c77ef398680bbd6a98c0e628fbc469491282981209907bbc8aea76a04fdc6'],
     }),
-    ('threadpoolctl', '3.2.0', {
-        'checksums': ['c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355'],
+    ('threadpoolctl', '3.6.0', {
+        'checksums': ['8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e'],
     }),
     ('simplegeneric', '0.8.1', {
         'source_tmpl': 'simplegeneric-%(version)s.zip',
         'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'],
     }),
-    ('pooch', '1.8.0', {
-        'checksums': ['f59981fd5b9b5d032dcde8f4a11eaa492c2ac6343fae3596a2fdae35fc54b0a0'],
+    ('pooch', '1.8.2', {
+        'checksums': ['76561f0de68a01da4df6af38e9955c4c9d1a5c90da73f7e40276a5728ec83d10'],
     }),
     ('doit', '0.36.0', {
         'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'],
     }),
-    ('cloudpickle', '3.0.0', {
-        'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'],
+    ('cloudpickle', '3.1.1', {
+        'checksums': ['b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64'],
     }),
     ('pydevtool', '0.3.0', {
         'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'],
     }),
-    ('Pygments', '2.16.1', {
-        'checksums': ['1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29'],
-    }),
     ('mdurl', '0.1.2', {
         'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'],
     }),
@@ -450,21 +551,23 @@ exts_list = [
         'modulename': 'markdown_it',
         'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'],
     }),
-    ('rich', '13.6.0', {
-        'checksums': ['5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef'],
+    ('rich', '14.0.0', {
+        'checksums': ['82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725'],
     }),
-    ('rich-click', '1.7.0', {
-        'checksums': ['ab34e5d9f7733c4e6072f4de79eb3b35ac9ae78e692ea8a543f3b2828b30fee4'],
+    ('rich-click', '1.8.8', {
+        'sources': ['rich_click-%(version)s.tar.gz'],
+        'checksums': ['547c618dea916620af05d4a6456da797fbde904c97901f44d2f32f89d85d6c84'],
     }),
     ('commonmark', '0.9.1', {
         'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'],
     }),
-    ('execnet', '2.0.2', {
-        'checksums': ['cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af'],
+    ('execnet', '2.1.1', {
+        'checksums': ['5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3'],
     }),
-    ('pytest-xdist', '3.3.1', {
+    ('pytest-xdist', '3.6.1', {
         'modulename': 'xdist',
-        'checksums': ['d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93'],
+        'sources': ['pytest_xdist-%(version)s.tar.gz'],
+        'checksums': ['ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d'],
     }),
 ]
 
Diff against Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb

easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb
index 58d10663ca..85c92b6291 100644
--- a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb
@@ -1,85 +1,146 @@
-easyblock = 'PythonBundle'
+easyblock = 'CargoPythonBundle'
 
 name = 'Python-bundle-PyPI'
-version = '2023.06'
+version = '2025.04'
 
 homepage = 'https://python.org/'
 description = "Bundle of Python packages from PyPI"
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
 toolchainopts = {'pic': True}
 
 builddependencies = [
-    ('binutils', '2.40'),
+    ('binutils', '2.42'),
     ('UnZip', '6.0'),
-    ('pkgconf', '1.9.5'),
-    ('git', '2.41.0', '-nodocs'),  # required for pbr
-    ('hatchling', '1.18.0'),
-    ('poetry', '1.5.1'),
-    ('scikit-build', '0.17.6'),
-    ('flit', '3.9.0'),
+    ('pkgconf', '2.3.0'),
+    ('git', '2.49.0'),  # required for pbr
+    ('hatchling', '1.27.0'),
+    ('poetry', '2.1.2'),
+    ('scikit-build-core', '0.11.1'),  # required for rapidfuzz
+    ('flit', '3.10.1'),
+    ('Rust', '1.85.1'),
+    ('setuptools-rust', '1.11.0'),  # required for dulwich
+    ('maturin', '1.8.3'),  # required for rpds-py
 ]
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('cryptography', '41.0.1'),
-    ('virtualenv', '20.23.1'),
+    ('Python', '3.13.1'),
+    ('cryptography', '44.0.2'),
+    ('virtualenv', '20.29.2'),
+]
+
+crates = [
+    ('archery', '1.2.1'),
+    ('autocfg', '1.4.0'),
+    ('autocfg', '1.3.0'),
+    ('cc', '1.0.90'),
+    ('cfg-if', '1.0.0'),
+    ('heck', '0.5.0'),
+    ('indoc', '2.0.5'),
+    ('libc', '0.2.170'),
+    ('libc', '0.2.155'),
+    ('memchr', '2.7.4'),
+    ('memoffset', '0.9.1'),
+    ('once_cell', '1.20.3'),
+    ('once_cell', '1.19.0'),
+    ('portable-atomic', '1.11.0'),
+    ('portable-atomic', '1.6.0'),
+    ('proc-macro2', '1.0.93'),
+    ('proc-macro2', '1.0.86'),
+    ('pyo3', '0.24.0'),
+    ('pyo3', '0.23.5'),
+    ('pyo3-build-config', '0.24.0'),
+    ('pyo3-build-config', '0.23.5'),
+    ('pyo3-ffi', '0.24.0'),
+    ('pyo3-ffi', '0.23.5'),
+    ('pyo3-macros', '0.24.0'),
+    ('pyo3-macros', '0.23.5'),
+    ('pyo3-macros-backend', '0.24.0'),
+    ('pyo3-macros-backend', '0.23.5'),
+    ('python3-dll-a', '0.2.12'),
+    ('quote', '1.0.38'),
+    ('quote', '1.0.36'),
+    ('rpds', '1.1.0'),
+    ('syn', '2.0.98'),
+    ('syn', '2.0.69'),
+    ('target-lexicon', '0.13.2'),
+    ('target-lexicon', '0.12.16'),
+    ('triomphe', '0.1.13'),
+    ('unicode-ident', '1.0.17'),
+    ('unicode-ident', '1.0.12'),
+    ('unindent', '0.2.3'),
+]
+checksums = [
+    {'archery-1.2.1.tar.gz': 'eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869'},
+    {'autocfg-1.4.0.tar.gz': 'ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26'},
+    {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'},
+    {'cc-1.0.90.tar.gz': '8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5'},
+    {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'},
+    {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'},
+    {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'},
+    {'libc-0.2.170.tar.gz': '875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828'},
+    {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'},
+    {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'},
+    {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'},
+    {'once_cell-1.20.3.tar.gz': '945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e'},
+    {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'},
+    {'portable-atomic-1.11.0.tar.gz': '350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e'},
+    {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'},
+    {'proc-macro2-1.0.93.tar.gz': '60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99'},
+    {'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'},
+    {'pyo3-0.24.0.tar.gz': '7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86'},
+    {'pyo3-0.23.5.tar.gz': '7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872'},
+    {'pyo3-build-config-0.24.0.tar.gz': 'e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a'},
+    {'pyo3-build-config-0.23.5.tar.gz': '94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb'},
+    {'pyo3-ffi-0.24.0.tar.gz': '5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c'},
+    {'pyo3-ffi-0.23.5.tar.gz': 'e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d'},
+    {'pyo3-macros-0.24.0.tar.gz': 'b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42'},
+    {'pyo3-macros-0.23.5.tar.gz': 'fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da'},
+    {'pyo3-macros-backend-0.24.0.tar.gz': 'fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e'},
+    {'pyo3-macros-backend-0.23.5.tar.gz': 'fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028'},
+    {'python3-dll-a-0.2.12.tar.gz': '9b66f9171950e674e64bad3456e11bb3cca108e5c34844383cfe277f45c8a7a8'},
+    {'quote-1.0.38.tar.gz': '0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc'},
+    {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'},
+    {'rpds-1.1.0.tar.gz': 'a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4'},
+    {'syn-2.0.98.tar.gz': '36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1'},
+    {'syn-2.0.69.tar.gz': '201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6'},
+    {'target-lexicon-0.13.2.tar.gz': 'e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a'},
+    {'target-lexicon-0.12.16.tar.gz': '61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1'},
+    {'triomphe-0.1.13.tar.gz': 'e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369'},
+    {'unicode-ident-1.0.17.tar.gz': '00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe'},
+    {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'},
+    {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'},
 ]
 
 # order is important!
-# package versions updated 2023-06-26
+# package versions updated 2025-04-30
 exts_list = [
-    ('blist', '1.3.6', {
-        'patches': [
-            'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch',
-            'Python-3.10-bist-1.3.6-compatibility.patch',
-            'Python-3.11-bist-1.3.6-compatibility.patch',
-        ],
-        'checksums': [
-            {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'},
-            {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch':
-             '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'},
-            {'Python-3.10-bist-1.3.6-compatibility.patch':
-             '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'},
-            {'Python-3.11-bist-1.3.6-compatibility.patch':
-             'da283300bc5f0524b9982c9d9de4670908711634667849d3d81ccd87fc82c4ee'},
-        ],
-    }),
-    ('pbr', '5.11.1', {
-        'checksums': ['aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3'],
-    }),
-    ('Cython', '0.29.35', {
-        'checksums': ['6e381fa0bf08b3c26ec2f616b19ae852c06f5750f4290118bf986b6f85c8c527'],
+    ('pbr', '6.1.1', {
+        'checksums': ['93ea72ce6989eb2eed99d0f75721474f69ad88128afdef5ac377eb797c4bf76b'],
     }),
-    ('six', '1.16.0', {
-        'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'],
+    ('six', '1.17.0', {
+        'checksums': ['ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81'],
     }),
     ('toml', '0.10.2', {
         'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'],
     }),
-    ('tomli', '2.0.1', {
-        'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'],
-    }),
-    ('packaging', '23.1', {
-        'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'],
-    }),
-    ('python-dateutil', '2.8.2', {
+    ('python-dateutil', '2.9.0.post0', {
         'modulename': 'dateutil',
-        'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'],
+        'checksums': ['37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3'],
     }),
-    ('decorator', '5.1.1', {
-        'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'],
+    ('decorator', '5.2.1', {
+        'checksums': ['65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360'],
     }),
     ('liac-arff', '2.5.0', {
         'modulename': 'arff',
         'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'],
     }),
-    ('pycryptodome', '3.18.0', {
+    ('pycryptodome', '3.22.0', {
         'modulename': 'Crypto.PublicKey.RSA',
-        'checksums': ['c9adee653fc882d98956e33ca2c1fb582e23a8af7ac82fee75bd6113c55a0413'],
+        'checksums': ['fd7ab568b3ad7b77c908d7c3f7e167ec5a8f035c64ff74f10d47a4edd043d723'],
     }),
-    ('ecdsa', '0.18.0', {
-        'checksums': ['190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49'],
+    ('ecdsa', '0.19.1', {
+        'checksums': ['478cba7b62555866fcb3bb3fe985e06decbdb68ef55713c4e5ab98c57d508e61'],
     }),
     ('ipaddress', '1.0.23', {
         'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'],
@@ -87,73 +148,78 @@ exts_list = [
     ('asn1crypto', '1.5.1', {
         'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'],
     }),
-    ('idna', '3.4', {
-        'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'],
+    ('idna', '3.10', {
+        'checksums': ['12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9'],
     }),
-    ('pycparser', '2.21', {
-        'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'],
+    ('pycparser', '2.22', {
+        'checksums': ['491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6'],
     }),
-    ('cffi', '1.15.1', {
-        'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'],
+    ('cffi', '1.17.1', {
+        'checksums': ['1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824'],
     }),
-    ('semantic_version', '2.10.0', {
+    ('semantic-version', '2.10.0', {
+        'sources': ['semantic_version-%(version)s.tar.gz'],
         'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'],
     }),
-    ('pyasn1', '0.5.0', {
-        'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'],
+    ('pyasn1', '0.6.1', {
+        'checksums': ['6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034'],
     }),
     ('PyNaCl', '1.5.0', {
         'modulename': 'nacl',
         'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'],
     }),
-    ('pyparsing', '3.1.0', {
-        'checksums': ['edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea'],
+    ('pyparsing', '3.2.3', {
+        'checksums': ['b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be'],
     }),
     ('netifaces', '0.11.0', {
         'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'],
     }),
-    ('netaddr', '0.8.0', {
-        'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'],
+    ('netaddr', '1.3.0', {
+        'checksums': ['5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a'],
     }),
-    ('mock', '5.0.2', {
-        'checksums': ['06f18d7d65b44428202b145a9a36e99c2ee00d1eb992df0caf881d4664377891'],
+    ('mock', '5.2.0', {
+        'checksums': ['4e460e818629b4b173f32d08bf30d3af8123afbb8e04bb5707a1fd4799e503f0'],
     }),
-    ('pytz', '2023.3', {
-        'checksums': ['1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588'],
+    ('pytz', '2025.2', {
+        'checksums': ['360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3'],
     }),
-    ('bitstring', '4.0.2', {
-        'checksums': ['a391db8828ac4485dd5ce72c80b27ebac3e7b989631359959e310cd9729723b2'],
+    ('bitarray', '3.3.1', {
+        'checksums': ['8c89219a672d0a15ab70f8a6f41bc8355296ec26becef89a127c1a32bb2e6345'],
+    }),
+    ('bitstring', '4.3.1', {
+        'checksums': ['a08bc09d3857216d4c0f412a1611056f1cc2b64fd254fb1e8a0afba7cfa1a95a'],
     }),
     ('appdirs', '1.4.4', {
         'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'],
     }),
-    ('distlib', '0.3.6', {
-        'checksums': ['14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46'],
+    ('distlib', '0.3.9', {
+        'checksums': ['a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403'],
     }),
-    ('zipp', '3.15.0', {
-        'checksums': ['112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b'],
+    ('zipp', '3.21.0', {
+        'checksums': ['2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4'],
     }),
-    ('importlib_metadata', '6.7.0', {
-        'checksums': ['1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4'],
+    ('importlib-metadata', '8.7.0', {
+        'sources': ['importlib_metadata-%(version)s.tar.gz'],
+        'checksums': ['d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000'],
     }),
-    ('backports.entry-points-selectable', '1.2.0', {
+    ('backports.entry-points-selectable', '1.3.0', {
         'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'],
-        'checksums': ['4706f59179657ca7c1d325a543ee1370f8f46331f432bcac62fab242fdf0afa5'],
+        'checksums': ['17a8b44ae700fba548686dd274ddc91c060371565cd63806c20a1d33911746e6'],
     }),
-    ('pathspec', '0.11.1', {
-        'checksums': ['2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687'],
+    ('pathspec', '0.12.1', {
+        'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'],
     }),
-    ('pluggy', '1.2.0', {
-        'checksums': ['d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3'],
+    ('pluggy', '1.5.0', {
+        'checksums': ['2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1'],
     }),
-    ('editables', '0.3', {
-        'checksums': ['167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a'],
+    ('editables', '0.5', {
+        'checksums': ['309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2'],
     }),
-    ('filelock', '3.12.2', {
-        'checksums': ['002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81'],
+    ('filelock', '3.18.0', {
+        'checksums': ['adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2'],
     }),
-    ('platformdirs', '3.8.0', {
-        'checksums': ['b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc'],
+    ('platformdirs', '4.3.7', {
+        'checksums': ['eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351'],
     }),
     ('scandir', '1.10.0', {
         'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'],
@@ -161,42 +227,44 @@ exts_list = [
     ('pathlib2', '2.3.7.post1', {
         'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'],
     }),
-    ('importlib_resources', '5.12.0', {
-        'checksums': ['4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6'],
+    ('importlib-resources', '6.5.2', {
+        'sources': ['importlib_resources-%(version)s.tar.gz'],
+        'checksums': ['185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c'],
     }),
     ('docopt', '0.6.2', {
         'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'],
     }),
-    ('joblib', '1.2.0', {
-        'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'],
+    ('joblib', '1.4.2', {
+        'checksums': ['2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e'],
     }),
-    ('chardet', '5.1.0', {
-        'checksums': ['0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5'],
+    ('chardet', '5.2.0', {
+        'checksums': ['1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7'],
     }),
-    ('certifi', '2023.5.7', {
-        'checksums': ['0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7'],
+    ('certifi', '2025.4.26', {
+        'checksums': ['0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6'],
     }),
-    # poetry 1.5.1 has requirement urllib3<2.0.0,>=1.26.0
-    ('urllib3', '1.26.16', {
-        'checksums': ['8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14'],
+    ('urllib3', '2.4.0', {
+        'checksums': ['414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466'],
     }),
-    ('charset-normalizer', '3.1.0', {
-        'checksums': ['34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5'],
+    ('charset-normalizer', '3.4.1', {
+        'sources': ['charset_normalizer-%(version)s.tar.gz'],
+        'checksums': ['44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3'],
     }),
-    ('requests', '2.31.0', {
-        'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'],
+    ('requests', '2.32.3', {
+        'checksums': ['55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760'],
     }),
     ('xlrd', '2.0.1', {
         'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'],
     }),
-    ('py_expression_eval', '0.3.14', {
+    ('py-expression-eval', '0.3.14', {
+        'sources': ['py_expression_eval-%(version)s.tar.gz'],
         'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'],
     }),
     ('tabulate', '0.9.0', {
         'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'],
     }),
-    ('ujson', '5.8.0', {
-        'checksums': ['78e318def4ade898a461b3d92a79f9441e7e0e4d2ad5419abed4336d702c7425'],
+    ('ujson', '5.10.0', {
+        'checksums': ['b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1'],
     }),
     ('atomicwrites', '1.4.1', {
         'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'],
@@ -204,97 +272,119 @@ exts_list = [
     ('py', '1.11.0', {
         'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'],
     }),
-    ('more-itertools', '9.1.0', {
-        'checksums': ['cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d'],
+    ('more-itertools', '10.7.0', {
+        'sources': ['more_itertools-%(version)s.tar.gz'],
+        'checksums': ['9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3'],
     }),
-    ('attrs', '23.1.0', {
+    ('attrs', '25.3.0', {
         'modulename': 'attr',
-        'checksums': ['6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015'],
+        'checksums': ['75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b'],
     }),
-    ('backports.functools_lru_cache', '1.6.5', {
-        'checksums': ['e7efcdd8cf92279bcb09fdb9b31e984ffdc96fc9f21e22ff20538884cb99b97d'],
+    ('backports.functools-lru-cache', '2.0.0', {
+        'sources': ['backports.functools_lru_cache-%(version)s.tar.gz'],
+        'checksums': ['dcbfa5e0dae8a014168807c9e026d33eead71df5af76c1fb78fd248bf07f6f99'],
     }),
-    ('wcwidth', '0.2.6', {
-        'checksums': ['a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0'],
+    ('wcwidth', '0.2.13', {
+        'checksums': ['72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5'],
     }),
-    ('iniconfig', '2.0.0', {
-        'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'],
+    ('iniconfig', '2.1.0', {
+        'checksums': ['3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7'],
     }),
     ('colorama', '0.4.6', {
         'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'],
     }),
-    ('exceptiongroup', '1.1.1', {
-        'checksums': ['d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785'],
+    ('exceptiongroup', '1.2.2', {
+        'checksums': ['47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc'],
     }),
-    ('pytest', '7.4.0', {
-        'checksums': ['b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a'],
+    ('pytest', '8.3.5', {
+        'checksums': ['f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845'],
     }),
-    ('MarkupSafe', '2.1.3', {
-        'checksums': ['af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad'],
+    ('MarkupSafe', '3.0.2', {
+        'sources': ['markupsafe-%(version)s.tar.gz'],
+        'checksums': ['ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0'],
     }),
-    ('Jinja2', '3.1.2', {
-        'checksums': ['31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852'],
+    ('Jinja2', '3.1.6', {
+        'sources': ['jinja2-%(version)s.tar.gz'],
+        'checksums': ['0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d'],
     }),
-    ('sphinxcontrib-serializinghtml', '1.1.5', {
+    ('sphinxcontrib-serializinghtml', '2.0.0', {
         'modulename': 'sphinxcontrib.serializinghtml',
-        'checksums': ['aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952'],
+        'sources': ['sphinxcontrib_serializinghtml-%(version)s.tar.gz'],
+        'checksums': ['e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d'],
     }),
-    ('sphinxcontrib-websupport', '1.2.4', {
+    ('sphinxcontrib-websupport', '2.0.0', {
         'modulename': 'sphinxcontrib.websupport',
-        'checksums': ['4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232'],
+        'sources': ['sphinxcontrib_websupport-%(version)s.tar.gz'],
+        'checksums': ['0b7367d3bac6454b1f97e42aa8c4d4d4a1b756d525fc726ebbe5571e033e79cd'],
     }),
-    ('Pygments', '2.15.1', {
-        'checksums': ['8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c'],
+    ('Pygments', '2.19.1', {
+        'sources': ['pygments-%(version)s.tar.gz'],
+        'checksums': ['61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f'],
     }),
     ('imagesize', '1.4.1', {
         'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'],
     }),
-    ('docutils', '0.20.1', {
-        'checksums': ['f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b'],
+    ('docutils', '0.21.2', {
+        'checksums': ['3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f'],
     }),
     ('snowballstemmer', '2.2.0', {
         'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'],
     }),
-    ('alabaster', '0.7.13', {
-        'checksums': ['a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2'],
+    ('alabaster', '1.0.0', {
+        'checksums': ['c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e'],
     }),
-    ('sphinxcontrib-applehelp', '1.0.4', {
+    ('sphinxcontrib-applehelp', '2.0.0', {
         'modulename': 'sphinxcontrib.applehelp',
-        'checksums': ['828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e'],
+        'sources': ['sphinxcontrib_applehelp-%(version)s.tar.gz'],
+        'checksums': ['2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1'],
     }),
-    ('sphinxcontrib-devhelp', '1.0.2', {
+    ('sphinxcontrib-devhelp', '2.0.0', {
         'modulename': 'sphinxcontrib.devhelp',
-        'checksums': ['ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4'],
+        'sources': ['sphinxcontrib_devhelp-%(version)s.tar.gz'],
+        'checksums': ['411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad'],
     }),
-    ('sphinxcontrib-htmlhelp', '2.0.1', {
+    ('sphinxcontrib-htmlhelp', '2.1.0', {
         'modulename': 'sphinxcontrib.htmlhelp',
-        'checksums': ['0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff'],
+        'sources': ['sphinxcontrib_htmlhelp-%(version)s.tar.gz'],
+        'checksums': ['c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9'],
     }),
     ('sphinxcontrib-jsmath', '1.0.1', {
         'modulename': 'sphinxcontrib.jsmath',
         'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'],
     }),
-    ('sphinxcontrib-qthelp', '1.0.3', {
+    ('sphinxcontrib-qthelp', '2.0.0', {
         'modulename': 'sphinxcontrib.qthelp',
-        'checksums': ['4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72'],
+        'sources': ['sphinxcontrib_qthelp-%(version)s.tar.gz'],
+        'checksums': ['4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab'],
     }),
-    ('Babel', '2.12.1', {
-        'checksums': ['cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455'],
+    ('Babel', '2.17.0', {
+        'sources': ['babel-%(version)s.tar.gz'],
+        'checksums': ['0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d'],
     }),
-    ('Sphinx', '7.0.1', {
-        'checksums': ['61e025f788c5977d9412587e733733a289e2b9fdc2fef8868ddfbfc4ccfe881d'],
+    ('roman-numerals-py', '3.1.0', {
+        'modulename': 'roman_numerals',
+        'sources': ['roman_numerals_py-%(version)s.tar.gz'],
+        'checksums': ['be4bf804f083a4ce001b5eb7e3c0862479d10f94c936f6c4e5f250aa5ff5bd2d'],
+    }),
+    ('Sphinx', '8.2.3', {
+        'patches': ['sphinx-%(version)s_license_dict.patch'],
+        'sources': ['sphinx-%(version)s.tar.gz'],
+        'checksums': [
+            {'sphinx-8.2.3.tar.gz': '398ad29dee7f63a75888314e9424d40f52ce5a6a87ae88e7071e80af296ec348'},
+            {'sphinx-8.2.3_license_dict.patch': '639bdef574e47b3124be1d94253c1de923e20059e6bf079ea2ccacb9f4f7ba4d'},
+        ],
     }),
     ('sphinx-bootstrap-theme', '0.8.1', {
         'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'],
     }),
-    ('click', '8.1.3', {
-        'checksums': ['7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e'],
+    ('click', '8.1.8', {
+        'checksums': ['ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a'],
     }),
-    ('psutil', '5.9.5', {
-        'checksums': ['5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c'],
+    ('psutil', '7.0.0', {
+        'checksums': ['7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456'],
     }),
-    ('future', '0.18.3', {
-        'checksums': ['34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307'],
+    ('future', '1.0.0', {
+        'checksums': ['bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05'],
     }),
     ('sortedcontainers', '2.4.0', {
         'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'],
@@ -308,11 +398,12 @@ exts_list = [
     ('zipfile36', '0.1.3', {
         'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'],
     }),
-    ('tomli_w', '1.0.0', {
-        'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'],
+    ('tomli-w', '1.2.0', {
+        'sources': ['tomli_w-%(version)s.tar.gz'],
+        'checksums': ['2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021'],
     }),
-    ('regex', '2023.6.3', {
-        'checksums': ['72d1a25bf36d2050ceb35b517afe13864865268dfb45910e2e17a84be6cbfeb0'],
+    ('regex', '2024.11.6', {
+        'checksums': ['7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519'],
     }),
     ('intreehooks', '1.0', {
         'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'],
@@ -321,67 +412,80 @@ exts_list = [
         'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'],
     }),
     ('pastel', '0.2.1', {
-        'source_tmpl': SOURCE_WHL,
+        'sources': ['%(name)s-%(version)s-py2.py3-none-any.whl'],
         'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'],
     }),
     ('crashtest', '0.4.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
         'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'],
     }),
-    # clikit 0.6.2 has requirement crashtest<0.4.0,>=0.3.0
-    # but poetry 1.5.1 has requirement crashtest>=0.4.1
-    # and cleo 2.0.1 has requirement crashtest>=0.4.1
-    # ('clikit', '0.6.2', {
-    #     'source_tmpl': SOURCE_WHL,
-    #     'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'],
-    # }),
-    ('jeepney', '0.8.0', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'],
+    ('jeepney', '0.9.0', {
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
+        'checksums': ['97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683'],
     }),
     ('SecretStorage', '3.3.3', {
         'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'],
     }),
-    # poetry 1.5.1 has requirement keyring<24.0.0,>=23.9.0
-    ('keyring', '23.13.1', {
+    ('keyring', '25.6.0', {
         'modulename': False,
-        'checksums': ['ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678'],
+        'checksums': ['0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66'],
+    }),
+    ('jaraco.functools', '4.1.0', {
+        'sources': ['jaraco_functools-%(version)s.tar.gz'],
+        'checksums': ['70f7e0e2ae076498e212562325e805204fc092d7b4c17e0e86c959e249701a9d'],
     }),
-    ('jaraco.classes', '3.2.3', {
-        'checksums': ['89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a'],
+    ('jaraco.classes', '3.4.0', {
+        'checksums': ['47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd'],
     }),
-    ('keyrings.alt', '4.2.0', {
+    ('jaraco.context', '6.0.1', {
+        'sources': ['jaraco_context-%(version)s.tar.gz'],
+        'checksums': ['9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3'],
+    }),
+    ('keyrings.alt', '5.0.2', {
         'modulename': False,
-        'checksums': ['2ba3d56441ba0637f5f9c096068f67010ac0453f9d0b626de2aa3019353b6431'],
+        'sources': ['keyrings_alt-%(version)s.tar.gz'],
+        'checksums': ['8f097ebe9dc8b185106502b8cdb066c926d2180e13b4689fd4771a3eab7d69fb'],
     }),
-    ('tomlkit', '0.11.8', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171'],
+    ('tomlkit', '0.13.2', {
+        'sources': ['%(name)s-%(version)s-py3-none-any.whl'],
+        'checksums': ['7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde'],
     }),
-    ('shellingham', '1.5.0.post1', {
-        'checksums': ['823bc5fb5c34d60f285b624e7264f4dda254bc803a3774a147bf99c0e3004a28'],
+    ('shellingham', '1.5.4', {
+        'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'],
     }),
     ('requests-toolbelt', '1.0.0', {
         'checksums': ['7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6'],
     }),
-    ('pyrsistent', '0.19.3', {
-        'checksums': ['1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440'],
+    ('pyrsistent', '0.20.0', {
+        'checksums': ['4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4'],
     }),
-    ('pkginfo', '1.9.6', {
-        'checksums': ['8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046'],
+    ('pkginfo', '1.12.1.2', {
+        'checksums': ['5cd957824ac36f140260964eba3c6be6442a8359b8c48f4adf90210f33a04b7b'],
     }),
     ('ptyprocess', '0.7.0', {
-        'source_tmpl': SOURCE_WHL,
+        'sources': ['%(name)s-%(version)s-py2.py3-none-any.whl'],
         'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'],
     }),
-    ('pexpect', '4.8.0', {
-        'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'],
+    ('pexpect', '4.9.0', {
+        'checksums': ['ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f'],
+    }),
+    ('jsonschema-specifications', '2025.4.1', {
+        'sources': ['jsonschema_specifications-%(version)s.tar.gz'],
+        'checksums': ['630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608'],
+    }),
+    ('referencing', '0.36.2', {
+        'checksums': ['df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa'],
     }),
-    ('jsonschema', '4.17.3', {
-        'checksums': ['0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d'],
+    ('rpds-py', '0.24.0', {
+        'modulename': 'rpds',
+        'sources': ['rpds_py-%(version)s.tar.gz'],
+        'checksums': ['772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e'],
     }),
-    ('simplejson', '3.19.1', {
-        'checksums': ['6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c'],
+    ('jsonschema', '4.23.0', {
+        'checksums': ['d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4'],
+    }),
+    ('simplejson', '3.20.1', {
+        'checksums': ['e64139b4ec4f1f24c142ff7dcafe55a22b811a74d86d66560c8815687143037d'],
     }),
     ('webencodings', '0.5.1', {
         'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'],
@@ -389,24 +493,25 @@ exts_list = [
     ('html5lib', '1.1', {
         'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'],
     }),
-    ('distro', '1.8.0', {
-        'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'],
+    ('distro', '1.9.0', {
+        'checksums': ['2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed'],
     }),
-    ('rapidfuzz', '2.15.1', {
-        'checksums': ['d62137c2ca37aea90a11003ad7dc109c8f1739bfbe5a9a217f3cdb07d7ac00f6'],
+    ('rapidfuzz', '3.13.0', {
+        'checksums': ['d2eaf3839e52cbcc0accbe9817a67b4b0fcf70aaeb229cfddc1c28061f9ce5d8'],
     }),
-    ('cleo', '2.0.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['6eb133670a3ed1f3b052d53789017b6e50fca66d1287e6e6696285f4cb8ea448'],
+    ('cleo', '2.1.0', {
+        'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
+        'checksums': ['4a31bd4dd45695a64ee3c4758f583f134267c2bc518d8ae9a29cf237d009b07e'],
     }),
     ('cachy', '0.3.0', {
         'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'],
     }),
-    ('msgpack', '1.0.5', {
-        'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'],
+    ('msgpack', '1.1.0', {
+        'checksums': ['dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e'],
     }),
-    ('CacheControl', '0.12.14', {
-        'checksums': ['d1087f45781c0e00616479bfd282c78504371ca71da017b49df9f5365a95feba'],
+    ('CacheControl', '0.14.2', {
+        'sources': ['cachecontrol-%(version)s.tar.gz'],
+        'checksums': ['7d47d19f866409b98ff6025b6a0fca8e4c791fb31abbd95f622093894ce903a2'],
     }),
     ('lockfile', '0.12.2', {
         'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'],
@@ -414,34 +519,31 @@ exts_list = [
     ('glob2', '0.7', {
         'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'],
     }),
-    ('dulwich', '0.21.5', {
-        'checksums': ['70955e4e249ddda6e34a4636b90f74e931e558f993b17c52570fa6144b993103'],
+    ('dulwich', '0.22.8', {
+        'checksums': ['701547310415de300269331abe29cb5717aa1ea377af826bf513d0adfb1c209b'],
     }),
-    ('fsspec', '2023.6.0', {
-        'checksums': ['d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af'],
+    ('fsspec', '2025.3.2', {
+        'checksums': ['e52c77ef398680bbd6a98c0e628fbc469491282981209907bbc8aea76a04fdc6'],
     }),
-    ('threadpoolctl', '3.1.0', {
-        'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'],
+    ('threadpoolctl', '3.6.0', {
+        'checksums': ['8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e'],
     }),
     ('simplegeneric', '0.8.1', {
         'source_tmpl': 'simplegeneric-%(version)s.zip',
         'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'],
     }),
-    ('pooch', '1.7.0', {
-        'checksums': ['f174a1041b6447f0eef8860f76d17f60ed2f857dc0efa387a7f08228af05d998'],
+    ('pooch', '1.8.2', {
+        'checksums': ['76561f0de68a01da4df6af38e9955c4c9d1a5c90da73f7e40276a5728ec83d10'],
     }),
     ('doit', '0.36.0', {
         'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'],
     }),
-    ('cloudpickle', '2.2.1', {
-        'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'],
+    ('cloudpickle', '3.1.1', {
+        'checksums': ['b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64'],
     }),
     ('pydevtool', '0.3.0', {
         'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'],
     }),
-    ('Pygments', '2.15.1', {
-        'checksums': ['8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c'],
-    }),
     ('mdurl', '0.1.2', {
         'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'],
     }),
@@ -449,21 +551,23 @@ exts_list = [
         'modulename': 'markdown_it',
         'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'],
     }),
-    ('rich', '13.4.2', {
-        'checksums': ['d653d6bccede5844304c605d5aac802c7cf9621efd700b46c7ec2b51ea914898'],
+    ('rich', '14.0.0', {
+        'checksums': ['82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725'],
     }),
-    ('rich-click', '1.6.1', {
-        'checksums': ['f8ff96693ec6e261d1544e9f7d9a5811c5ef5d74c8adb4978430fc0dac16777e'],
+    ('rich-click', '1.8.8', {
+        'sources': ['rich_click-%(version)s.tar.gz'],
+        'checksums': ['547c618dea916620af05d4a6456da797fbde904c97901f44d2f32f89d85d6c84'],
     }),
     ('commonmark', '0.9.1', {
         'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'],
     }),
-    ('execnet', '1.9.0', {
-        'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'],
+    ('execnet', '2.1.1', {
+        'checksums': ['5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3'],
     }),
-    ('pytest-xdist', '3.3.1', {
+    ('pytest-xdist', '3.6.1', {
         'modulename': 'xdist',
-        'checksums': ['d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93'],
+        'sources': ['pytest_xdist-%(version)s.tar.gz'],
+        'checksums': ['ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d'],
     }),
 ]
 

@Micket
Copy link
Contributor Author

Micket commented Apr 30, 2025

Test report by @Micket
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in total)
vera-icelake-build - Linux Rocky Linux 9.2, x86_64, Intel(R) Xeon(R) Silver 4316 CPU @ 2.30GHz, Python 3.9.18
See https://gist.github.com/Micket/1d1163ab830c99f62cd25420f4c2e45d for a full test report.

@jfgrimm
Copy link
Member

jfgrimm commented May 1, 2025

======================================================================
FAIL: test_pr_python_packages (test.easyconfigs.easyconfigs.EasyConfigTest)
Several checks for easyconfigs that install (bundles of) Python packages.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/runner/work/easybuild-easyconfigs/easybuild-easyconfigs/test/easyconfigs/easyconfigs.py", line 1295, in test_pr_python_packages
    self.fail('\n'.join(failing_checks))
AssertionError: Use CargoPythonBundle instead of PythonBundle when Rust is used in Python-bundle-PyPI-2025.04-GCCcore-14.2.0.eb

@jfgrimm jfgrimm added this to the 5.x milestone May 1, 2025
@Thyre
Copy link
Collaborator

Thyre commented May 1, 2025

The test log also has:

== 2025-04-30 19:38:22,256 run.py:500 INFO Running shell command '/apps/Test/software/Python/3.13.1-GCCcore-14.2.0/bin/python -m pip check' in /dev/shm/PythonbundlePyPI/2025.04/GCCcore-14.2.0/pytestxdist/pytest_xdist-3.6.1
== 2025-04-30 19:38:23,539 run.py:598 INFO Output of '/apps/Test/software/Python/3.13.1-GCCcore-14.2.0/bin/python ...' shell command (stdout + stderr):
sphinx 8.2.3 requires roman-numerals-py, which is not installed.

@boegel
Copy link
Member

boegel commented May 8, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=22827 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_22827 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 6313

Test results coming soon (I hope)...

Details

- notification for comment with ID 2862415787 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/59669143559968724918fefbfcff1995 for a full test report.

@boegel
Copy link
Member

boegel commented May 8, 2025

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3564.doduo.os - Linux RHEL 9.4, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.9.18
See https://gist.github.com/boegel/7ce4a54cbf43ee36b3d352c3b84c8aac for a full test report.

@Thyre
Copy link
Collaborator

Thyre commented May 12, 2025

Test report by @Thyre
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
Linux - Linux Arch Linux UNKNOWN, x86_64, AMD Ryzen 7 7800X3D 8-Core Processor, 1 x AMD Navi 48 [RX 9070/9070 XT] (model: 0x7550, driver: "6.14.6-arch1-1"), 1 x AMD Raphael (model: 0x164e, driver: "6.14.6-arch1-1"), Python 3.13.3
See https://gist.github.com/Thyre/24fdf7a9dd12a6d5bd66b31d8f5ad276 for a full test report.

Copy link
Contributor

@lexming lexming left a comment

Choose a reason for hiding this comment

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

LGTM

@lexming
Copy link
Contributor

lexming commented May 23, 2025

Merging, thanks @Micket !

@lexming lexming merged commit c2cd641 into easybuilders:develop May 23, 2025
8 checks passed
@Micket Micket deleted the 20250430190116_new_pr_Python-bundle-PyPI202504 branch May 23, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants