{"id":13839007,"url":"https://github.com/potocpav/python-concur","last_synced_at":"2025-04-11T08:31:10.012Z","repository":{"id":56492517,"uuid":"214350695","full_name":"potocpav/python-concur","owner":"potocpav","description":"Concur UI Framework for Python","archived":false,"fork":false,"pushed_at":"2024-10-06T22:21:34.000Z","size":3666,"stargazers_count":49,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T11:37:36.544Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/potocpav.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-11T05:28:27.000Z","updated_at":"2024-10-06T22:21:37.000Z","dependencies_parsed_at":"2022-08-15T19:50:17.144Z","dependency_job_id":null,"html_url":"https://github.com/potocpav/python-concur","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potocpav%2Fpython-concur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potocpav%2Fpython-concur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potocpav%2Fpython-concur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/potocpav%2Fpython-concur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/potocpav","download_url":"https://codeload.github.com/potocpav/python-concur/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248361505,"owners_count":21090914,"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":[],"created_at":"2024-08-04T16:00:44.631Z","updated_at":"2025-04-11T08:31:09.385Z","avatar_url":"https://github.com/potocpav.png","language":"Python","funding_links":[],"categories":["Integrations"],"sub_categories":[],"readme":"\n\u003ch1 align=\"center\"\u003e\n  Python Concur\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/ajnsit/purescript-concur/master/docs/logo.png\" height=\"100\"\u003e\n\u003c/p\u003e\n\n[![Build Status](https://travis-ci.com/potocpav/python-concur.svg?branch=master)](https://travis-ci.com/potocpav/python-concur)\n[![PyPI version](https://badge.fury.io/py/concur.svg)](https://pypi.org/project/concur)\n[![Python version](https://img.shields.io/pypi/pyversions/concur.svg)](https://pypi.org/project/concur)\n\n* [**API Reference**](https://potocpav.github.io/python-concur-docs/master/)\n* [**Documentation**](https://github.com/potocpav/python-concur-docs/)\n* [Homepage](https://potocpav.github.io/python-concur-docs/homepage.html)\n* [PyPI](https://pypi.org/project/concur/)\n* [Changelog](https://github.com/potocpav/python-concur/tree/master/CHANGELOG.md)\n\nConcur is a Python GUI framework based on synchronous generators.\n\nIt is a port of [Concur for Purescript](https://github.com/ajnsit/purescript-concur), implemented on top of the [Dear ImGui](https://github.com/ocornut/imgui) C++ UI library.\n\nFor introduction to core concepts, see the [documentation](file:///home/pavel/build/python-concur/docs/index.html#introduction). A more comprehensive introduction can be found in the [Documentation for the Haskell/Purescript versions](https://github.com/ajnsit/concur-documentation/blob/master/README.md). This obviously uses Haskell/Purescript syntax and semantics, but many of the concepts will apply to the Python version.\n\nBeing an abstraction over ImGui, Concur is best used for debugging, prototyping and data analysis, rather than user-facing applications. ImGui functions can be used directly for any functionality that is not wrapped by Concur. See the [PyImGui docs](https://pyimgui.readthedocs.io/en/latest/) for additional widgets, or [ImGui itself](https://github.com/ocornut/imgui) if you need to poke really deep.\n\n## Installation\n\nThe only dependencies are a C++ compiler, [GLFW](https://github.com/glfw/glfw) and Python \u003e= 3.6. GLFW is included in major Linux distros, and there are [pre-compiled binaries](https://www.glfw.org/download.html) for Windows and OS X.\n\n```sh\nsudo apt install libglfw3-dev # Ubuntu\nsudo pacman -S glfw           # Arch\n```\n\nConcur can be installed using pip:\n\n```sh\npip install concur\n```\n\nThis command should produce a very simple GUI app:\n\n```sh\npython -c 'import concur as c; c.main(c.button(\"Close\"))'\n```\n\nSee the [introductory tutorial](https://github.com/potocpav/python-concur-docs/blob/master/Introduction.md) to get started, or use any of the [examples](https://github.com/potocpav/python-concur/tree/master/examples) as a starting point for your app.\n\n## Development\n\nFor Concur development, clone the repo and install it using pip:\n\n```sh\ngit clone https://github.com/potocpav/python-concur.git\ncd python-concur\npip install -e.\n\nexamples/all.py # Run the examples to verify installation\n```\n\nTo run the tests, you need PyTest and PyTest-benchmark:\n\n```sh\npip install pytest pytest-benchmark\n\npytest # Run the tests\n\n# Alternatively, run the tests slowly\nSLOW_TEST=1 pytest\n```\n\nTo build documentation, install [pdoc3](https://pdoc3.github.io/pdoc/) (`pip install pdoc3`), clone the submodules (`git submodule update --init`), and run the script `./mkdocs.sh`.\n\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/potocpav/python-concur-docs/master/screenshot.png\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotocpav%2Fpython-concur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpotocpav%2Fpython-concur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpotocpav%2Fpython-concur/lists"}