{"id":14977824,"url":"https://github.com/completementgaga/npgui","last_synced_at":"2026-02-27T10:35:53.162Z","repository":{"id":164922848,"uuid":"626159972","full_name":"completementgaga/npGUI","owner":"completementgaga","description":"This package implements Graphical User Interfaces from a NumPy user perspective.","archived":false,"fork":false,"pushed_at":"2023-05-15T18:41:50.000Z","size":4543,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-14T07:49:18.687Z","etag":null,"topics":["graphical-user-interface","gui","numpy","open-source","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/completementgaga.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":"2023-04-10T23:26:05.000Z","updated_at":"2025-02-04T21:21:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"283d25f8-2fd4-4260-a3e7-7f45da3eca12","html_url":"https://github.com/completementgaga/npGUI","commit_stats":{"total_commits":27,"total_committers":1,"mean_commits":27.0,"dds":0.0,"last_synced_commit":"e3959937d07d407a07412cf65c98ce6cc1824784"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/completementgaga%2FnpGUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/completementgaga%2FnpGUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/completementgaga%2FnpGUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/completementgaga%2FnpGUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/completementgaga","download_url":"https://codeload.github.com/completementgaga/npGUI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241549118,"owners_count":19980476,"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":["graphical-user-interface","gui","numpy","open-source","python"],"created_at":"2024-09-24T13:56:23.737Z","updated_at":"2026-02-27T10:35:53.123Z","avatar_url":"https://github.com/completementgaga.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# npGUI\n\nThis package implements Graphical User Interfaces from a NumPy user\nperspective: every image corresponds to an ndarray.\n\nThe main goal of this package is to provide a \nsimple way (given certain background and tastes) to build *prototypes* of graphical user interfaces.\nIn particular, we do not claim for computational performance.\n\n---\n## Main features\nThe core class is\nClickableImage whose instances' attributes are: \n\n\n* a dictionary of parameter values,\n* a callable that returns an image of fixed shape,\n* regions in that shape defined as boolean images of the same shape \n* and their corresponding callbacks.\n\nWhen calling the use method of an instance,\nthe dictionary is passed to the callable, that uses (some of) its values\nas arguments and outputs an image which is displayed in a window.\n\nUpon clicking on the distinguished regions, their callbacks are called\nand alter the parameter values. The image is then refreshed from this \ninput.\n\nWhen closing the window, the use method returns the dictionary with\nits altered values; whence the interaction with the user.\n\nThese objects can be stacked vertically and horizontally to compose more\ncomplex ones. A certain number of subclasses are proposed as basic \nbuilding blocks. The stacked blocks may have parameter keywords in common,\nwhich allows for interactions between them.\n\n## Installation\nThis package can be installed with pip as follows.\n\n```\n$ pip install np_gui\n```\n\n\nTo avoid [dependency hell](https://en.wikipedia.org/wiki/Dependency_hell),\nyou might consider installing this package in a virtual environment.\n\nAlternatively, you can check the pyproject.toml file to see if this package is\ncompatible with your setup ; which is likely.\n\n## Documentation\n\nA detailed documentation of this package is available on \n[GitHub Pages](https://completementgaga.github.io/npGUI/) --- as a website.\n\nIt is also available in pdf format\n[here](https://github.com/completementgaga/npGUI/blob/master/sphinx/build/latex/npgui.pdf).\n\n\n## Demo\n\nSome demonstration scripts are provided on the [GitHub repository](https://github.com/completementgaga/npGUI).\n\nThese are:\n* ./demo/puzzles/puzzles.py \n    | Preview of the puzzles.py demo.|\n    |:-----------------------------:|\n    |\u003cimg src=\"https://github.com/completementgaga/npGUI/raw/master/screenshots/puzzles_screenshot.png\"  width=\"300em\" title=\"clock.py preview\"\u003e|\n\n* ./demo/clock/clock.py\n\n    | Preview of the clock.py demo.|\n    |:-----------------------------:|\n    |\u003cimg src=\"https://github.com/completementgaga/npGUI/raw/master/screenshots/clock_screenshot.png\"  width=\"300em\" title=\"clock.py preview\"\u003e|\n\n## Further developments of the project\nThis package could benefit from several enhancements, among other things:\n \n * develop additional specialized subclasses of ClickableImage,\n * include keyboard interactions,\n * lighten its memory usage.\n\nFeel free to open the discussion through issues and pull requests on the [GitHub repository](https://github.com/completementgaga/npGUI).\n\nFeedback is also welcome by e-mail or by giving the project a star.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompletementgaga%2Fnpgui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompletementgaga%2Fnpgui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompletementgaga%2Fnpgui/lists"}