Skip to main content

Python Concur

Build Status PyPI version Python version

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.

Metadata

Release files for concur 0.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for concur 0.11.0
File Size Uploaded
concur-0.11.0.tar.gz 46.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for concur 0.11.0
File Interpreter ABI Platform
concur-0.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 92.7 kB

Release files / concur-0.11.0.tar.gz

Download URL concur-0.11.0.tar.gz
Size 46.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f44720d97a9fa224fcd8827158a774a84f4f28304512ac3cd83864ae5233be8c
BLAKE2b-256 checksum
How to use checksums
146ff513d18ebd3f03b67d4838376acac6efbfc77982a3ac241554b5cf1da844
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.5

Release files / concur-0.11.0-py3-none-any.whl

Download URL concur-0.11.0-py3-none-any.whl
Size 46.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf8fcb8b4634a607324e7197813b5faa10663fdee6506da1b45f91d1883f6b7d
BLAKE2b-256 checksum
How to use checksums
634a258226e70ac982e01d85ae7042d18633dfa0bcea5e9b8547f25109e2a6f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.5

Release history Release notifications | RSS feed

This release

0.11.0 This release

2 release files

0.10.0

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

1 release file

0.3.0

1 release file

0.2.5

1 release file

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page