Skip to main content

imtypeset

Typeset text for Dear ImGui: paragraphs broken into lines the way TeX breaks them, justified and kerned, formulas written as $...$ set by a math engine, tables, columns, selection and copying, drawn through ImGui's own font atlas into your own windows.

This distribution is the Python route. It is a C++ library and a ctypes package over its C ABI, for an application that runs on the imgui-bundle wheel. The library holds no Dear ImGui of its own: it binds to the one inside the installed imgui-bundle and draws into the application's context. The C++ library, its documentation and the demo are in the repository.

One imtypeset for one imgui-bundle

A library that shares Dear ImGui's structs with another binary is built for exactly that binary. So every file here is built for one imgui-bundle version and requires it exactly, and the version says which:

imtypeset 0.4.1.192900     is imtypeset 0.4.1 for imgui-bundle 1.92.900
imtypeset 0.4.1.192801     is imtypeset 0.4.1 for imgui-bundle 1.92.801

The fourth number is the imgui-bundle version written as one number (1.92.900 is 192900). Pin both, exactly, and move them together:

imgui-bundle==1.92.900
imtypeset==0.4.1.192900
  • imtypeset==0.4.1 matches nothing: the version has four numbers.
  • imtypeset==0.4.1.* beside an exact imgui-bundle==X resolves to the build for X.
  • pip install imtypeset with nothing else pinned takes the newest line and installs the imgui-bundle it was built for, replacing another one.

import imtypeset checks the pair before it loads anything and raises ImportError with a sentence that says what to install if they do not match.

Where there are wheels

CPython imgui-bundle
Linux x86-64, glibc 2.28 or later (manylinux_2_28_x86_64) 3.11, 3.12, 3.13, 3.14 1.92.900, 1.92.801
macOS 14 or later on Apple Silicon (macosx_14_0_arm64) 3.11, 3.12, 3.13, 3.14 1.92.900, 1.92.801

Nowhere else: not Windows, not Linux on arm64 or with musl, not macOS on Intel (for which imgui-bundle has no wheel either). There is no source distribution, so on those pip finds nothing to install and says so; a package that depends on imtypeset should say so with an environment marker (docs/releasing.md has the line).

Using it

import os
import imgui_bundle
from imgui_bundle import imgui
import imtypeset as ts

imgui.create_context()  # an application has one already
imgui.get_io().backend_flags |= imgui.BackendFlags_.renderer_has_textures
ts.create_context()     # after ImGui's context, and destroyed before it
fonts = os.path.join(os.path.dirname(imgui_bundle.__file__), "assets", "fonts")
ts.add_font(ts.Face.Regular, os.path.join(fonts, "DroidSans.ttf"))
doc = ts.Document.from_blocks([ts.Block(text="Text set in lines of even colour, the way TeX sets it.")])
doc.layout(240.0)
print(ts.version(), doc.size(), doc.range_text(((0, 0), (0, 8))))
ts.destroy_context()

That runs with no window and prints 0.4.1 (240.0, 31.0) Text set. In an application the document is laid out and drawn each frame, inside a window:

doc.layout(imgui.get_content_region_avail().x)
at = imgui.get_cursor_screen_pos()
doc.draw(None, (at.x, at.y))  # None: the current window's draw list

imtypeset.host_info() says which library was loaded and how the pair was checked.

More

MIT licence. The wheel carries the notices of what the library derives from (Dear ImGui, fontTools, Unicode data) beside its own licence.

This file

A release has one file per platform and CPython, and a page shows this section from one of them.

  • imtypeset 0.4.1, built for imgui-bundle==1.92.801 (Dear ImGui 1.92.8), CPython 3.11, Darwin arm64.
  • Dear ImGui headers: fork:eb8df947f7e319de14ad383ad5c13c802d8163f6.
  • Checked: imgui-check+probe, 26 probe rows, on 2026-10-13T17:06:26Z (GitHub Actions run 38434871056 of WalterCReel3/imtypeset at e6160c0f83bbb6c7c41dba62ff0736a956ba7d9b).

Metadata

Release files for imtypeset 0.4.1.192801

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

