{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2022:YJ7J5WDBPNVZLH4AOEIKKD2LAU","short_pith_number":"pith:YJ7J5WDB","canonical_record":{"source":{"id":"2207.01124","kind":"arxiv","version":2},"metadata":{"license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.SE","submitted_at":"2022-07-03T21:00:08Z","cross_cats_sorted":[],"title_canon_sha256":"a377244df6b5e1bc790e25bb323c468b382fe3df3c07cacb2efb4263530127e3","abstract_canon_sha256":"df9cbb63aeeba490da63ab30f893b0eaa690cb08813a198e64b027320292489b"},"schema_version":"1.0"},"canonical_sha256":"c27e9ed8617b6b959f807110a50f4b051d1ada0fbc72478e02875fa580c5fd62","source":{"kind":"arxiv","id":"2207.01124","version":2},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2207.01124","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"arxiv_version","alias_value":"2207.01124v2","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2207.01124","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"pith_short_12","alias_value":"YJ7J5WDBPNVZ","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"pith_short_16","alias_value":"YJ7J5WDBPNVZLH4A","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"pith_short_8","alias_value":"YJ7J5WDB","created_at":"2026-07-05T07:39:25Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2022:YJ7J5WDBPNVZLH4AOEIKKD2LAU","target":"record","payload":{"canonical_record":{"source":{"id":"2207.01124","kind":"arxiv","version":2},"metadata":{"license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.SE","submitted_at":"2022-07-03T21:00:08Z","cross_cats_sorted":[],"title_canon_sha256":"a377244df6b5e1bc790e25bb323c468b382fe3df3c07cacb2efb4263530127e3","abstract_canon_sha256":"df9cbb63aeeba490da63ab30f893b0eaa690cb08813a198e64b027320292489b"},"schema_version":"1.0"},"canonical_sha256":"c27e9ed8617b6b959f807110a50f4b051d1ada0fbc72478e02875fa580c5fd62","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T07:39:25.258515Z","signature_b64":"8FQA5qyf8Tlr0/o03y0chLOMqvbyZSP0bY4ZHxn8h7hwIZOXApaMiYBWo9tpUHIHEs03ks+9OOLqtxMl6IbhBA==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"c27e9ed8617b6b959f807110a50f4b051d1ada0fbc72478e02875fa580c5fd62","last_reissued_at":"2026-07-05T07:39:25.258012Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T07:39:25.258012Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"2207.01124","source_version":2,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-07-05T07:39:25Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"FQgy3GHo6f6+M9mJLVi/QloBkUCxRwF8tKHkrk9//1fFyYaV3mMHV/RLouNfshqHQym3UY10ebKqKGZlLnxuDg==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-08-20T15:10:48.694395Z"},"content_sha256":"6d87d1210ec4b6bb2e7c3d6b90179654f31e5ac1c8e1ae12d669d219575860a1","schema_version":"1.0","event_id":"sha256:6d87d1210ec4b6bb2e7c3d6b90179654f31e5ac1c8e1ae12d669d219575860a1"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2022:YJ7J5WDBPNVZLH4AOEIKKD2LAU","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Characterizing Python Library Migrations","license":"http://creativecommons.org/licenses/by/4.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Ajay Kumar Jha, Ildar Akhmetov, Mohayeminul Islam, Sarah Nadi","submitted_at":"2022-07-03T21:00:08Z","abstract_excerpt":"Developers heavily rely on Application Programming Interfaces (APIs) from libraries to build their software. As software evolves, developers may need to replace the used libraries with alternate libraries, a process known as library migration. Doing this manually can be tedious, time-consuming, and prone to errors. Automated migration techniques can help alleviate some of this burden. However, designing effective automated migration techniques requires understanding the types of code changes required to transform client code that used the old library to the new library. This paper contributes "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2207.01124","kind":"arxiv","version":2},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2207.01124/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"verdict_id":null},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-07-05T07:39:25Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"4AMXgAQAUe7L3VLSHCM0BamLxM8mpiWfDw0/+YjQz4tW+bawkw4l6WUG/rWWFHzW7/Y2+e+6PuG/GdiuHa+uAQ==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-08-20T15:10:48.694767Z"},"content_sha256":"1668f67542416b8d6a54531ef7e2ee58b7386d1252011418582f793239408b65","schema_version":"1.0","event_id":"sha256:1668f67542416b8d6a54531ef7e2ee58b7386d1252011418582f793239408b65"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/YJ7J5WDBPNVZLH4AOEIKKD2LAU/bundle.json","state_url":"https://pith.science/pith/YJ7J5WDBPNVZLH4AOEIKKD2LAU/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/YJ7J5WDBPNVZLH4AOEIKKD2LAU/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-08-20T15:10:48Z","links":{"resolver":"https://pith.science/pith/YJ7J5WDBPNVZLH4AOEIKKD2LAU","bundle":"https://pith.science/pith/YJ7J5WDBPNVZLH4AOEIKKD2LAU/bundle.json","state":"https://pith.science/pith/YJ7J5WDBPNVZLH4AOEIKKD2LAU/state.json","well_known_bundle":"https://pith.science/.well-known/pith/YJ7J5WDBPNVZLH4AOEIKKD2LAU/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2022:YJ7J5WDBPNVZLH4AOEIKKD2LAU","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"df9cbb63aeeba490da63ab30f893b0eaa690cb08813a198e64b027320292489b","cross_cats_sorted":[],"license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.SE","submitted_at":"2022-07-03T21:00:08Z","title_canon_sha256":"a377244df6b5e1bc790e25bb323c468b382fe3df3c07cacb2efb4263530127e3"},"schema_version":"1.0","source":{"id":"2207.01124","kind":"arxiv","version":2}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2207.01124","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"arxiv_version","alias_value":"2207.01124v2","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2207.01124","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"pith_short_12","alias_value":"YJ7J5WDBPNVZ","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"pith_short_16","alias_value":"YJ7J5WDBPNVZLH4A","created_at":"2026-07-05T07:39:25Z"},{"alias_kind":"pith_short_8","alias_value":"YJ7J5WDB","created_at":"2026-07-05T07:39:25Z"}],"graph_snapshots":[{"event_id":"sha256:1668f67542416b8d6a54531ef7e2ee58b7386d1252011418582f793239408b65","target":"graph","created_at":"2026-07-05T07:39:25Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"integrity":{"available":true,"clean":true,"detectors_run":[],"endpoint":"/pith/2207.01124/integrity.json","findings":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938","summary":{"advisory":0,"by_detector":{},"critical":0,"informational":0}},"paper":{"abstract_excerpt":"Developers heavily rely on Application Programming Interfaces (APIs) from libraries to build their software. As software evolves, developers may need to replace the used libraries with alternate libraries, a process known as library migration. Doing this manually can be tedious, time-consuming, and prone to errors. Automated migration techniques can help alleviate some of this burden. However, designing effective automated migration techniques requires understanding the types of code changes required to transform client code that used the old library to the new library. This paper contributes ","authors_text":"Ajay Kumar Jha, Ildar Akhmetov, Mohayeminul Islam, Sarah Nadi","cross_cats":[],"headline":"","license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.SE","submitted_at":"2022-07-03T21:00:08Z","title":"Characterizing Python Library Migrations"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2207.01124","kind":"arxiv","version":2},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:6d87d1210ec4b6bb2e7c3d6b90179654f31e5ac1c8e1ae12d669d219575860a1","target":"record","created_at":"2026-07-05T07:39:25Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"df9cbb63aeeba490da63ab30f893b0eaa690cb08813a198e64b027320292489b","cross_cats_sorted":[],"license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.SE","submitted_at":"2022-07-03T21:00:08Z","title_canon_sha256":"a377244df6b5e1bc790e25bb323c468b382fe3df3c07cacb2efb4263530127e3"},"schema_version":"1.0","source":{"id":"2207.01124","kind":"arxiv","version":2}},"canonical_sha256":"c27e9ed8617b6b959f807110a50f4b051d1ada0fbc72478e02875fa580c5fd62","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"c27e9ed8617b6b959f807110a50f4b051d1ada0fbc72478e02875fa580c5fd62","first_computed_at":"2026-07-05T07:39:25.258012Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-07-05T07:39:25.258012Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"8FQA5qyf8Tlr0/o03y0chLOMqvbyZSP0bY4ZHxn8h7hwIZOXApaMiYBWo9tpUHIHEs03ks+9OOLqtxMl6IbhBA==","signature_status":"signed_v1","signed_at":"2026-07-05T07:39:25.258515Z","signed_message":"canonical_sha256_bytes"},"source_id":"2207.01124","source_kind":"arxiv","source_version":2}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:6d87d1210ec4b6bb2e7c3d6b90179654f31e5ac1c8e1ae12d669d219575860a1","sha256:1668f67542416b8d6a54531ef7e2ee58b7386d1252011418582f793239408b65"],"state_sha256":"f04acfc91cc0aa86c467c3a45f19c6b41ce2184efe73ff2a6338b00c66677fe5"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"2K/Q6TBxlbmX81opkPB+hGes2tlNGgqwftOB0IagV4i8dG8dAKp77PyUBcI+Rq50D1DtFR7fIfnHAqAlPoXKDA==","signed_message":"bundle_sha256_bytes","signed_at":"2026-08-20T15:10:48.697052Z","bundle_sha256":"372b4ee79a011c62b5cc909c1f035061699beb3cca8085d45286373665e3e480"}}