Commit fb22770a authored by Wohlgemuth, Jason's avatar Wohlgemuth, Jason
Browse files

feat: Add pyproject.toml parsing capability

parent a8d53e51
Loading
Loading
Loading
Loading
Loading
+59 −2
Original line number Diff line number Diff line
@@ -1574,6 +1574,7 @@ checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0"
dependencies = [
 "equivalent",
 "hashbrown",
 "serde",
]

[[package]]
@@ -2147,6 +2148,35 @@ version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"

[[package]]
name = "pep440_rs"
version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "466eada3179c2e069ca897b99006cbb33f816290eaeec62464eea907e22ae385"
dependencies = [
 "once_cell",
 "serde",
 "unicode-width",
 "unscanny",
]

[[package]]
name = "pep508_rs"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f8877489a99ccc80012333123e434f84e645fe1ede3b30e9d3b815887a12979"
dependencies = [
 "derivative",
 "once_cell",
 "pep440_rs",
 "regex",
 "serde",
 "thiserror",
 "unicode-width",
 "url",
 "urlencoding",
]

[[package]]
name = "percent-encoding"
version = "2.3.1"
@@ -2245,6 +2275,7 @@ dependencies = [
 "is-terminal",
 "is_executable",
 "owo-colors 4.0.0",
 "pyproject-toml",
 "rayon",
 "reqwest",
 "serde",
@@ -2373,6 +2404,19 @@ dependencies = [
 "unicode-ident",
]

[[package]]
name = "pyproject-toml"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef7061023bcb58a0fc4a4bbe9819c13b0dca7c2abc14da14f5ecc1532ab3a36a"
dependencies = [
 "indexmap",
 "pep440_rs",
 "pep508_rs",
 "serde",
 "toml",
]

[[package]]
name = "quick-xml"
version = "0.30.0"
@@ -3317,9 +3361,9 @@ dependencies = [

[[package]]
name = "unicode-width"
version = "0.1.11"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"

[[package]]
name = "unicode-xid"
@@ -3327,6 +3371,12 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"

[[package]]
name = "unscanny"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"

[[package]]
name = "untrusted"
version = "0.9.0"
@@ -3352,8 +3402,15 @@ dependencies = [
 "form_urlencoded",
 "idna",
 "percent-encoding",
 "serde",
]

[[package]]
name = "urlencoding"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"

[[package]]
name = "utf8parse"
version = "0.2.1"
+604 −584
Original line number Diff line number Diff line
@@ -260,79 +260,81 @@ LH:0
end_of_record
TN:
SF:/root/dev/command/pipe-lib/src/lib.rs
FN:468,Command::test
FN:491,Config::get_environment_variables
FN:503,Config::get_inputs
FN:540,Config::prepare_modules
FN:760,Config::read
FN:784,Config::read_json
FN:805,Config::read_yaml
FN:825,Config::run_workflow
FN:897,Config::set_environment_variables
FN:913,Config::verify_requirements
FN:931,Config::verify_resources
FN:940,<impl PartialEq for Details>::eq
FN:947,EnvironmentValue::from_string
FN:950,EnvironmentValue::from_value
FN:958,EnvironmentValue::prepend_prefix
FN:962,EnvironmentValue::trim_prefix
FN:966,EnvironmentValue::get_from_serde
FN:980,EnvironmentValue::get_all
FN:990,EnvironmentValue::print_all
FN:995,EnvironmentValue::set_variable
FN:1005,EnvironmentValue::set_variables
FN:1012,Extension::from_string
FN:1021,Label::dry_run
FN:1025,Label::invalid
FN:1028,Label::fmt_invalid
FN:1032,Label::fail
FN:1035,Label::fmt_fail
FN:1039,Label::found
FN:1043,Label::not_found
FN:1046,Label::fmt_not_found
FN:1050,Label::output
FN:1053,Label::fmt_output
FN:1057,Label::pass
FN:1061,Label::read
FN:1065,Label::rejected
FN:1069,Label::run
FN:1073,Label::using
FN:1079,ModuleUri<'_>::from
FN:1089,ModuleUri<'_>::hash
FN:1113,ModuleUri<'_>::get_whitelist
FN:1116,ModuleUri<'_>::is_allowed
FN:1119,ModuleUri<'_>::test
FN:1120,ModuleUri<'_>::test::check
FN:1137,ModuleUri<'_>::working_directory
FN:1149,SemanticVersion::from_string
FN:1158,Script::ensure_relative
FN:1177,Script::expand_arguments
FN:1212,Script::expand_arguments_from
FN:1247,Script::from_module
FN:1305,Script::from_path
FN:1320,Script::from_template
FN:1340,Script::get_command
FN:1350,Script::get_arguments
FN:1390,Script::maybe_create_virtual_environment
FN:1431,Script::maybe_git_clone
FN:1438,Script::python_default
FN:1452,Script::run
FN:1519,Script::with_container
FN:1526,Script::with_current_dir
FN:1531,Script::with_envs
FN:1573,Script::with_virtual_environment
FN:1579,ScriptTemplate::from_path
FN:1591,ScriptTemplate::resolve_python_virtual_environment
FN:1619,StringTemplate::new
FN:1628,StringTemplate::expand
FN:1635,StringTemplate::get_variable
FN:1665,StringTemplate::is_handlebars
FN:1700,StringTemplate::remove_spaces
FN:1710,add_dot_slash
FN:1718,add_forward_slash
FN:1725,download_binary
FN:1726,download_binary::download
FNF:72
FN:484,Command::test
FN:507,Config::get_environment_variables
FN:519,Config::get_inputs
FN:556,Config::prepare_modules
FN:776,Config::read
FN:800,Config::read_json
FN:821,Config::read_yaml
FN:841,Config::run_workflow
FN:913,Config::set_environment_variables
FN:929,Config::verify_requirements
FN:947,Config::verify_resources
FN:956,<impl PartialEq for Details>::eq
FN:964,EnvironmentValue::from_value
FN:972,EnvironmentValue::prepend_prefix
FN:976,EnvironmentValue::trim_prefix
FN:980,EnvironmentValue::get_from_serde
FN:994,EnvironmentValue::get_all
FN:1004,EnvironmentValue::print_all
FN:1009,EnvironmentValue::set_variable
FN:1019,EnvironmentValue::set_variables
FN:1026,Extension::from_string
FN:1035,Label::dry_run
FN:1039,Label::invalid
FN:1042,Label::fmt_invalid
FN:1046,Label::fail
FN:1049,Label::fmt_fail
FN:1053,Label::found
FN:1057,Label::not_found
FN:1060,Label::fmt_not_found
FN:1064,Label::output
FN:1067,Label::fmt_output
FN:1071,Label::pass
FN:1075,Label::read
FN:1079,Label::rejected
FN:1083,Label::run
FN:1087,Label::using
FN:1093,ModuleUri<'_>::from
FN:1103,ModuleUri<'_>::hash
FN:1127,ModuleUri<'_>::get_whitelist
FN:1130,ModuleUri<'_>::is_allowed
FN:1133,ModuleUri<'_>::test
FN:1134,ModuleUri<'_>::test::check
FN:1151,ModuleUri<'_>::working_directory
FN:1165,<impl Deref for PyProjectToml>::deref
FN:1170,PyProjectToml::read
FN:1186,PyProjectToml::get_module_name
FN:1197,SemanticVersion::from_string
FN:1206,Script::ensure_relative
FN:1225,Script::expand_arguments
FN:1260,Script::expand_arguments_from
FN:1295,Script::from_module
FN:1353,Script::from_path
FN:1368,Script::from_template
FN:1388,Script::get_command
FN:1398,Script::get_arguments
FN:1438,Script::maybe_create_virtual_environment
FN:1479,Script::maybe_git_clone
FN:1486,Script::python_default
FN:1500,Script::run
FN:1567,Script::with_container
FN:1574,Script::with_current_dir
FN:1579,Script::with_envs
FN:1621,Script::with_virtual_environment
FN:1627,ScriptTemplate::from_path
FN:1639,ScriptTemplate::resolve_python_virtual_environment
FN:1667,StringTemplate::new
FN:1676,StringTemplate::expand
FN:1683,StringTemplate::get_variable
FN:1713,StringTemplate::is_handlebars
FN:1748,StringTemplate::remove_spaces
FN:1758,add_dot_slash
FN:1766,add_forward_slash
FN:1773,download_binary
FN:1774,download_binary::download
FNF:74
FNDA:1,Command::test
FNDA:0,Config::get_environment_variables
FNDA:0,Config::get_inputs
@@ -345,7 +347,6 @@ FNDA:0,Config::set_environment_variables
FNDA:0,Config::verify_requirements
FNDA:0,Config::verify_resources
FNDA:1,<impl PartialEq for Details>::eq
FNDA:0,EnvironmentValue::from_string
FNDA:0,EnvironmentValue::from_value
FNDA:0,EnvironmentValue::prepend_prefix
FNDA:1,EnvironmentValue::trim_prefix
@@ -377,6 +378,9 @@ FNDA:0,ModuleUri<'_>::is_allowed
FNDA:0,ModuleUri<'_>::test
FNDA:0,ModuleUri<'_>::test::check
FNDA:0,ModuleUri<'_>::working_directory
FNDA:1,<impl Deref for PyProjectToml>::deref
FNDA:1,PyProjectToml::read
FNDA:1,PyProjectToml::get_module_name
FNDA:1,SemanticVersion::from_string
FNDA:1,Script::ensure_relative
FNDA:1,Script::expand_arguments
@@ -405,52 +409,40 @@ FNDA:1,add_dot_slash
FNDA:1,add_forward_slash
FNDA:0,download_binary
FNDA:0,download_binary::download
DA:468,1
DA:469,2
DA:470,1
DA:471,5
DA:472,4
DA:474,6
DA:475,2
DA:478,0
DA:479,0
DA:484,3
DA:485,1
DA:491,0
DA:492,0
DA:493,0
DA:484,1
DA:485,2
DA:486,1
DA:487,5
DA:488,4
DA:490,6
DA:491,2
DA:494,0
DA:495,0
DA:496,0
DA:497,0
DA:503,0
DA:504,0
DA:505,0
DA:506,0
DA:500,3
DA:501,1
DA:507,0
DA:508,0
DA:509,0
DA:510,0
DA:511,0
DA:512,0
DA:514,0
DA:515,0
DA:513,0
DA:519,0
DA:520,0
DA:521,0
DA:522,0
DA:523,0
DA:524,0
DA:525,0
DA:526,0
DA:527,0
DA:528,0
DA:530,0
DA:531,0
DA:535,0
DA:536,0
DA:540,0
DA:541,0
DA:542,0
DA:543,0
DA:545,0
DA:546,0
DA:547,0
DA:548,0
DA:550,0
DA:551,0
DA:554,0
DA:555,0
DA:556,0
DA:557,0
DA:558,0
@@ -459,638 +451,666 @@ DA:561,0
DA:562,0
DA:563,0
DA:564,0
DA:565,0
DA:566,0
DA:568,0
DA:567,0
DA:570,0
DA:571,0
DA:572,0
DA:573,0
DA:574,0
DA:575,0
DA:577,0
DA:578,0
DA:579,0
DA:580,0
DA:586,0
DA:588,0
DA:581,0
DA:582,0
DA:584,0
DA:589,0
DA:591,0
DA:596,0
DA:598,0
DA:602,0
DA:605,0
DA:608,0
DA:610,0
DA:604,0
DA:607,0
DA:612,0
DA:613,0
DA:614,0
DA:615,0
DA:617,0
DA:618,0
DA:622,0
DA:623,0
DA:621,0
DA:624,0
DA:627,0
DA:626,0
DA:628,0
DA:629,0
DA:630,0
DA:631,0
DA:633,0
DA:634,0
DA:635,0
DA:636,0
DA:638,0
DA:639,0
DA:644,0
DA:640,0
DA:643,0
DA:645,0
DA:646,0
DA:648,0
DA:647,0
DA:649,0
DA:650,0
DA:651,0
DA:652,0
DA:654,0
DA:655,0
DA:656,0
DA:657,0
DA:660,0
DA:662,0
DA:663,0
DA:665,0
DA:664,0
DA:666,0
DA:667,0
DA:671,0
DA:674,0
DA:672,0
DA:673,0
DA:676,0
DA:677,0
DA:680,0
DA:678,0
DA:679,0
DA:681,0
DA:682,0
DA:683,0
DA:684,0
DA:686,0
DA:687,0
DA:688,0
DA:689,0
DA:690,0
DA:691,0
DA:692,0
DA:693,0
DA:696,0
DA:697,0
DA:699,0
DA:700,0
DA:702,0
DA:703,0
DA:704,0
DA:705,0
DA:706,0
DA:708,0
DA:712,0
DA:714,0
DA:716,0
DA:717,0
DA:707,0
DA:709,0
DA:719,0
DA:720,0
DA:721,0
DA:731,0
DA:722,0
DA:724,0
DA:728,0
DA:730,0
DA:732,0
DA:733,0
DA:734,0
DA:736,0
DA:741,0
DA:742,0
DA:746,0
DA:737,0
DA:747,0
DA:748,0
DA:749,0
DA:750,0
DA:752,0
DA:754,0
DA:756,0
DA:757,0
DA:758,0
DA:760,1
DA:761,2
DA:762,2
DA:763,1
DA:764,0
DA:766,2
DA:767,1
DA:762,0
DA:765,0
DA:768,0
DA:772,2
DA:773,1
DA:775,0
DA:776,0
DA:784,1
DA:785,2
DA:786,2
DA:788,0
DA:789,0
DA:792,3
DA:793,2
DA:794,4
DA:795,0
DA:797,6
DA:798,2
DA:805,1
DA:806,2
DA:807,1
DA:809,0
DA:810,0
DA:813,2
DA:814,1
DA:815,2
DA:816,0
DA:818,3
DA:819,1
DA:770,0
DA:772,0
DA:774,0
DA:776,1
DA:777,2
DA:778,2
DA:779,1
DA:780,0
DA:782,2
DA:783,1
DA:784,0
DA:788,2
DA:789,1
DA:791,0
DA:792,0
DA:800,1
DA:801,2
DA:802,2
DA:804,0
DA:805,0
DA:808,3
DA:809,2
DA:810,4
DA:811,0
DA:813,6
DA:814,2
DA:821,1
DA:822,2
DA:823,1
DA:825,0
DA:826,0
DA:828,0
DA:829,0
DA:830,0
DA:831,0
DA:829,2
DA:830,1
DA:831,2
DA:832,0
DA:833,0
DA:834,0
DA:836,0
DA:839,0
DA:834,3
DA:835,1
DA:841,0
DA:842,0
DA:844,0
DA:845,0
DA:846,0
DA:847,0
DA:848,0
DA:849,0
DA:850,0
DA:851,0
DA:852,0
DA:853,0
DA:855,0
DA:858,0
DA:861,0
DA:863,0
DA:864,0
DA:865,0
DA:866,0
DA:867,0
DA:868,0
DA:869,0
DA:871,0
DA:872,0
DA:874,0
DA:875,0
DA:876,0
DA:877,0
DA:878,0
DA:879,0
DA:880,0
DA:881,0
DA:882,0
DA:883,0
DA:884,0
DA:885,0
DA:887,0
DA:888,0
DA:890,0
DA:891,0
DA:892,0
DA:893,0
DA:897,0
DA:894,0
DA:895,0
DA:896,0
DA:898,0
DA:899,0
DA:900,0
DA:901,0
DA:902,0
DA:904,0
DA:907,0
DA:909,0
DA:913,0
DA:914,0
DA:915,0
DA:916,0
DA:917,0
DA:918,0
DA:919,0
DA:923,0
DA:925,0
DA:929,0
DA:930,0
DA:931,0
DA:932,0
DA:940,1
DA:941,1
DA:933,0
DA:934,0
DA:935,0
DA:939,0
DA:941,0
DA:947,0
DA:948,0
DA:950,0
DA:951,0
DA:952,0
DA:953,0
DA:954,0
DA:955,0
DA:958,0
DA:959,0
DA:962,1
DA:963,1
DA:964,2
DA:956,1
DA:957,1
DA:964,0
DA:965,0
DA:966,0
DA:967,0
DA:968,0
DA:969,0
DA:970,0
DA:971,0
DA:972,0
DA:973,0
DA:974,0
DA:976,0
DA:978,0
DA:980,1
DA:981,1
DA:982,2
DA:983,2
DA:984,2
DA:985,2
DA:986,1
DA:976,1
DA:977,1
DA:978,2
DA:980,0
DA:981,0
DA:982,0
DA:983,0
DA:984,0
DA:985,0
DA:986,0
DA:987,0
DA:988,0
DA:990,0
DA:991,0
DA:992,0
DA:995,0
DA:996,0
DA:997,0
DA:998,0
DA:999,0
DA:1000,0
DA:1001,0
DA:994,1
DA:995,1
DA:996,2
DA:997,2
DA:998,2
DA:999,2
DA:1000,1
DA:1004,0
DA:1005,0
DA:1006,0
DA:1008,0
DA:1012,1
DA:1013,2
DA:1014,2
DA:1015,3
DA:1016,0
DA:1021,0
DA:1009,0
DA:1010,0
DA:1011,0
DA:1012,0
DA:1013,0
DA:1014,0
DA:1015,0
DA:1019,0
DA:1020,0
DA:1022,0
DA:1023,0
DA:1025,0
DA:1026,0
DA:1028,0
DA:1029,0
DA:1026,1
DA:1027,2
DA:1028,2
DA:1029,3
DA:1030,0
DA:1032,0
DA:1033,0
DA:1035,0
DA:1036,0
DA:1037,0
DA:1039,0
DA:1040,0
DA:1041,0
DA:1042,0
DA:1043,0
DA:1044,0
DA:1046,0
DA:1047,0
DA:1048,0
DA:1050,1
DA:1051,3
DA:1053,3
DA:1054,3
DA:1055,3
DA:1049,0
DA:1050,0
DA:1051,0
DA:1053,0
DA:1054,0
DA:1055,0
DA:1057,0
DA:1058,0
DA:1059,0
DA:1060,0
DA:1061,0
DA:1062,0
DA:1063,0
DA:1065,0
DA:1066,0
DA:1067,0
DA:1069,0
DA:1070,0
DA:1064,1
DA:1065,3
DA:1067,3
DA:1068,3
DA:1069,3
DA:1071,0
DA:1072,0
DA:1073,0
DA:1074,0
DA:1075,0
DA:1079,2
DA:1080,2
DA:1081,3
DA:1082,1
DA:1083,2
DA:1076,0
DA:1077,0
DA:1079,0
DA:1080,0
DA:1081,0
DA:1083,0
DA:1084,0
DA:1086,1
DA:1089,1
DA:1090,1
DA:1091,1
DA:1092,1
DA:1093,1
DA:1094,0
DA:1096,2
DA:1100,2
DA:1101,2
DA:1103,2
DA:1104,2
DA:1106,2
DA:1109,0
DA:1113,0
DA:1114,0
DA:1116,0
DA:1117,0
DA:1119,0
DA:1120,0
DA:1121,0
DA:1085,0
DA:1087,0
DA:1088,0
DA:1089,0
DA:1093,2
DA:1094,2
DA:1095,3
DA:1096,1
DA:1097,2
DA:1098,0
DA:1100,1
DA:1103,1
DA:1104,1
DA:1105,1
DA:1106,1
DA:1107,1
DA:1108,0
DA:1110,2
DA:1114,2
DA:1115,2
DA:1117,2
DA:1118,2
DA:1120,2
DA:1123,0
DA:1124,0
DA:1125,0
DA:1126,0
DA:1127,0
DA:1128,0
DA:1129,0
DA:1130,0
DA:1131,0
DA:1133,0
DA:1134,0
DA:1135,0
DA:1137,0
DA:1138,0
DA:1139,0
DA:1140,0
DA:1141,0
DA:1142,0
DA:1143,0
DA:1144,0
DA:1149,1
DA:1150,1
DA:1151,3
DA:1152,3
DA:1153,3
DA:1158,1
DA:1159,1
DA:1160,2
DA:1161,1
DA:1177,1
DA:1145,0
DA:1147,0
DA:1151,0
DA:1152,0
DA:1153,0
DA:1154,0
DA:1155,0
DA:1157,0
DA:1158,0
DA:1165,1
DA:1170,1
DA:1171,2
DA:1172,2
DA:1174,0
DA:1175,0
DA:1178,2
DA:1181,2
DA:1182,1
DA:1183,2
DA:1179,1
DA:1180,2
DA:1181,0
DA:1183,3
DA:1184,1
DA:1185,1
DA:1187,2
DA:1191,1
DA:1192,1
DA:1212,1
DA:1213,2
DA:1216,2
DA:1217,1
DA:1218,2
DA:1219,2
DA:1222,2
DA:1224,1
DA:1186,1
DA:1187,1
DA:1188,1
DA:1189,1
DA:1190,0
DA:1192,0
DA:1197,1
DA:1198,1
DA:1199,3
DA:1200,3
DA:1201,3
DA:1206,1
DA:1207,1
DA:1208,2
DA:1209,1
DA:1225,1
DA:1226,2
DA:1229,2
DA:1230,1
DA:1231,1
DA:1247,0
DA:1249,0
DA:1250,0
DA:1251,0
DA:1254,0
DA:1255,0
DA:1256,0
DA:1257,0
DA:1258,0
DA:1260,0
DA:1261,0
DA:1262,0
DA:1265,0
DA:1266,0
DA:1267,0
DA:1268,0
DA:1271,0
DA:1272,0
DA:1273,0
DA:1276,0
DA:1278,0
DA:1279,0
DA:1282,0
DA:1288,0
DA:1289,0
DA:1305,1
DA:1306,1
DA:1307,1
DA:1320,1
DA:1321,1
DA:1322,3
DA:1326,2
DA:1328,2
DA:1330,2
DA:1334,1
DA:1335,1
DA:1336,1
DA:1338,2
DA:1340,1
DA:1341,1
DA:1342,1
DA:1343,1
DA:1345,1
DA:1346,2
DA:1347,1
DA:1350,1
DA:1351,1
DA:1352,1
DA:1231,2
DA:1232,1
DA:1233,1
DA:1235,2
DA:1239,1
DA:1240,1
DA:1260,1
DA:1261,2
DA:1264,2
DA:1265,1
DA:1266,2
DA:1267,2
DA:1270,2
DA:1272,1
DA:1274,2
DA:1278,1
DA:1279,1
DA:1295,0
DA:1297,0
DA:1298,0
DA:1299,0
DA:1302,0
DA:1303,0
DA:1304,0
DA:1305,0
DA:1306,0
DA:1308,0
DA:1309,0
DA:1310,0
DA:1313,0
DA:1314,0
DA:1315,0
DA:1316,0
DA:1319,0
DA:1320,0
DA:1321,0
DA:1324,0
DA:1326,0
DA:1327,0
DA:1330,0
DA:1336,0
DA:1337,0
DA:1353,1
DA:1354,1
DA:1355,1
DA:1356,0
DA:1358,0
DA:1359,0
DA:1362,2
DA:1363,1
DA:1365,1
DA:1367,1
DA:1368,1
DA:1369,1
DA:1370,2
DA:1371,2
DA:1373,1
DA:1375,3
DA:1370,3
DA:1374,2
DA:1376,2
DA:1378,0
DA:1379,0
DA:1382,2
DA:1383,2
DA:1385,1
DA:1390,0
DA:1391,0
DA:1392,0
DA:1393,0
DA:1395,0
DA:1396,0
DA:1397,0
DA:1398,0
DA:1399,0
DA:1400,0
DA:1402,0
DA:1403,0
DA:1378,2
DA:1382,1
DA:1383,1
DA:1384,1
DA:1386,2
DA:1388,1
DA:1389,1
DA:1390,2
DA:1391,1
DA:1393,1
DA:1394,2
DA:1395,1
DA:1398,1
DA:1399,1
DA:1400,1
DA:1401,2
DA:1402,1
DA:1403,1
DA:1404,0
DA:1405,0
DA:1406,0
DA:1407,0
DA:1408,0
DA:1410,0
DA:1411,0
DA:1414,0
DA:1418,0
DA:1419,0
DA:1422,0
DA:1410,3
DA:1411,2
DA:1413,1
DA:1415,1
DA:1416,1
DA:1417,1
DA:1418,2
DA:1419,2
DA:1421,1
DA:1423,2
DA:1424,2
DA:1426,0
DA:1427,0
DA:1430,1
DA:1431,1
DA:1432,2
DA:1433,2
DA:1434,2
DA:1435,3
DA:1436,1
DA:1433,1
DA:1438,0
DA:1439,0
DA:1440,0
DA:1441,0
DA:1443,0
DA:1444,0
DA:1445,0
DA:1446,0
DA:1447,0
DA:1448,0
DA:1452,1
DA:1453,1
DA:1454,1
DA:1455,2
DA:1456,2
DA:1457,3
DA:1458,1
DA:1459,7
DA:1460,2
DA:1461,1
DA:1462,1
DA:1463,1
DA:1464,1
DA:1469,2
DA:1470,1
DA:1472,0
DA:1473,0
DA:1476,1
DA:1477,1
DA:1478,2
DA:1479,2
DA:1450,0
DA:1451,0
DA:1452,0
DA:1453,0
DA:1454,0
DA:1455,0
DA:1456,0
DA:1458,0
DA:1459,0
DA:1462,0
DA:1466,0
DA:1467,0
DA:1470,0
DA:1475,0
DA:1479,1
DA:1480,2
DA:1481,2
DA:1482,2
DA:1483,1
DA:1485,0
DA:1483,3
DA:1484,1
DA:1486,0
DA:1489,1
DA:1490,1
DA:1491,2
DA:1492,3
DA:1493,2
DA:1496,2
DA:1497,1
DA:1498,3
DA:1499,1
DA:1500,3
DA:1501,3
DA:1487,0
DA:1488,0
DA:1496,0
DA:1500,1
DA:1501,1
DA:1502,1
DA:1504,0
DA:1505,0
DA:1506,0
DA:1509,0
DA:1510,0
DA:1511,0
DA:1515,0
DA:1516,0
DA:1519,1
DA:1520,1
DA:1521,1
DA:1526,1
DA:1503,2
DA:1504,2
DA:1505,3
DA:1506,1
DA:1507,7
DA:1508,2
DA:1509,1
DA:1510,1
DA:1511,1
DA:1512,1
DA:1517,2
DA:1518,1
DA:1520,0
DA:1521,0
DA:1524,1
DA:1525,1
DA:1526,2
DA:1527,2
DA:1528,1
DA:1531,0
DA:1532,0
DA:1530,2
DA:1531,1
DA:1533,0
DA:1573,1
DA:1574,3
DA:1575,3
DA:1579,1
DA:1580,2
DA:1581,1
DA:1583,0
DA:1584,0
DA:1587,2
DA:1589,1
DA:1591,0
DA:1592,0
DA:1593,0
DA:1594,0
DA:1595,0
DA:1596,0
DA:1597,0
DA:1598,0
DA:1600,0
DA:1601,0
DA:1602,0
DA:1607,0
DA:1608,0
DA:1609,0
DA:1619,2
DA:1621,2
DA:1628,1
DA:1629,6
DA:1630,5
DA:1635,1
DA:1636,2
DA:1637,2
DA:1638,1
DA:1639,2
DA:1534,0
DA:1537,1
DA:1538,1
DA:1539,2
DA:1540,3
DA:1541,2
DA:1544,2
DA:1545,1
DA:1546,3
DA:1547,1
DA:1548,3
DA:1549,3
DA:1550,1
DA:1552,0
DA:1553,0
DA:1554,0
DA:1557,0
DA:1558,0
DA:1559,0
DA:1563,0
DA:1564,0
DA:1567,1
DA:1568,1
DA:1569,1
DA:1574,1
DA:1575,2
DA:1576,1
DA:1579,0
DA:1580,0
DA:1581,0
DA:1621,1
DA:1622,1
DA:1623,1
DA:1627,1
DA:1628,2
DA:1629,1
DA:1631,0
DA:1632,0
DA:1635,2
DA:1637,1
DA:1639,0
DA:1640,0
DA:1641,0
DA:1665,2
DA:1666,4
DA:1667,4
DA:1668,2
DA:1669,0
DA:1671,0
DA:1700,1
DA:1701,2
DA:1702,1
DA:1703,0
DA:1705,3
DA:1706,1
DA:1710,1
DA:1711,2
DA:1712,2
DA:1642,0
DA:1643,0
DA:1644,0
DA:1645,0
DA:1646,0
DA:1648,0
DA:1649,0
DA:1650,0
DA:1655,0
DA:1656,0
DA:1657,0
DA:1667,2
DA:1669,2
DA:1676,1
DA:1677,7
DA:1678,5
DA:1683,1
DA:1684,2
DA:1685,2
DA:1686,1
DA:1687,2
DA:1689,0
DA:1713,2
DA:1714,4
DA:1718,1
DA:1719,2
DA:1720,0
DA:1722,2
DA:1725,0
DA:1726,0
DA:1727,0
DA:1728,0
DA:1729,0
DA:1730,0
DA:1731,0
DA:1732,0
DA:1733,0
DA:1734,0
DA:1735,0
DA:1736,0
DA:1738,0
DA:1740,0
DA:1743,0
DA:1744,0
DA:1745,0
DA:1746,0
DA:1761,1
DA:1762,1
DA:1763,4
DA:1764,2
DA:1768,1
DA:1769,2
DA:1715,4
DA:1716,2
DA:1717,0
DA:1719,0
DA:1748,1
DA:1749,4
DA:1750,2
DA:1751,0
DA:1753,6
DA:1754,2
DA:1758,1
DA:1759,2
DA:1760,2
DA:1762,4
DA:1766,1
DA:1767,2
DA:1768,0
DA:1770,2
DA:1771,2
DA:1772,2
DA:1773,5
DA:1776,1
DA:1778,2
DA:1780,4
DA:1773,0
DA:1774,0
DA:1775,0
DA:1776,0
DA:1777,0
DA:1778,0
DA:1779,0
DA:1780,0
DA:1781,0
DA:1782,0
DA:1783,0
DA:1784,0
DA:1786,0
DA:1788,0
DA:1791,0
DA:1792,0
DA:1793,0
DA:1794,0
DA:1809,1
DA:1810,1
DA:1811,2
DA:1811,4
DA:1812,2
DA:1813,1
DA:1814,6
DA:1826,1
DA:1828,0
DA:1830,1
DA:1845,1
DA:1846,1
DA:1849,1
DA:1850,3
DA:1862,1
DA:1863,1
DA:1866,0
DA:1867,0
DA:1868,0
DA:1870,0
DA:1874,0
DA:1875,0
DA:1816,1
DA:1817,2
DA:1818,2
DA:1819,2
DA:1820,2
DA:1821,5
DA:1824,1
DA:1826,2
DA:1828,4
DA:1831,0
DA:1858,1
DA:1859,2
DA:1860,2
DA:1861,1
DA:1862,6
DA:1874,1
DA:1876,0
DA:1878,0
DA:1882,0
DA:1884,0
DA:1885,0
DA:1892,1
DA:1894,2
DA:1895,1
DA:1896,1
DA:1878,1
DA:1893,1
DA:1894,1
DA:1897,1
DA:1898,3
DA:1911,2
DA:1912,2
DA:1913,4
DA:1914,4
DA:1915,12
DA:1916,8
DA:1918,1
DA:1919,3
DA:1920,1
DA:1923,1
DA:1925,1
DA:1926,8
LF:686
LH:263
DA:1910,1
DA:1911,1
DA:1914,0
DA:1915,0
DA:1916,0
DA:1918,0
DA:1922,0
DA:1923,0
DA:1924,0
DA:1926,0
DA:1930,0
DA:1932,0
DA:1933,0
DA:1940,1
DA:1942,2
DA:1943,1
DA:1944,1
DA:1946,3
DA:1959,2
DA:1960,2
DA:1961,4
DA:1962,4
DA:1963,12
DA:1964,8
DA:1966,1
DA:1967,3
DA:1968,1
DA:1971,1
DA:1973,1
DA:1974,8
LF:702
LH:276
end_of_record
+32 −0
Original line number Diff line number Diff line
%% Cell type:code id: tags:

``` rust
:dep pipe-lib = { path = "../pipe-lib" }
```

%% Cell type:code id: tags:

``` rust
:dep reqwest
:dep tokio = { version = "1.39.2", features = ["rt", "time", "rt-multi-thread"] }
:dep bytes
```

%% Cell type:code id: tags:

``` rust
:dep toml
:dep serde = { version = "1.0.188", features = ["derive"] }
```

%% Cell type:code id: tags:

``` rust
use serde::Deserialize;
use toml;

#[derive(Debug, Deserialize)]
struct Config {
    global_string: Option<String>,
    global_integer: Option<u64>,
}
let toml_str = r#"
	global_string = "test"
	global_integer = 5
"#;

let data: Config = toml::from_str(toml_str).unwrap();
println!("{data:#?}");
```

%% Output

    Config {
        global_string: Some(
            "test",
        ),
        global_integer: Some(
            5,
        ),
    }

%% Cell type:code id: tags:

``` rust
```
+1 −0
Original line number Diff line number Diff line
@@ -34,3 +34,4 @@ reqwest = "0.12.8"
bytes = "1.7.2"
is_executable = "1.0.4"
toml = "0.8.19"
pyproject-toml = "0.11.0"
+51 −2
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@ use rayon::prelude::*;
use serde::ser::StdError;
use serde::{Deserialize, Serialize};
use serde_json::{Map, Number, Value};
use serde_yml;
use sha2::{Digest, Sha256};
use std::collections::HashMap;
use std::convert::TryFrom;
@@ -365,6 +364,22 @@ pub struct Parameters {
    /// Custom string data
    pub custom: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct PyProjectToml {
    #[serde(flatten)]
    inner: pyproject_toml::PyProjectToml,
    tool: Option<PyProjectTool>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "kebab-case")]
pub struct PyProjectTool {
    pipe: Option<ToolPipe>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "kebab-case")]
pub struct ToolPipe {
    module_name: String,
}
#[derive(Clone, Debug)]
pub struct Reporter {
    /// Reporter type name
@@ -1144,6 +1159,40 @@ impl ModuleUri<'_> {
        }
    }
}
impl std::ops::Deref for PyProjectToml {
    type Target = pyproject_toml::PyProjectToml;

    fn deref(&self) -> &Self::Target {
        &self.inner
    }
}
impl PyProjectToml {
    pub fn read(path: PathBuf) -> Result<Self, toml::de::Error> {
        let content = match read_file(path.clone()) {
            | Ok(value) if !value.is_empty() => value,
            | Ok(_) | Err(_) => {
                error!(path = path.to_str().unwrap(), "=> {} PyProject.toml content is not valid", Label::fail());
                "{}".to_owned()
            }
        };
        let data: Result<PyProjectToml, toml::de::Error> = toml::from_str(&content);
        let label = match data {
            | Ok(_) => Label::output(),
            | Err(_) => Label::invalid(),
        };
        trace!("=> {} PyProject.toml = {:#?}", label, data.dimmed());
        data
    }
    pub fn get_module_name(self) -> Option<String> {
        match self.tool {
            | Some(PyProjectTool { pipe, .. }) => match pipe {
                | Some(ToolPipe { module_name, .. }) => Some(module_name),
                | None => None,
            },
            | None => None,
        }
    }
}
impl SemanticVersion {
    pub fn from_string(version: &str) -> SemanticVersion {
        let mut parts = version.split('.');
Loading