Built distributions (wheels)

Table of built distributions (wheels) for imtypeset 0.4.1.192801
File
imtypeset-0.4.1.192801-cp314-none-manylinux_2_28_x86_64.whl CPython 3.14 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192801-cp314-none-macosx_14_0_arm64.whl CPython 3.14 none macOS 14.0+ ARM64 Details
imtypeset-0.4.1.192801-cp313-none-manylinux_2_28_x86_64.whl CPython 3.13 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192801-cp313-none-macosx_14_0_arm64.whl CPython 3.13 none macOS 14.0+ ARM64 Details
imtypeset-0.4.1.192801-cp312-none-manylinux_2_28_x86_64.whl CPython 3.12 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192801-cp312-none-macosx_14_0_arm64.whl CPython 3.12 none macOS 14.0+ ARM64 Details
imtypeset-0.4.1.192801-cp311-none-manylinux_2_28_x86_64.whl CPython 3.11 none Linux glibc 2.28+ x86-64 Details
imtypeset-0.4.1.192801-cp311-none-macosx_14_0_arm64.whl CPython 3.11 none macOS 14.0+ ARM64 Details

Total release size: 4.8 MB

Release files / imtypeset-0.4.1.192801-cp314-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192801-cp314-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c90f2d0a86ac5764b0f88ae7f9bf326c9328767089f5b32e47006219fc14995a
BLAKE2b-256 checksum
How to use checksums
4fdadf5e27aad21061b3bc1fad36fafb9376013b9482e1bf7a2271838ac020ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192801-cp314-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192801-cp314-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
d88de92a11b2f92457502c1ccc7deb0358c01ef2feec337972bb692d44910d6e
BLAKE2b-256 checksum
How to use checksums
55f4adea7db39e5dddea0c958f5d24a2b3334eb6492253d93af7f06fc7bc1e7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192801-cp313-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192801-cp313-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5d6c54727987812071d20c4f2dc8ee15ee49f07988dafe23f85b007efac6aa3e
BLAKE2b-256 checksum
How to use checksums
12774fcb0e650427b64a919aa0938e338977d8387dc775d78f83070f7f7b0285
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192801-cp313-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192801-cp313-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e5a67a2f0aa7bc96f7ea382b0f18391546d46c8c870f5180e9ce6dc56ece5667
BLAKE2b-256 checksum
How to use checksums
fa59835c5ef37477fc4538d777e69c9d7fbcceca606b524969731153c7b5a6a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192801-cp312-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192801-cp312-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
41ba8e64b4c7a9362217a82db3c484bb830af77a33ebcb02f79b486133ce3e3b
BLAKE2b-256 checksum
How to use checksums
c1eaaedb981393e7f50639c65be3ddfcac20483c3fc6507449bdaac364c876a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192801-cp312-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192801-cp312-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
3de26feab2cb23dc07327f7a415ec55d33d18712ebb766350913983b3f081a6b
BLAKE2b-256 checksum
How to use checksums
b3bb5c576c9c2bd27eb734a30b2d5f456a30e8f79323648233af0b8af81b309c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192801-cp311-none-manylinux_2_28_x86_64.whl

Download URL imtypeset-0.4.1.192801-cp311-none-manylinux_2_28_x86_64.whl
Size 612.2 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9f0c1edba6e1a84ed13704ace9c09d35f39b05c11238bcc90e4679f68f9f00ea
BLAKE2b-256 checksum
How to use checksums
817510965023ed230a90c2f12c1845c5539dd8686f282a19533ca0441f31615e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / imtypeset-0.4.1.192801-cp311-none-macosx_14_0_arm64.whl

Download URL imtypeset-0.4.1.192801-cp311-none-macosx_14_0_arm64.whl
Size 582.0 kB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
9b0e2a4833046d47830e5a0ce66fd7c34fec66155b488655ea84e23366727fcf
BLAKE2b-256 checksum
How to use checksums
66097919ee31c1d3541d5be8c5ee42d1a3cdee6c4cf7ca0349cbecd094189f29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.1.192801 This release

8 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