Concur UI Framework for Python
Project description
Python Concur
Concur is a Python GUI framework based on synchronous generators.
It is a port of Concur for Purescript, implemented on top of the Dear ImGui C++ UI library.
For introduction to core concepts, see the documentation. A more comprehensive introduction can be found in the Documentation for the Haskell/Purescript versions. This obviously uses Haskell/Purescript syntax and semantics, but many of the concepts will apply to the Python version.
Being 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 for additional widgets, or ImGui itself if you need to poke really deep.
Installation
The only dependencies are a C++ compiler, GLFW and Python >= 3.6. GLFW is included in major Linux distros, and there are pre-compiled binaries for Windows and OS X.
sudo apt install libglfw3-dev # Ubuntu
sudo pacman -S glfw # Arch
Concur can be installed using pip:
pip install concur
This command should produce a very simple GUI app:
python -c 'import concur as c; c.main(c.button("Close"))'
See the introductory tutorial to get started, or use any of the examples as a starting point for your app.
Development
For Concur development, clone the repo and install it using pip:
git clone https://github.com/potocpav/python-concur.git
cd python-concur
pip install -e.
examples/all.py # Run the examples to verify installation
To run the tests, you need PyTest and PyTest-benchmark:
pip install pytest pytest-benchmark
pytest # Run the tests
# Alternatively, run the tests slowly
SLOW_TEST=1 pytest
To build documentation, install pdoc3 (pip install pdoc3
), clone the submodules (git submodule update --init
), and run the script ./mkdocs.sh
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file concur-0.11.0.tar.gz
.
File metadata
- Download URL: concur-0.11.0.tar.gz
- Upload date:
- Size: 46.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f44720d97a9fa224fcd8827158a774a84f4f28304512ac3cd83864ae5233be8c |
|
MD5 | b525990b0e88d8d9a681670a6108fb14 |
|
BLAKE2b-256 | 146ff513d18ebd3f03b67d4838376acac6efbfc77982a3ac241554b5cf1da844 |
File details
Details for the file concur-0.11.0-py3-none-any.whl
.
File metadata
- Download URL: concur-0.11.0-py3-none-any.whl
- Upload date:
- Size: 46.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf8fcb8b4634a607324e7197813b5faa10663fdee6506da1b45f91d1883f6b7d |
|
MD5 | cac0cf22c4e7091dda973514389878ad |
|
BLAKE2b-256 | 634a258226e70ac982e01d85ae7042d18633dfa0bcea5e9b8547f25109e2a6f9 |