I thought I would share this here: extract python ...
# general
s
I thought I would share this here: extract python requirements from all targets
Copy code
pants peek :: --filter-target-type="['python_requirement']" | jq -rf helpe
rs/extract_requirements.jq
2
Copy code
[.[] | {
  address: .address,
  requirement: .requirements[]
}] |
map({
  address: .address,
  requirement: .requirement,
  package: (.requirement | sub("([<>=!~]+.*)$"; "")),
  version_spec: (if .requirement | test("[<>=!~]") then 
                  .requirement | match("([<>=!~]+.*)$") | .captures[0].string 
                else 
                  "" 
                end)
}) |
group_by(.package) |
map({
  package: .[0].package,
  total_count: length,
  version_specs: (map(.version_spec) | unique | sort | join(";")),
  requirements: (map(.requirement) | unique | sort | join(";")),
  addresses: (map(.address) | sort | join(";"))
}) |
sort_by(.total_count) |
reverse |
["package","total_count","version_specs","requirements","addresses"],
(.[] | [.package, .total_count, .version_specs, .requirements, .addresses]) |
@csv