upd-cli 0.0.2__tar.gz → 0.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. {upd_cli-0.0.2 → upd_cli-0.0.4}/Cargo.lock +97 -124
  2. {upd_cli-0.0.2 → upd_cli-0.0.4}/Cargo.toml +19 -18
  3. {upd_cli-0.0.2 → upd_cli-0.0.4}/PKG-INFO +62 -23
  4. upd_cli-0.0.4/README.md +175 -0
  5. upd_cli-0.0.4/src/cache.rs +377 -0
  6. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/cli.rs +12 -0
  7. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/main.rs +103 -42
  8. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/registry/crates_io.rs +5 -2
  9. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/registry/go_proxy.rs +6 -3
  10. upd_cli-0.0.4/src/registry/mod.rs +85 -0
  11. upd_cli-0.0.4/src/registry/npm.rs +235 -0
  12. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/registry/pypi.rs +5 -2
  13. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/updater/cargo_toml.rs +66 -27
  14. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/updater/go_mod.rs +144 -17
  15. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/updater/mod.rs +2 -2
  16. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/updater/package_json.rs +63 -25
  17. upd_cli-0.0.4/src/updater/pyproject.rs +404 -0
  18. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/updater/requirements.rs +92 -25
  19. upd_cli-0.0.4/src/version/semver_util.rs +98 -0
  20. upd_cli-0.0.2/README.md +0 -136
  21. upd_cli-0.0.2/src/cache.rs +0 -180
  22. upd_cli-0.0.2/src/registry/mod.rs +0 -40
  23. upd_cli-0.0.2/src/registry/npm.rs +0 -155
  24. upd_cli-0.0.2/src/updater/pyproject.rs +0 -278
  25. upd_cli-0.0.2/src/version/semver_util.rs +0 -53
  26. {upd_cli-0.0.2 → upd_cli-0.0.4}/.mise.toml +0 -0
  27. {upd_cli-0.0.2 → upd_cli-0.0.4}/.pre-commit-config.yaml +0 -0
  28. {upd_cli-0.0.2 → upd_cli-0.0.4}/CHANGELOG.md +0 -0
  29. {upd_cli-0.0.2 → upd_cli-0.0.4}/LICENSE +0 -0
  30. {upd_cli-0.0.2 → upd_cli-0.0.4}/Makefile +0 -0
  31. {upd_cli-0.0.2 → upd_cli-0.0.4}/pyproject.toml +0 -0
  32. {upd_cli-0.0.2 → upd_cli-0.0.4}/python/upd_cli/__init__.py +0 -0
  33. {upd_cli-0.0.2 → upd_cli-0.0.4}/python/upd_cli/__main__.py +0 -0
  34. {upd_cli-0.0.2 → upd_cli-0.0.4}/python/upd_cli/py.typed +0 -0
  35. {upd_cli-0.0.2 → upd_cli-0.0.4}/rust-toolchain.toml +0 -0
  36. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/lib.rs +0 -0
  37. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/version/mod.rs +0 -0
  38. {upd_cli-0.0.2 → upd_cli-0.0.4}/src/version/pep440.rs +0 -0
@@ -207,11 +207,10 @@ checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
207
207
 
208
208
  [[package]]
209
209
  name = "colored"
210
- version = "2.2.0"
210
+ version = "3.0.0"
211
211
  source = "registry+https://github.com/rust-lang/crates.io-index"
212
- checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
212
+ checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e"
213
213
  dependencies = [
214
- "lazy_static",
215
214
  "windows-sys 0.59.0",
216
215
  ]
217
216
 
@@ -268,23 +267,23 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
268
267
 
269
268
  [[package]]
270
269
  name = "directories"
271
- version = "5.0.1"
270
+ version = "6.0.0"
272
271
  source = "registry+https://github.com/rust-lang/crates.io-index"
273
- checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
272
+ checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d"
274
273
  dependencies = [
275
274
  "dirs-sys",
276
275
  ]
277
276
 
278
277
  [[package]]
279
278
  name = "dirs-sys"
280
- version = "0.4.1"
279
+ version = "0.5.0"
281
280
  source = "registry+https://github.com/rust-lang/crates.io-index"
