{"id":15357617,"url":"https://github.com/cvzi/py_treedraw","last_synced_at":"2025-04-04T11:45:55.285Z","repository":{"id":146248943,"uuid":"97821390","full_name":"cvzi/py_treedraw","owner":"cvzi","description":"Generate layout for drawing a tree in 2D. Based on the improved Walker Algorithm. ","archived":false,"fork":false,"pushed_at":"2019-09-08T20:40:10.000Z","size":46,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T21:42:10.529Z","etag":null,"topics":["graph-algorithms","graph-drawing","level-based","tree","tree-drawing","visualization"],"latest_commit_sha":null,"homepage":"https://www.researchgate.net/publication/30508504_Improving_Walker%27s_Algorithm_to_Run_in_Linear_Time","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cvzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-20T10:14:18.000Z","updated_at":"2025-01-06T22:22:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"42d2b0a8-e811-47c8-97f1-29fe3ac9ab90","html_url":"https://github.com/cvzi/py_treedraw","commit_stats":{"total_commits":25,"total_committers":2,"mean_commits":12.5,"dds":0.12,"last_synced_commit":"87f98a577a84b20fa60c0dd6d80900d5a710e1cd"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvzi%2Fpy_treedraw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvzi%2Fpy_treedraw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvzi%2Fpy_treedraw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvzi%2Fpy_treedraw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cvzi","download_url":"https://codeload.github.com/cvzi/py_treedraw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247174400,"owners_count":20896074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graph-algorithms","graph-drawing","level-based","tree","tree-drawing","visualization"],"created_at":"2024-10-01T12:37:09.599Z","updated_at":"2025-04-04T11:45:55.262Z","avatar_url":"https://github.com/cvzi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"treedraw.py\n===========\n\n![Example screenshot with pygame](https://raw.githubusercontent.com/cvzi/py_treedraw/master/pygame_treedraw_example.png)\n\nThis module implements a layout algorithm for a tree.\nEach node in the tree has a layout property that contains an x and y \ncoordinate.\n\nThe layout is calculated by calling the method \"walker(distance)\".\n\nThe distance property indicated the distance between nodes on the same level.\nIf the tree is build up using the addChild/removeChild methods, the layout\nwill be calculated in linear time _O(n)_. \n\nThe algorithm is a python implemenation of this publication [\"Improving \nWalker's Algorithm to Run in Linear Time\"](http://citeseer.ist.psu.edu/buchheim02improving.html) by Christoph Buchheim, Michael Jünger, Sebastian Leipert.\n\nTested with Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6 and 3.7\n\nThe example code ([example.py](https://github.com/cvzi/py_treedraw/blob/master/example.py#L37-L92)) requires [pygame](https://www.pygame.org/wiki/GettingStarted) for the graphical interface.\n\n[![Build Status](https://travis-ci.org/cvzi/py_treedraw.svg?branch=master)](https://travis-ci.org/cvzi/py_treedraw)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5324af341edb4e17b7ef69c78b3078ed)](https://www.codacy.com/app/cuzi/py_treedraw?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=cvzi/py_treedraw\u0026amp;utm_campaign=Badge_Grade)\n[![Coverage Status](https://coveralls.io/repos/github/cvzi/py_treedraw/badge.svg?branch=master)](https://coveralls.io/github/cvzi/py_treedraw?branch=master)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvzi%2Fpy_treedraw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcvzi%2Fpy_treedraw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvzi%2Fpy_treedraw/lists"}