digraph G { graph [rankdir=LR, clusterrank="local"]; subgraph cluster_G { graph [style="filled,rounded", fillcolor="#80808018", label=""]; AddAdmin [label="AddAdmin", style="filled", fillcolor="#ffffffb2", fontcolor="#000000", group="0"]; AddUser [label="AddUser", style="filled", fillcolor="#ffffffb2", fontcolor="#000000", group="1"]; ImportUser [label="ImportUser", style="filled", fillcolor="#ffffffb2", fontcolor="#000000", group="2"]; RemoveUser [label="RemoveUser", style="filled", fillcolor="#ffffffb2", fontcolor="#000000", group="3"]; subgraph cluster_AddAdmin { graph [style="filled,rounded", fillcolor="#80808018", label="AddAdmin"]; AddAdmin__add_admin [label="add_admin", style="filled", fillcolor="#feccccb2", fontcolor="#000000", group="0"]; AddAdmin__main [label="main", style="filled", fillcolor="#feccccb2", fontcolor="#000000", group="0"]; } subgraph cluster_AddUser { graph [style="filled,rounded", fillcolor="#80808018", label="AddUser"]; AddUser__add_user [label="add_user", style="filled", fillcolor="#f4feccb2", fontcolor="#000000", group="1"]; AddUser__main [label="main", style="filled", fillcolor="#f4feccb2", fontcolor="#000000", group="1"]; } subgraph cluster_ImportUser { graph [style="filled,rounded", fillcolor="#80808018", label="ImportUser"]; ImportUser__UserImporter [label="UserImporter", style="filled", fillcolor="#ccfee0b2", fontcolor="#000000", group="2"]; ImportUser__main [label="main", style="filled", fillcolor="#ccfee0b2", fontcolor="#000000", group="2"]; subgraph cluster_ImportUser__UserImporter { graph [style="filled,rounded", fillcolor="#80808018", label="ImportUser.UserImporter"]; ImportUser__UserImporter____init__ [label="__init__", style="filled", fillcolor="#99ffc1b2", fontcolor="#000000", group="2"]; ImportUser__UserImporter___user_to_db [label="_user_to_db", style="filled", fillcolor="#99ffc1b2", fontcolor="#000000", group="2"]; ImportUser__UserImporter__do_import [label="do_import", style="filled", fillcolor="#99ffc1b2", fontcolor="#000000", group="2"]; ImportUser__UserImporter__do_import_all [label="do_import_all", style="filled", fillcolor="#99ffc1b2", fontcolor="#000000", group="2"]; } subgraph cluster_ImportUser__main { graph [style="filled,rounded", fillcolor="#80808018", label="ImportUser.main"]; ImportUser__main__get_loader [label="get_loader", style="filled", fillcolor="#99ffc1b2", fontcolor="#000000", group="2"]; } } subgraph cluster_RemoveUser { graph [style="filled,rounded", fillcolor="#80808018", label="RemoveUser"]; RemoveUser__main [label="main", style="filled", fillcolor="#cce0feb2", fontcolor="#000000", group="3"]; RemoveUser__remove_user [label="remove_user", style="filled", fillcolor="#cce0feb2", fontcolor="#000000", group="3"]; } } AddAdmin -> AddAdmin__main [style="dashed", color="#838b8b"]; AddAdmin -> AddAdmin__add_admin [style="dashed", color="#838b8b"]; ImportUser -> ImportUser__main [style="dashed", color="#838b8b"]; ImportUser -> ImportUser__UserImporter [style="dashed", color="#838b8b"]; ImportUser__UserImporter -> ImportUser__UserImporter__do_import_all [style="dashed", color="#838b8b"]; ImportUser__UserImporter -> ImportUser__UserImporter___user_to_db [style="dashed", color="#838b8b"]; ImportUser__UserImporter -> ImportUser__UserImporter____init__ [style="dashed", color="#838b8b"]; ImportUser__UserImporter -> ImportUser__UserImporter__do_import [style="dashed", color="#838b8b"]; ImportUser__main -> ImportUser__main__get_loader [style="dashed", color="#838b8b"]; RemoveUser -> RemoveUser__main [style="dashed", color="#838b8b"]; RemoveUser -> RemoveUser__remove_user [style="dashed", color="#838b8b"]; AddUser -> AddUser__main [style="dashed", color="#838b8b"]; AddUser -> AddUser__add_user [style="dashed", color="#838b8b"]; AddAdmin -> AddAdmin__main [style="solid", color="#000000"]; AddAdmin__main -> AddAdmin__add_admin [style="solid", color="#000000"]; ImportUser -> ImportUser__main [style="solid", color="#000000"]; ImportUser__UserImporter__do_import -> ImportUser__UserImporter___user_to_db [style="solid", color="#000000"]; ImportUser__UserImporter__do_import_all -> ImportUser__UserImporter__do_import [style="solid", color="#000000"]; ImportUser__UserImporter__do_import_all -> ImportUser__UserImporter____init__ [style="solid", color="#000000"]; ImportUser__main -> ImportUser__UserImporter__do_import [style="solid", color="#000000"]; ImportUser__main -> ImportUser__UserImporter__do_import_all [style="solid", color="#000000"]; ImportUser__main -> ImportUser__UserImporter [style="solid", color="#000000"]; ImportUser__main -> ImportUser__main__get_loader [style="solid", color="#000000"]; ImportUser__main -> ImportUser__UserImporter____init__ [style="solid", color="#000000"]; RemoveUser -> RemoveUser__main [style="solid", color="#000000"]; RemoveUser__main -> RemoveUser__remove_user [style="solid", color="#000000"]; AddUser -> AddUser__main [style="solid", color="#000000"]; AddUser__main -> AddUser__add_user [style="solid", color="#000000"]; }