282
- checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
281
+ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
283
282
  dependencies = [
284
283
  "libc",
285
284
  "option-ext",
286
285
  "redox_users",
287
- "windows-sys 0.48.0",
286
+ "windows-sys 0.61.2",
288
287
  ]
289
288
 
290
289
  [[package]]
@@ -329,6 +328,21 @@ dependencies = [
329
328
  "percent-encoding",
330
329
  ]
331
330
 
331
+ [[package]]
332
+ name = "futures"
333
+ version = "0.3.31"
334
+ source = "registry+https://github.com/rust-lang/crates.io-index"
335
+ checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
336
+ dependencies = [
337
+ "futures-channel",
338
+ "futures-core",
339
+ "futures-executor",
340
+ "futures-io",
341
+ "futures-sink",
342
+ "futures-task",
343
+ "futures-util",
344
+ ]
345
+
332
346
  [[package]]
333
347
  name = "futures-channel"
334
348
  version = "0.3.31"
@@ -336,6 +350,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
336
350
  checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
337
351
  dependencies = [
338
352
  "futures-core",
353
+ "futures-sink",
339
354
  ]
340
355
 
341
356
  [[package]]
@@ -344,6 +359,34 @@ version = "0.3.31"
344
359
  source = "registry+https://github.com/rust-lang/crates.io-index"
345
360
  checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
346
361
 
362
+ [[package]]
363
+ name = "futures-executor"
364
+ version = "0.3.31"
365
+ source = "registry+https://github.com/rust-lang/crates.io-index"
366
+ checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
367
+ dependencies = [
368
+ "futures-core",
369
+ "futures-task",
370
+ "futures-util",
371
+ ]
372
+
373
+ [[package]]
374
+ name = "futures-io"
375
+ version = "0.3.31"
376
+ source = "registry+https://github.com/rust-lang/crates.io-index"
377
+ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
378
+
379
+ [[package]]
380
+ name = "futures-macro"
381
+ version = "0.3.31"
382
+ source = "registry+https://github.com/rust-lang/crates.io-index"
383
+ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
384
+ dependencies = [
385
+ "proc-macro2",
386
+ "quote",
387
+ "syn",
388
+ ]
389
+
347
390
  [[package]]
348
391
  name = "futures-sink"
349
392
  version = "0.3.31"
@@ -362,10 +405,16 @@ version = "0.3.31"
362
405
  source = "registry+https://github.com/rust-lang/crates.io-index"
363
406
  checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
364
407
  dependencies = [
408
+ "futures-channel",
365
409
  "futures-core",
410
+ "futures-io",
411
+ "futures-macro",
412
+ "futures-sink",
366
413
  "futures-task",
414
+ "memchr",
367
415
  "pin-project-lite",
368
416
  "pin-utils",
417
+ "slab",
369
418
  ]
370
419
 
371
420
  [[package]]
@@ -687,12 +736,6 @@ dependencies = [
687
736
  "wasm-bindgen",
688
737
  ]
689
738
 
690
- [[package]]
691
- name = "lazy_static"
692
- version = "1.5.0"
693
- source = "registry+https://github.com/rust-lang/crates.io-index"
694
- checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
695
-
696
739
  [[package]]
697
740
  name = "libc"
698
741
  version = "0.2.178"
