{"ref":"artifact:marcellourbani-abapgraph","page":"/artifacts/marcellourbani-abapgraph","json":"/artifacts/marcellourbani-abapgraph.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"marcellourbani-abapgraph","name":"abapgraph","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"An ABAP library for creating Graphviz graphs, written to give the maintainer's own ABAP debugger object graph extension a more compact layout, with demo code as its documentation.","short":"ABAP library for creating Graphviz graphs","what_it_solves":"A library for creating Graphviz graphs from ABAP, with the example code in its demo folder as the documentation: the README runs to four lines and there is nothing beyond that. The maintainer states he developed it for his [ABAP debugger object graph extension](https://github.com/marcellourbani/abap_debugger_object_graph_extension), to give that extension a more compact layout. It stops at the graph, and nothing in it reads a package, a class or a table to decide what a graph should contain. The two example pictures are ABAP object structures, one an iterator over a linked list and one from the openSAP course [Writing Testable Code for ABAP](https://open.sap.com/courses/wtc1)."},"links":{"repo":"https://github.com/marcellourbani/abapgraph"},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:model-visualisation","what_it_does":"Draws the graph rather than extracting it: a Graphviz graph built from ABAP, written for the maintainer's debugger object graph extension to lay out object hierarchies more compactly.","sources":[{"url":"https://github.com/marcellourbani/abapgraph","title":"marcellourbani/abapgraph — README","checked":"2026-09-18","quote":"A library to create graphviz graphs in ABAP, see the example code in the demo folder."},{"url":"https://github.com/marcellourbani/abapgraph","title":"marcellourbani/abapgraph — README","checked":"2026-09-18","quote":"Developed for Abap debugger object graph extension to give a more compact layout"}]}],"maintainers":["actor:marcellourbani"],"provenance":{"discovered_via":[{"source":"source:github-orgs","channel":"marcellourbani"}],"first_seen":"2026-09-18"},"drafted_with_ai":true,"contributors":["actor:larshp","actor:marcellourbani"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors"},{"label":"Repository","tier":"poor","evidence":"pushed 2020-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"poor","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":19,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":19,"forks":2,"open_issues":1,"archived":false,"pushed_at":"2020-10-22","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2018-09-02T19:30:02Z","tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":699,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2018-09-02","last_commit":"2020-09-17","commits":18,"contributors":2,"readme_path":"README.md","readme_sha":"669d0e7422a7b92a3876d5848875f7fb10a7a61b","open_prs":0,"repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:marcellourbani","name":"Marcello Urbani","json":"/actors/marcellourbani.json"}],"contributors":[{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:marcellourbani","name":"Marcello Urbani","json":"/actors/marcellourbani.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:marcellourbani-abap-debugger-object-graph-extension","name":"abap_debugger_object_graph_extension","json":"/artifacts/marcellourbani-abap-debugger-object-graph-extension.json","requirement":"required"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}