Skip to main content

dimi(-ui)

dimi is an immediate-mode user interface library designed for Python and pygame-ce using a deferred two-pass layout system. More specifically, the layout engine uses four passes to complete a UI cycle:

  • declaration pass
  • measure/arrange two-pass layout (size & position resolution)
  • render/interaction resolution pass

Element interaction is provided immediately during the declaration pass, allowing immediate application logic, but it is actually deferred from the previous frame, which is negligeable at sensible framerates.

The library supports both software rendering and the experimental pygame(-ce)._render API out of the box. It can be used to build UI-only applications or be integrated in existing applications and games.

The only supported environment is the latest version of the pygame-ce (Pygame Community Edition) library. Neither upstream pygame nor the outdated pygame._sdl2.video API are supported.

dimi is intended to be a polished and more immediate-oriented successor of mili ( limited only by a couple of layout rules required to keep the two-pass system efficient).

Installation & Import

Install the latest version thorugh PyPI or clone & install from source:

pip install dimi-ui

The import name differs from the PyPI package:

import dimi

Every feature can be accessed through the following modules:

  • dimi
  • dimi.widget
  • dimi.app
  • dimi.icon
  • dimi.typehinting

Metadata

Release files for dimi-ui 0.1.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 dimi-ui 0.1.0
File Size Uploaded Provenance Actions
dimi_ui-0.1.0.tar.gz 44.8 kB Without provenance Details for dimi_ui-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dimi-ui 0.1.0
File Interpreter ABI Platform Actions
dimi_ui-0.1.0-py3-none-any.whl Python 3 none any Details for dimi_ui-0.1.0-py3-none-any.whl

Total release size: 92.9 kB

Release files / dimi_ui-0.1.0.tar.gz

Download URL dimi_ui-0.1.0.tar.gz
Size 44.8 kB
Tags Source
SHA-256 checksum
How to use checksums
15cde0d865786049d21243c2b3293bf980b5930b52d27b252645d4d77bc6316d
BLAKE2b-256 checksum
How to use checksums
8d3dbb03f50f007e8cb352d2ba3af3de5c0f88ec5c23f0af4cba03a573dd0ef6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Release files / dimi_ui-0.1.0-py3-none-any.whl

Download URL dimi_ui-0.1.0-py3-none-any.whl
Size 48.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
547635d24aa4e2991bbeb53c09b22fec095ee57a96a23014406a486eebc492ca
BLAKE2b-256 checksum
How to use checksums
5ee8b4c6f69c264ceb21be2aaa22d9951870d35ced9cf91f1ff44cbbcc9a5d29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.2

Security for dimi-ui 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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