@@ -875,7 +918,7 @@ dependencies = [
875
918
  "rustc-hash",
876
919
  "rustls",
877
920
  "socket2",
878
- "thiserror 2.0.17",
921
+ "thiserror",
879
922
  "tokio",
880
923
  "tracing",
881
924
  "web-time",
@@ -896,7 +939,7 @@ dependencies = [
896
939
  "rustls",
897
940
  "rustls-pki-types",
898
941
  "slab",
899
- "thiserror 2.0.17",
942
+ "thiserror",
900
943
  "tinyvec",
901
944
  "tracing",
902
945
  "web-time",
@@ -913,7 +956,7 @@ dependencies = [
913
956
  "once_cell",
914
957
  "socket2",
915
958
  "tracing",
916
- "windows-sys 0.52.0",
959
+ "windows-sys 0.60.2",
917
960
  ]
918
961
 
919
962
  [[package]]
@@ -971,13 +1014,13 @@ dependencies = [
971
1014
 
972
1015
  [[package]]
973
1016
  name = "redox_users"
974
- version = "0.4.6"
1017
+ version = "0.5.2"
975
1018
  source = "registry+https://github.com/rust-lang/crates.io-index"
976
- checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
1019
+ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
977
1020
  dependencies = [
978
1021
  "getrandom 0.2.16",
979
1022
  "libredox",
980
- "thiserror 1.0.69",
1023
+ "thiserror",
981
1024
  ]
982
1025
 
983
1026
  [[package]]
@@ -1011,15 +1054,13 @@ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
1011
1054
 
1012
1055
  [[package]]
1013
1056
  name = "reqwest"
1014
- version = "0.12.24"
1057
+ version = "0.12.25"
1015
1058
  source = "registry+https://github.com/rust-lang/crates.io-index"
1016
- checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f"
1059
+ checksum = "b6eff9328d40131d43bd911d42d79eb6a47312002a4daefc9e37f17e74a7701a"
1017
1060
  dependencies = [
1018
- "async-compression",
1019
1061
  "base64",
1020
1062
  "bytes",
1021
1063
  "futures-core",
1022
- "futures-util",
1023
1064
  "http",
1024
1065
  "http-body",
1025
1066
  "http-body-util",
@@ -1039,7 +1080,6 @@ dependencies = [
1039
1080
  "sync_wrapper",
1040
1081
  "tokio",
1041
1082
  "tokio-rustls",
1042
- "tokio-util",
1043
1083
  "tower",
1044
1084
  "tower-http",
1045
1085
  "tower-service",
@@ -1285,33 +1325,13 @@ dependencies = [
1285
1325
  "syn",
1286
1326
  ]
1287
1327
 
1288
- [[package]]
1289
- name = "thiserror"
1290
- version = "1.0.69"
1291
- source = "registry+https://github.com/rust-lang/crates.io-index"
1292
- checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
1293
- dependencies = [
1294
- "thiserror-impl 1.0.69",
1295
- ]
1296
-
1297
1328
  [[package]]
1298
1329
  name = "thiserror"
1299
1330
  version = "2.0.17"
1300
1331
  source = "registry+https://github.com/rust-lang/crates.io-index"
1301
1332
  checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
1302
1333
  dependencies = [
1303
- "thiserror-impl 2.0.17",
1304
- ]
1305
-
1306
- [[package]]
1307
- name = "thiserror-impl"
1308
- version = "1.0.69"
1309
- source = "registry+https://github.com/rust-lang/crates.io-index"
1310
- checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
1311
- dependencies = [
1312
- "proc-macro2",
1313
- "quote",
1314
- "syn",
1334
+ "thiserror-impl",
1315
1335
  ]
1316
1336
 
1317
1337
  [[package]]
@@ -1403,27 +1423,40 @@ dependencies = [
1403
1423
 
1404
1424
  [[package]]
1405
1425
  name = "toml_datetime"
1406
- version = "0.6.11"
1426
+ version = "0.7.3"
1407
1427
  source = "registry+https://github.com/rust-lang/crates.io-index"
1408
- checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
1428
+ checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533"
1429
+ dependencies = [
1430
+ "serde_core",
1431
+ ]
1409
1432
 
1410
1433
  [[package]]
1411
1434
  name = "toml_edit"
1412
- version = "0.22.27"
1435
+ version = "0.23.9"
1413
1436
  source = "registry+https://github.com/rust-lang/crates.io-index"
1414
- checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
1437
+ checksum = "5d7cbc3b4b49633d57a0509303158ca50de80ae32c265093b24c414705807832"
1415
1438
  dependencies = [
1416
1439
  "indexmap",
1417
1440
  "toml_datetime",
1418
- "toml_write",
1441
+ "toml_parser",
1442
+ "toml_writer",
1419
1443
  "winnow",
1420
1444
  ]
1421
1445
 
1422
1446
  [[package]]
1423
- name = "toml_write"
1424
- version = "0.1.2"
1447
+ name = "toml_parser"
1448
+ version = "1.0.4"
1449
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1450
+ checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e"
1451
+ dependencies = [
1452
+ "winnow",
1453
+ ]
1454
+
1455
+ [[package]]
1456
+ name = "toml_writer"
1457
+ version = "1.0.4"
1425
1458
  source = "registry+https://github.com/rust-lang/crates.io-index"
1426
- checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
1459
+ checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2"
1427
1460
 
1428
1461
  [[package]]
1429
1462
  name = "tower"
@@ -1442,17 +1475,22 @@ dependencies = [
1442
1475
 
1443
1476
  [[package]]
1444
1477
  name = "tower-http"
1445
- version = "0.6.7"
1478
+ version = "0.6.8"
1446
1479
  source = "registry+https://github.com/rust-lang/crates.io-index"
1447
- checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456"
1480
+ checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8"
1448
1481
  dependencies = [
1482
+ "async-compression",
1449
1483
  "bitflags",
1450
1484
  "bytes",
1485
+ "futures-core",
1451
1486
  "futures-util",
1452
1487
  "http",
1453
1488
  "http-body",
1489
+ "http-body-util",
1454
1490
  "iri-string",
1455
1491
  "pin-project-lite",
1492
+ "tokio",
1493
+ "tokio-util",
1456
1494
  "tower",
1457
1495
  "tower-layer",
1458
1496
  "tower-service",
@@ -1521,13 +1559,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
1521
1559
 
1522
1560
  [[package]]
1523
1561
  name = "upd"
1524
- version = "0.0.2"
1562
+ version = "0.0.4"
1525
1563
  dependencies = [
1526
1564
  "anyhow",
1527
1565
  "async-trait",
1528
1566
  "clap",
1529
1567
  "colored",
1530
1568
  "directories",
1569
+ "futures",
1531
1570
  "ignore",
1532
1571
  "pep440_rs",
1533
1572
  "regex",
@@ -1535,7 +1574,7 @@ dependencies = [
1535
1574
  "semver",
1536
1575
  "serde",
1537
1576
  "serde_json",
1538
- "thiserror 1.0.69",
1577
+ "thiserror",
1539
1578
  "tokio",
1540
1579
  "toml_edit",
1541
1580
  ]
@@ -1700,15 +1739,6 @@ version = "0.2.1"
1700
1739
  source = "registry+https://github.com/rust-lang/crates.io-index"
1701
1740
  checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
1702
1741
 
1703
- [[package]]
1704
- name = "windows-sys"
1705
- version = "0.48.0"
1706
- source = "registry+https://github.com/rust-lang/crates.io-index"
1707
- checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
1708
- dependencies = [
1709
- "windows-targets 0.48.5",
1710
- ]
1711
-
1712
1742
  [[package]]
1713
1743
  name = "windows-sys"
1714
1744
  version = "0.52.0"
@@ -1745,21 +1775,6 @@ dependencies = [
1745
1775
  "windows-link",
1746
1776
  ]
1747
1777
 
1748
- [[package]]
1749
- name = "windows-targets"
1750
- version = "0.48.5"
1751
- source = "registry+https://github.com/rust-lang/crates.io-index"
1752
- checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
1753
- dependencies = [
1754
- "windows_aarch64_gnullvm 0.48.5",
1755
- "windows_aarch64_msvc 0.48.5",
1756
- "windows_i686_gnu 0.48.5",
1757
- "windows_i686_msvc 0.48.5",
1758
- "windows_x86_64_gnu 0.48.5",
1759
- "windows_x86_64_gnullvm 0.48.5",
1760
- "windows_x86_64_msvc 0.48.5",
1761
- ]
1762
-
1763
1778
  [[package]]
1764
1779
  name = "windows-targets"
1765
1780
  version = "0.52.6"
@@ -1793,12 +1808,6 @@ dependencies = [
1793
1808
  "windows_x86_64_msvc 0.53.1",
1794
1809
  ]
1795
1810
 
1796
- [[package]]
1797
- name = "windows_aarch64_gnullvm"
1798
- version = "0.48.5"
1799
- source = "registry+https://github.com/rust-lang/crates.io-index"
1800
- checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
1801
-
1802
1811
  [[package]]
1803
1812
  name = "windows_aarch64_gnullvm"
1804
1813
  version = "0.52.6"
@@ -1811,12 +1820,6 @@ version = "0.53.1"
1811
1820
  source = "registry+https://github.com/rust-lang/crates.io-index"
1812
1821
  checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
1813
1822
 
1814
- [[package]]
1815
- name = "windows_aarch64_msvc"
1816
- version = "0.48.5"
1817
- source = "registry+https://github.com/rust-lang/crates.io-index"
1818
- checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
1819
-
1820
1823
  [[package]]
1821
1824
  name = "windows_aarch64_msvc"
1822
1825
  version = "0.52.6"
@@ -1829,12 +1832,6 @@ version = "0.53.1"
1829
1832
  source = "registry+https://github.com/rust-lang/crates.io-index"
1830
1833
  checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
1831
1834
 
1832
- [[package]]
1833
- name = "windows_i686_gnu"
1834
- version = "0.48.5"
1835
- source = "registry+https://github.com/rust-lang/crates.io-index"
1836
- checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
1837
-
1838
1835
  [[package]]
1839
1836
  name = "windows_i686_gnu"
1840
1837
  version = "0.52.6"
@@ -1859,12 +1856,6 @@ version = "0.53.1"
1859
1856
  source = "registry+https://github.com/rust-lang/crates.io-index"
1860
1857
  checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
1861
1858
 
1862
- [[package]]
1863
- name = "windows_i686_msvc"
1864
- version = "0.48.5"
1865
- source = "registry+https://github.com/rust-lang/crates.io-index"
1866
- checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
1867
-
1868
1859
  [[package]]
1869
1860
  name = "windows_i686_msvc"
1870
1861
  version = "0.52.6"
@@ -1877,12 +1868,6 @@ version = "0.53.1"
1877
1868
  source = "registry+https://github.com/rust-lang/crates.io-index"
1878
1869
  checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
1879
1870
 
1880
- [[package]]
1881
- name = "windows_x86_64_gnu"
1882
- version = "0.48.5"
1883
- source = "registry+https://github.com/rust-lang/crates.io-index"
1884
- checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
1885
-
1886
1871
  [[package]]
1887
1872
  name = "windows_x86_64_gnu"
1888
1873
  version = "0.52.6"
@@ -1895,12 +1880,6 @@ version = "0.53.1"
1895
1880
  source = "registry+https://github.com/rust-lang/crates.io-index"
1896
1881
  checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
1897
1882
 
1898
- [[package]]
1899
- name = "windows_x86_64_gnullvm"
1900
- version = "0.48.5"
1901
- source = "registry+https://github.com/rust-lang/crates.io-index"
1902
- checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
1903
-
1904
1883
  [[package]]
1905
1884
  name = "windows_x86_64_gnullvm"
1906
1885
  version = "0.52.6"
@@ -1913,12 +1892,6 @@ version = "0.53.1"
1913
1892
  source = "registry+https://github.com/rust-lang/crates.io-index"
1914
1893
  checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
1915
1894
 
1916
- [[package]]
1917
- name = "windows_x86_64_msvc"
1918
- version = "0.48.5"
1919
- source = "registry+https://github.com/rust-lang/crates.io-index"
1920
- checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
1921
-
1922
1895
  [[package]]
1923
1896
  name = "windows_x86_64_msvc"
1924
1897
  version = "0.52.6"
@@ -1,15 +1,15 @@
1
1
  [package]
2
2
  name = "upd"
3
- version = "0.0.2"
3
+ version = "0.0.4"
4
4
  edition = "2024"
5
5
  rust-version = "1.91.1"
6
- description = "A fast dependency updater for Python and Node.js projects"
6
+ description = "A fast dependency updater for Python, Node.js, Rust, and Go projects"
7
7
  license = "MIT"
8
8
  repository = "https://github.com/rvben/upd"
9
9
  homepage = "https://github.com/rvben/upd"
10
10
  documentation = "https://github.com/rvben/upd#readme"
11
11
  authors = ["Ruben Jongejan <ruben.jongejan@gmail.com>"]
12
- keywords = ["dependencies", "update", "python", "nodejs", "npm"]
12
+ keywords = ["dependencies", "update", "python", "nodejs", "rust"]
13
13
  categories = ["command-line-utilities", "development-tools"]
14
14
  readme = "README.md"
15
15
  exclude = [
@@ -30,33 +30,34 @@ path = "src/main.rs"
30
30
 
31
31
  [dependencies]
32
32
  # CLI
33
- clap = { version = "4", features = ["derive"] }
33
+ clap = { version = "4.5.53", features = ["derive"] }
34
34
 
35
35
  # Async runtime + HTTP
36
- tokio = { version = "1", features = ["full"] }
37
- reqwest = { version = "0.12", default-features = false, features = ["json", "gzip", "rustls-tls"] }
36
+ tokio = { version = "1.48.0", features = ["full"] }
37
+ reqwest = { version = "0.12.25", default-features = false, features = ["json", "gzip", "rustls-tls"] }
38
38
 
39
39
  # Serialization
40
- serde = { version = "1", features = ["derive"] }
41
- serde_json = "1"
42
- toml_edit = "0.22"
40
+ serde = { version = "1.0.228", features = ["derive"] }
41
+ serde_json = "1.0.145"
42
+ toml_edit = "0.23.9"
43
43
 
44
44
  # Version parsing
45
- pep440_rs = "0.7"
46
- semver = "1"
45
+ pep440_rs = "0.7.3"
46
+ semver = "1.0.27"
47
47
 
48
48
  # File handling
49
- ignore = "0.4"
50
- directories = "5"
49
+ ignore = "0.4.25"
50
+ directories = "6.0.0"
51
51
 
52
52
  # Error handling
53
- anyhow = "1"
54
- thiserror = "1"
53
+ anyhow = "1.0.100"
54
+ thiserror = "2.0.17"
55
55
 
56
56
  # Misc
57
- regex = "1"
58
- colored = "2"
59
- async-trait = "0.1"
57
+ regex = "1.12.2"
58
+ colored = "3.0.0"
59
+ async-trait = "0.1.89"
60
+ futures = "0.3.31"
60
61
 
61
62
  [profile.release]
62
63
  lto = true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: upd-cli
3
- Version: 0.0.2
3
+ Version: 0.0.4
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -23,32 +23,35 @@ Project-URL: Documentation, https://github.com/rvben/upd#readme
23
23
 
24
24
  # upd
25
25
 
26
- A fast dependency updater for Python and Node.js projects, written in Rust.
26
+ A fast dependency updater for Python, Node.js, Rust, and Go projects,
27
+ written in Rust.
27
28
 
28
29
  ## Features
29
30
 
30
- - **Multi-format support**: Updates `requirements.txt`, `pyproject.toml`, and `package.json`
31
- - **Constraint-aware**: Respects version constraints (e.g., `>=2.0,<3` won't update to v3.x)
32
- - **Major version warnings**: Highlights breaking changes with `(MAJOR)` indicator
33
- - **Format-preserving**: Keeps your file formatting, comments, and structure intact
34
- - **Pre-release filtering**: Excludes alpha, beta, and release candidate versions
35
- - **Gitignore-aware**: Respects `.gitignore` patterns when discovering files
36
- - **Fast**: Async HTTP requests with caching for quick subsequent runs
31
+ - **Multi-ecosystem**: Python, Node.js, Rust, and Go dependencies
32
+ - **Fast**: Parallel registry requests for all dependencies
33
+ - **Constraint-aware**: Respects version constraints like `>=2.0,<3`
34
+ - **Smart caching**: 24-hour version cache for faster subsequent runs
35
+ - **Update filters**: Filter by `--major`, `--minor`, or `--patch` updates
36
+ - **Major warnings**: Highlights breaking changes with `(MAJOR)`
37
+ - **Format-preserving**: Keeps formatting, comments, and structure
38
+ - **Pre-release aware**: Updates pre-releases to newer pre-releases
39
+ - **Gitignore-aware**: Respects `.gitignore` when discovering files
37
40
 
38
41
  ## Installation
39
42
 
40
- ### From PyPI
43
+ ### From crates.io
41
44
 
42
45
  ```bash
43
- pip install upd
44
- # or with uv
45
- uv pip install upd
46
+ cargo install upd
46
47
  ```
47
48
 
48
- ### From crates.io
49
+ ### From PyPI
49
50
 
50
51
  ```bash
51
- cargo install upd
52
+ pip install upd-cli
53
+ # or with uv
54
+ uv pip install upd-cli
52
55
  ```
53
56
 
54
57
  ### From source
@@ -79,8 +82,16 @@ upd --verbose
79
82
  # Disable colored output
80
83
  upd --no-color
81
84
 
82
- # Disable caching
85
+ # Disable caching (force fresh lookups)
83
86
  upd --no-cache
87
+
88
+ # Filter by update type
89
+ upd --major # Show only major (breaking) updates
90
+ upd --minor # Show only minor updates
91
+ upd --patch # Show only patch updates
92
+
93
+ # Combine filters
94
+ upd --major --minor # Show major and minor updates only
84
95
  ```
85
96
 
86
97
  ### Commands
@@ -103,24 +114,32 @@ upd clean-cache
103
114
  - `requirements.txt`, `requirements-dev.txt`, `requirements-*.txt`
104
115
  - `requirements.in`, `requirements-dev.in`, `requirements-*.in`
105
116
  - `dev-requirements.txt`, `*-requirements.txt`, `*_requirements.txt`
106
- - `pyproject.toml` (`[project.dependencies]` and `[project.optional-dependencies]`)
117
+ - `pyproject.toml` (PEP 621 and Poetry formats)
107
118
 
108
119
  ### Node.js
109
120
 
110
121
  - `package.json` (`dependencies` and `devDependencies`)
111
122
 
123
+ ### Rust
124
+
125
+ - `Cargo.toml` (`[dependencies]`, `[dev-dependencies]`, `[build-dependencies]`)
126
+
127
+ ### Go
128
+
129
+ - `go.mod` (`require` blocks)
130
+
112
131
  ## Example Output
113
132
 
114
- ```
133
+ ```text
115
134
  pyproject.toml
116
135
  Would update requests 2.28.0 → 2.31.0
117
136
  Would update flask 2.2.0 → 3.0.0 (MAJOR)
118
137
 
119
- requirements.txt
120
- Would update pytest 7.2.07.4.3
121
- Would update black 23.1.0 → 23.12.1
138
+ Cargo.toml
139
+ Would update serde 1.0.1801.0.200
140
+ Would update tokio 1.28.0 → 1.35.0
122
141
 
123
- Would update 4 package(s) (1 major, 2 minor, 1 patch) in 2 file(s), 15 up to date
142
+ Would update 4 package(s) in 2 file(s), 15 up to date
124
143
  ```
125
144
 
126
145
  ## Version Constraints
@@ -130,11 +149,31 @@ Would update 4 package(s) (1 major, 2 minor, 1 patch) in 2 file(s), 15 up to dat
130
149
  | Constraint | Behavior |
131
150
  |------------|----------|
132
151
  | `>=2.0,<3` | Updates within 2.x range only |
133
- | `^2.0.0` | Updates within 2.x range (npm) |
152
+ | `^2.0.0` | Updates within 2.x range (npm/Cargo) |
134
153
  | `~2.0.0` | Updates within 2.0.x range (npm) |
135
154
  | `>=2.0` | Updates to any version >= 2.0 |
136
155
  | `==2.0.0` | No updates (pinned) |
137
156
 
157
+ ## Caching
158
+
159
+ Version lookups are cached for 24 hours in:
160
+
161
+ - macOS: `~/Library/Caches/upd/versions.json`
162
+ - Linux: `~/.cache/upd/versions.json`
163
+ - Windows: `%LOCALAPPDATA%\upd\versions.json`
164
+
165
+ Use `upd clean-cache` to clear the cache, or `upd --no-cache` to bypass it.
166
+
167
+ ## Environment Variables
168
+
169
+ | Variable | Description |
170
+ |----------|-------------|
171
+ | `UV_INDEX_URL` | Custom PyPI index URL |
172
+ | `PIP_INDEX_URL` | Custom PyPI index URL (fallback) |
173
+ | `NPM_REGISTRY` | Custom npm registry URL |
174
+ | `GOPROXY` | Custom Go module proxy URL |
175
+ | `UPD_CACHE_DIR` | Custom cache directory |
176
+
138
177
  ## Development
139
178
 
140
179
  ```bash