{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2020:D54DT6L32UX2J6NL2HNK2J2NNF","short_pith_number":"pith:D54DT6L3","canonical_record":{"source":{"id":"2009.03302","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2020-09-05T12:54:57Z","cross_cats_sorted":[],"title_canon_sha256":"842268e00483f3ba07814d4a59d8e02567cde98718f34930fd138957cfc2a311","abstract_canon_sha256":"06fb67e3789bd1f8abf3562924470beaccafc3f1bdd3e63d388fc863a2473f14"},"schema_version":"1.0"},"canonical_sha256":"1f7839f97bd52fa4f9abd1daad274d697379d90067103e90ed8492536b944822","source":{"kind":"arxiv","id":"2009.03302","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2009.03302","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"arxiv_version","alias_value":"2009.03302v1","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2009.03302","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"pith_short_12","alias_value":"D54DT6L32UX2","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"pith_short_16","alias_value":"D54DT6L32UX2J6NL","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"pith_short_8","alias_value":"D54DT6L3","created_at":"2026-07-05T01:33:45Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2020:D54DT6L32UX2J6NL2HNK2J2NNF","target":"record","payload":{"canonical_record":{"source":{"id":"2009.03302","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2020-09-05T12:54:57Z","cross_cats_sorted":[],"title_canon_sha256":"842268e00483f3ba07814d4a59d8e02567cde98718f34930fd138957cfc2a311","abstract_canon_sha256":"06fb67e3789bd1f8abf3562924470beaccafc3f1bdd3e63d388fc863a2473f14"},"schema_version":"1.0"},"canonical_sha256":"1f7839f97bd52fa4f9abd1daad274d697379d90067103e90ed8492536b944822","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T01:33:45.589294Z","signature_b64":"Icbea2bBHZgDP7qonRZUdmjtmcf/R/rj4ejgDui+E+mTYjUiJOUr/Xk57A7J2PgB2x3XbNJ4bPZ/VmHzjqchAA==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"1f7839f97bd52fa4f9abd1daad274d697379d90067103e90ed8492536b944822","last_reissued_at":"2026-07-05T01:33:45.588946Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T01:33:45.588946Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"2009.03302","source_version":1,"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-05T01:33:45Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"TZcXNNuSKWZ3f1vbZ3lUKmYk1EYRad2euObWyPzpSTUQH4uhKpLNLIyX+28yNf3mVXLP62nVMQExOtYQjmftAA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-07-07T04:12:51.718588Z"},"content_sha256":"828fdeca49ead99c1e24faf304fdbb741136d1a025febcb29290c4c197dc8760","schema_version":"1.0","event_id":"sha256:828fdeca49ead99c1e24faf304fdbb741136d1a025febcb29290c4c197dc8760"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2020:D54DT6L32UX2J6NL2HNK2J2NNF","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Teddy: Automatic Recommendation of Pythonic Idiom Usage For Pull-Based Software Projects","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Chaiyong Ragkhitwetsagul, Morakot Choetkiertikul, Naruedon Wattanakul, Purit Phan-udom, Raula Gaikovina Kula, Tattiya Sakulniwat, Thanwadee Sunetnanta","submitted_at":"2020-09-05T12:54:57Z","abstract_excerpt":"Pythonic code is idiomatic code that follows guiding principles and practices within the Python community. Offering performance and readability benefits, Pythonic code is claimed to be widely adopted by experienced Python developers, but can be a learning curve to novice programmers. To aid with Pythonic learning, we create an automated tool, called Teddy, that can help checking the Pythonic idiom usage. The tool offers a prevention mode with Just-In-Time analysis to recommend the use of Pythonic idiom during code review and a detection mode with historical analysis to run a thorough scan of i"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2009.03302","kind":"arxiv","version":1},"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/2009.03302/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-05T01:33:45Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"aZVUwExITIucPipRA5uqAmA/xWLAOFx9dOknmwuF9tRhtAWebPHfcpWnFqBEIcw1lLte0ez18zCG1TX4mpPGBw==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-07-07T04:12:51.718971Z"},"content_sha256":"750f08e96ae5f3f3075313a6783d0cbb4c00cf5581fe719e5167747c29f4a080","schema_version":"1.0","event_id":"sha256:750f08e96ae5f3f3075313a6783d0cbb4c00cf5581fe719e5167747c29f4a080"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/D54DT6L32UX2J6NL2HNK2J2NNF/bundle.json","state_url":"https://pith.science/pith/D54DT6L32UX2J6NL2HNK2J2NNF/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/D54DT6L32UX2J6NL2HNK2J2NNF/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-07-07T04:12:51Z","links":{"resolver":"https://pith.science/pith/D54DT6L32UX2J6NL2HNK2J2NNF","bundle":"https://pith.science/pith/D54DT6L32UX2J6NL2HNK2J2NNF/bundle.json","state":"https://pith.science/pith/D54DT6L32UX2J6NL2HNK2J2NNF/state.json","well_known_bundle":"https://pith.science/.well-known/pith/D54DT6L32UX2J6NL2HNK2J2NNF/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2020:D54DT6L32UX2J6NL2HNK2J2NNF","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":"06fb67e3789bd1f8abf3562924470beaccafc3f1bdd3e63d388fc863a2473f14","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2020-09-05T12:54:57Z","title_canon_sha256":"842268e00483f3ba07814d4a59d8e02567cde98718f34930fd138957cfc2a311"},"schema_version":"1.0","source":{"id":"2009.03302","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2009.03302","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"arxiv_version","alias_value":"2009.03302v1","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2009.03302","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"pith_short_12","alias_value":"D54DT6L32UX2","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"pith_short_16","alias_value":"D54DT6L32UX2J6NL","created_at":"2026-07-05T01:33:45Z"},{"alias_kind":"pith_short_8","alias_value":"D54DT6L3","created_at":"2026-07-05T01:33:45Z"}],"graph_snapshots":[{"event_id":"sha256:750f08e96ae5f3f3075313a6783d0cbb4c00cf5581fe719e5167747c29f4a080","target":"graph","created_at":"2026-07-05T01:33:45Z","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/2009.03302/integrity.json","findings":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938","summary":{"advisory":0,"by_detector":{},"critical":0,"informational":0}},"paper":{"abstract_excerpt":"Pythonic code is idiomatic code that follows guiding principles and practices within the Python community. Offering performance and readability benefits, Pythonic code is claimed to be widely adopted by experienced Python developers, but can be a learning curve to novice programmers. To aid with Pythonic learning, we create an automated tool, called Teddy, that can help checking the Pythonic idiom usage. The tool offers a prevention mode with Just-In-Time analysis to recommend the use of Pythonic idiom during code review and a detection mode with historical analysis to run a thorough scan of i","authors_text":"Chaiyong Ragkhitwetsagul, Morakot Choetkiertikul, Naruedon Wattanakul, Purit Phan-udom, Raula Gaikovina Kula, Tattiya Sakulniwat, Thanwadee Sunetnanta","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2020-09-05T12:54:57Z","title":"Teddy: Automatic Recommendation of Pythonic Idiom Usage For Pull-Based Software Projects"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2009.03302","kind":"arxiv","version":1},"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:828fdeca49ead99c1e24faf304fdbb741136d1a025febcb29290c4c197dc8760","target":"record","created_at":"2026-07-05T01:33:45Z","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":"06fb67e3789bd1f8abf3562924470beaccafc3f1bdd3e63d388fc863a2473f14","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2020-09-05T12:54:57Z","title_canon_sha256":"842268e00483f3ba07814d4a59d8e02567cde98718f34930fd138957cfc2a311"},"schema_version":"1.0","source":{"id":"2009.03302","kind":"arxiv","version":1}},"canonical_sha256":"1f7839f97bd52fa4f9abd1daad274d697379d90067103e90ed8492536b944822","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"1f7839f97bd52fa4f9abd1daad274d697379d90067103e90ed8492536b944822","first_computed_at":"2026-07-05T01:33:45.588946Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-07-05T01:33:45.588946Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"Icbea2bBHZgDP7qonRZUdmjtmcf/R/rj4ejgDui+E+mTYjUiJOUr/Xk57A7J2PgB2x3XbNJ4bPZ/VmHzjqchAA==","signature_status":"signed_v1","signed_at":"2026-07-05T01:33:45.589294Z","signed_message":"canonical_sha256_bytes"},"source_id":"2009.03302","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:828fdeca49ead99c1e24faf304fdbb741136d1a025febcb29290c4c197dc8760","sha256:750f08e96ae5f3f3075313a6783d0cbb4c00cf5581fe719e5167747c29f4a080"],"state_sha256":"03ab9044ae9f45913c031b47c56ba0870afaf26de4781ddf9afb32e853eb003e"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"Bl/I4lr9Y6nX5F9JO3qKGXHXaBXj8TSvQB+eQanay0ndnIPyrxab/mBIVoJUqBSEATZb8WdVGWONQ+KbHFe0Dg==","signed_message":"bundle_sha256_bytes","signed_at":"2026-07-07T04:12:51.720952Z","bundle_sha256":"80c5edaf65713cc38267983f5a9272b1f7d230f1eec0db2d86c7d9fd553f0fda"}}